class NoMoss::RoleApi
Public Instance Methods
api_methods()
click to toggle source
# File lib/no_moss/role_api.rb, line 5 def api_methods _api_methods.dup end
methods_missing_from(object)
click to toggle source
# File lib/no_moss/role_api.rb, line 9 def methods_missing_from(object) _api_methods.reject{|m| object.respond_to?(m) } end
restrict(object)
click to toggle source
# File lib/no_moss/role_api.rb, line 13 def restrict(object) proxy_class.new(object) end
Private Instance Methods
_api_methods()
click to toggle source
# File lib/no_moss/role_api.rb, line 23 def _api_methods @api_methods ||= [] end
implements(*args)
click to toggle source
# File lib/no_moss/role_api.rb, line 19 def implements(*args) _api_methods.concat args end
proxy_class()
click to toggle source
# File lib/no_moss/role_api.rb, line 43 def proxy_class @proxy_class ||= begin klass = Class.new(AbstractProxy) klass.def_delegators :@object, *api_methods const_set :Proxy, klass klass end end