You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2011/03/21 23:46:12 UTC
svn commit: r1084003 - in /incubator/deltacloud/trunk/server: deltacloud.rb
lib/deltacloud/core_ext.rb lib/deltacloud/core_ext/
lib/deltacloud/core_ext/integer.rb lib/deltacloud/core_ext/string.rb
lib/sinatra/rabbit.rb
Author: lutter
Date: Mon Mar 21 22:46:12 2011
New Revision: 1084003
URL: http://svn.apache.org/viewvc?rev=1084003&view=rev
Log:
core_ext: move String enhancements out of rabbit; add Integer.ordinalize
It is much cleaner to keep monkey patches to stock Ruby classes in a
separate place. That place is lib/deltacloud/core_ext
Added:
incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/
incubator/deltacloud/trunk/server/lib/deltacloud/core_ext.rb
incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/integer.rb
- copied, changed from r1083758, incubator/deltacloud/trunk/server/deltacloud.rb
incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/string.rb
- copied, changed from r1083758, incubator/deltacloud/trunk/server/deltacloud.rb
Modified:
incubator/deltacloud/trunk/server/deltacloud.rb
incubator/deltacloud/trunk/server/lib/sinatra/rabbit.rb
Modified: incubator/deltacloud/trunk/server/deltacloud.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/deltacloud.rb?rev=1084003&r1=1084002&r2=1084003&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/deltacloud.rb (original)
+++ incubator/deltacloud/trunk/server/deltacloud.rb Mon Mar 21 22:46:12 2011
@@ -20,6 +20,8 @@ $:.unshift File.join(File.dirname(__FILE
require 'drivers'
+require 'deltacloud/core_ext'
+
require 'deltacloud/base_driver'
require 'deltacloud/hardware_profile'
require 'deltacloud/state_machine'
Added: incubator/deltacloud/trunk/server/lib/deltacloud/core_ext.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/core_ext.rb?rev=1084003&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/core_ext.rb (added)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/core_ext.rb Mon Mar 21 22:46:12 2011
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2011 David Lutterkort
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require 'deltacloud/core_ext/string'
+require 'deltacloud/core_ext/integer'
Copied: incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/integer.rb (from r1083758, incubator/deltacloud/trunk/server/deltacloud.rb)
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/integer.rb?p2=incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/integer.rb&p1=incubator/deltacloud/trunk/server/deltacloud.rb&r1=1083758&r2=1084003&rev=1084003&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/deltacloud.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/integer.rb Mon Mar 21 22:46:12 2011
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2009,2010 Red Hat, Inc.
+# Copyright (C) 2011 David Lutterkort
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -16,26 +16,18 @@
# License for the specific language governing permissions and limitations
# under the License.
-$:.unshift File.join(File.dirname(__FILE__), 'lib')
-
-require 'drivers'
-
-require 'deltacloud/base_driver'
-require 'deltacloud/hardware_profile'
-require 'deltacloud/state_machine'
-
-require 'deltacloud/models/base_model'
-require 'deltacloud/models/realm'
-require 'deltacloud/models/image'
-require 'deltacloud/models/instance'
-require 'deltacloud/models/key'
-require 'deltacloud/models/instance_profile'
-require 'deltacloud/models/storage_snapshot'
-require 'deltacloud/models/storage_volume'
-require 'deltacloud/models/bucket'
-require 'deltacloud/models/blob'
-require 'deltacloud/models/load_balancer'
-
-require 'deltacloud/validation'
-require 'deltacloud/helpers'
-require 'deltacloud/runner'
+class Integer
+ # Turn integers into strings +1st+, +2nd+, +3rd+ etc.
+ def ordinalize
+ if (11..13).include?(self % 100)
+ "#{self}th"
+ else
+ case self % 10
+ when 1; "#{self}st"
+ when 2; "#{self}nd"
+ when 3; "#{self}rd"
+ else "#{self}th"
+ end
+ end
+ end
+end
Copied: incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/string.rb (from r1083758, incubator/deltacloud/trunk/server/deltacloud.rb)
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/string.rb?p2=incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/string.rb&p1=incubator/deltacloud/trunk/server/deltacloud.rb&r1=1083758&r2=1084003&rev=1084003&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/deltacloud.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/core_ext/string.rb Mon Mar 21 22:46:12 2011
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2009,2010 Red Hat, Inc.
+# Copyright (C) 2011 David Lutterkort
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -16,26 +16,37 @@
# License for the specific language governing permissions and limitations
# under the License.
-$:.unshift File.join(File.dirname(__FILE__), 'lib')
+class String
+ # Rails defines this for a number of other classes, including Object
+ # see activesupport/lib/active_support/core_ext/object/blank.rb
+ def blank?
+ self !~ /\S/
+ end
-require 'drivers'
+ # Title case.
+ #
+ # "this is a string".titlecase
+ # => "This Is A String"
+ #
+ # CREDIT: Eliazar Parra
+ # Copied from facets
+ def titlecase
+ gsub(/\b\w/){ $`[-1,1] == "'" ? $& : $&.upcase }
+ end
-require 'deltacloud/base_driver'
-require 'deltacloud/hardware_profile'
-require 'deltacloud/state_machine'
+ def pluralize
+ self + "s"
+ end
-require 'deltacloud/models/base_model'
-require 'deltacloud/models/realm'
-require 'deltacloud/models/image'
-require 'deltacloud/models/instance'
-require 'deltacloud/models/key'
-require 'deltacloud/models/instance_profile'
-require 'deltacloud/models/storage_snapshot'
-require 'deltacloud/models/storage_volume'
-require 'deltacloud/models/bucket'
-require 'deltacloud/models/blob'
-require 'deltacloud/models/load_balancer'
+ def singularize
+ self.gsub(/s$/, '')
+ end
-require 'deltacloud/validation'
-require 'deltacloud/helpers'
-require 'deltacloud/runner'
+ def underscore
+ gsub(/::/, '/').
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
+ tr("-", "_").
+ downcase
+ end
+end
Modified: incubator/deltacloud/trunk/server/lib/sinatra/rabbit.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/sinatra/rabbit.rb?rev=1084003&r1=1084002&r2=1084003&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/sinatra/rabbit.rb (original)
+++ incubator/deltacloud/trunk/server/lib/sinatra/rabbit.rb Mon Mar 21 22:46:12 2011
@@ -312,41 +312,6 @@ module Sinatra
helpers RabbitHelper
end
-class String
- # Rails defines this for a number of other classes, including Object
- # see activesupport/lib/active_support/core_ext/object/blank.rb
- def blank?
- self !~ /\S/
- end
-
- # Title case.
- #
- # "this is a string".titlecase
- # => "This Is A String"
- #
- # CREDIT: Eliazar Parra
- # Copied from facets
- def titlecase
- gsub(/\b\w/){ $`[-1,1] == "'" ? $& : $&.upcase }
- end
-
- def pluralize
- self + "s"
- end
-
- def singularize
- self.gsub(/s$/, '')
- end
-
- def underscore
- gsub(/::/, '/').
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
- tr("-", "_").
- downcase
- end
-end
-
configure do
class << Sinatra::Base
def options(path, opts={}, &block)