module Facile::Api::ForwardMethods
Public Class Methods
extended(base)
click to toggle source
# File lib/facile/api/forward_methods.rb, line 7 def self.extended(base) base.instance_variable_set(:@response, nil) base.instance_eval { attr_accessor :response } end
Public Instance Methods
create_delegators(class_instance)
click to toggle source
# File lib/facile/api/forward_methods.rb, line 20 def create_delegators(class_instance) if class_instance.response && class_instance.response.respond_to?(:keys) class_instance.response.keys.each do |key| class_instance.class.def_delegator :@response, key.to_sym class_instance.class.def_delegator :@response, "#{key}=".to_sym end end end
create_instance(body = nil)
click to toggle source
# File lib/facile/api/forward_methods.rb, line 12 def create_instance(body = nil) class_instance = new class_instance.response = body create_delegators(class_instance) class_instance end