module TelphinApi::Resolver
A mixin for classes that will resolve other classes' objects via `#method_missing`.
Private Class Methods
included(base_class)
click to toggle source
When this module is included, it undefines the `:send` instance method in the `base_class` so it can be resolved via `method_missing`.
# File lib/telphin_api/resolver.rb, line 26 def included(base_class) base_class.class_eval do undef_method :send end end
Public Instance Methods
resolver()
click to toggle source
A `Hashie::Mash` structure holding the name and token of current instance. @return [Hashie::Mash]
# File lib/telphin_api/resolver.rb, line 6 def resolver @resolver ||= Hashie::Mash.new(name: @name, token: token) end
Private Instance Methods
call_method(args, &block)
click to toggle source
# File lib/telphin_api/resolver.rb, line 19 def call_method(args, &block) create_method(args.shift).call(args.first || {}, &block) end
create_method(name)
click to toggle source
# File lib/telphin_api/resolver.rb, line 15 def create_method(name) Method.new(name, resolver: resolver) end
create_namespace(name)
click to toggle source
# File lib/telphin_api/resolver.rb, line 11 def create_namespace(name) Namespace.new(name, resolver: resolver) end