module Sumac::ExposedObjectChild::IncludedInstanceMethods

Public Instance Methods

__exposed_methods__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 55
def __exposed_methods__
  @__exposed_methods__ ||= []
  @__exposed_methods__ + self.class.__exposed_methods__
end
__key__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 69
def __key__
  raise 'key_accessor not defined' unless __key_accessor__
  __send__(__key_accessor__)
end
__key_accessor__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 74
def __key_accessor__
  @__key_accessor__ || self.class.__key_accessor__
end
__parent__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 60
def __parent__
  raise 'parent_accessor not defined' unless __parent_accessor__
  __send__(__parent_accessor__)
end
__parent_accessor__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 65
def __parent_accessor__
  @__parent_accessor__ || self.class.__parent_accessor__
end
__sumac_exposed_object__() click to toggle source
# File lib/sumac/exposed_object_child.rb, line 78
def __sumac_exposed_object__
end
expose(*method_names) click to toggle source
# File lib/sumac/exposed_object_child.rb, line 81
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
key_accessor(method_name = nil) click to toggle source
# File lib/sumac/exposed_object_child.rb, line 97
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 90
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