Fixed extlib/activesupport conflict. Seriously people, thou shalt not monkey-patch!

git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@127 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
This commit is contained in:
Bob Aman 2011-01-19 23:41:37 +00:00
parent b9dddedc96
commit 1dee705828
2 changed files with 28 additions and 5 deletions

View File

@ -15,7 +15,8 @@
require 'json' require 'json'
require 'addressable/uri' require 'addressable/uri'
require 'addressable/template' require 'addressable/template'
require 'extlib/inflection'
require 'google/inflection'
module Google module Google
class APIClient class APIClient
@ -49,13 +50,13 @@ module Google
@description = service_description @description = service_description
metaclass = (class <<self; self; end) metaclass = (class <<self; self; end)
self.resources.each do |resource| 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) if !self.respond_to?(method_name)
metaclass.send(:define_method, method_name) { resource } metaclass.send(:define_method, method_name) { resource }
end end
end end
self.methods.each do |method| 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) if !self.respond_to?(method_name)
metaclass.send(:define_method, method_name) { method } metaclass.send(:define_method, method_name) { method }
end end
@ -227,13 +228,13 @@ module Google
@description = resource_description @description = resource_description
metaclass = (class <<self; self; end) metaclass = (class <<self; self; end)
self.resources.each do |resource| 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) if !self.respond_to?(method_name)
metaclass.send(:define_method, method_name) { resource } metaclass.send(:define_method, method_name) { resource }
end end
end end
self.methods.each do |method| 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) if !self.respond_to?(method_name)
metaclass.send(:define_method, method_name) { method } metaclass.send(:define_method, method_name) { method }
end end

22
lib/google/inflection.rb Normal file
View File

@ -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