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