module Sumac::ExposedObjectChild::ExtendedClassMethods
Public Instance Methods
__exposed_methods__()
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 115 def __exposed_methods__ @__exposed_methods__ ||= [] end
__key__()
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 124 def __key__ raise 'key_accessor not defined' unless @__key_accessor__ __send__(@__key_accessor__) end
__parent__()
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 119 def __parent__ raise 'parent_accessor not defined' unless @__parent_accessor__ __send__(@__parent_accessor__) end
__sumac_exposed_object__()
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 129 def __sumac_exposed_object__ end
expose(*method_names)
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 132 def expose(*method_names) raise ArgumentError, 'at least one argument expected' if method_names.empty? unless method_names.each { |method_name| method_name.is_a?(Symbol) || method_name.is_a?(String) } raise 'only symbols or strings expected' end @__exposed_methods__ ||= [] @__exposed_methods__.concat(method_names.map(&:to_s)) end
inherited(base)
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 109 def inherited(base) base.instance_variable_set(:@__exposed_methods__, @__exposed_methods__.dup) base.instance_variable_set(:@__parent_accessor__, @__parent_accessor__) base.instance_variable_set(:@__key_accessor__, @__key_accessor__) end
key_accessor(method_name = nil)
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 148 def key_accessor(method_name = nil) unless method_name.is_a?(Symbol) || method_name.is_a?(String) raise ArgumentError, "'parent_accessor' expects a method name as a string for symbol" end @__key_accessor__ = method_name.to_s end
parent_accessor(method_name = nil)
click to toggle source
# File lib/sumac/exposed_object_child.rb, line 141 def parent_accessor(method_name = nil) unless method_name.is_a?(Symbol) || method_name.is_a?(String) raise ArgumentError, "'parent_accessor' expects a method name as a string for symbol" end @__parent_accessor__ = method_name.to_s end