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)