Sha256: 8e7cb1ccf5fe7fd3000fdf1c2db57745e712ec79809bf9b69cd81079e916d43a
Contents?: true
Size: 968 Bytes
Versions: 3
Compression:
Stored size: 968 Bytes
Contents
require 'hashie' module ToNetMeApi # A mixin for classes that will resolve other classes' objects via `#method_missing`. module Resolver # A `Hashie::Mash` structure holding the name and auth_key of current instance. # @return [Hashie::Mash] def resolver @resolver ||= Hashie::Mash.new(name: @name, auth_key: auth_key) end private def create_namespace(name) Namespace.new(name, resolver: resolver) end def create_method(name) Method.new(name, resolver: resolver) end def call_method(args, &block) create_method(args.shift).call(args.first || {}, &block) end # class << self # # When this module is included, it undefines the `:send` instance method in the `base_class` # # so it can be resolved via `method_missing`. # def included(base_class) # base_class.class_eval do # undef_method :send # end # end # end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
to_net_me_api-0.7.1 | lib/to_net_me_api/resolver.rb |
to_net_me_api-0.7 | lib/to_net_me_api/resolver.rb |
to_net_me_api-0.6 | lib/to_net_me_api/resolver.rb |