Fixed extlib/activesupport conflict. Seriously people, thou shalt not monkey-patch!
authorBob Aman <bobaman@google.com>
Wed, 19 Jan 2011 23:41:37 +0000 (23:41 +0000)
committerBob Aman <bobaman@google.com>
Wed, 19 Jan 2011 23:41:37 +0000 (23:41 +0000)
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@127 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef

lib/google/api_client/discovery.rb
lib/google/inflection.rb [new file with mode: 0644]

index 9d8045e1e523f4207b1932fb33945845eb71a6a1..192c3e9245e06fda016b89aa6ddd4368d00f63fc 100644 (file)
@@ -15,7 +15,8 @@
 require 'json'
 require 'addressable/uri'
 require 'addressable/template'
-require 'extlib/inflection'
+
+require 'google/inflection'
 
 module Google
   class APIClient
@@ -49,13 +50,13 @@ module Google
         @description = service_description
         metaclass = (class <<self; self; end)
         self.resources.each do |resource|
-          method_name = Extlib::Inflection.underscore(resource.name).to_sym
+          method_name = Google::INFLECTOR.underscore(resource.name).to_sym
           if !self.respond_to?(method_name)
             metaclass.send(:define_method, method_name) { resource }
           end
         end
         self.methods.each do |method|
-          method_name = Extlib::Inflection.underscore(method.name).to_sym
+          method_name = Google::INFLECTOR.underscore(method.name).to_sym
           if !self.respond_to?(method_name)
             metaclass.send(:define_method, method_name) { method }
           end
@@ -227,13 +228,13 @@ module Google
         @description = resource_description
         metaclass = (class <<self; self; end)
         self.resources.each do |resource|
-          method_name = Extlib::Inflection.underscore(resource.name).to_sym
+          method_name = Google::INFLECTOR.underscore(resource.name).to_sym
           if !self.respond_to?(method_name)
             metaclass.send(:define_method, method_name) { resource }
           end
         end
         self.methods.each do |method|
-          method_name = Extlib::Inflection.underscore(method.name).to_sym
+          method_name = Google::INFLECTOR.underscore(method.name).to_sym
           if !self.respond_to?(method_name)
             metaclass.send(:define_method, method_name) { method }
           end
diff --git a/lib/google/inflection.rb b/lib/google/inflection.rb
new file mode 100644 (file)
index 0000000..0724e2c
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright 2010 Google Inc.
+#
+# Licensed 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.
+
+module Google
+  if defined?(ActiveSupport::Inflector)
+    INFLECTOR = ActiveSupport::Inflector
+  else
+    require 'extlib/inflection'
+    INFLECTOR = Extlib::Inflection
+  end
+end