Sha256: a4dd2ac9bccdd3388b1fe04897c41ad33251df53b0f181e48dc69f500ce88127
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require 'activeresource' require 'digest/md5' module OAuthActiveResource # TODO check if klass has ancestor OAuthActiveResource def self.register(add_to_module, model_module, options = {}) oauth_connection = options[:access_token] site = options[:site] mod = Module.new do model_module.constants.each do |klass| # TODO check if klass.is_a OAuthActiveResource sub = Class.new(model_module.const_get(klass)) do self.site = site @oauth_connection = oauth_connection end const_set(klass, sub) end def self.method_missing(name,*args) self.const_get(name) rescue super(name,*args) end end # Obscure (=Hash) token+secret, b/c it should stay one if oauth_connection.nil? dynamic_module_name = "AnonymousConsumer" else hash = Digest::MD5.hexdigest("#{oauth_connection.token}#{oauth_connection.secret}") dynamic_module_name = "OAuthConsumer#{hash}" end add_to_module.const_set(dynamic_module_name, mod) return mod end end require 'oauth_active_resource/connection' require 'oauth_active_resource/resource' require 'oauth_active_resource/collection'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jwagener-oauth-active-resource-0.1.0 | lib/oauth_active_resource.rb |