class Neomirror::PropertyCollector
Public Class Methods
new(&block)
click to toggle source
# File lib/neomirror/property_collector.rb, line 20 def initialize(&block) return unless block_given? if block.arity == 0 self.instance_eval(&block) else block.call(self) end end
Public Instance Methods
properties()
click to toggle source
# File lib/neomirror/property_collector.rb, line 2 def properties @properties ||= {} end
property(property_name, record_method_name = nil, &block)
click to toggle source
# File lib/neomirror/property_collector.rb, line 6 def property(property_name, record_method_name = nil, &block) if record_method_name && block_given? raise ArgumentError, "For property provide record's method name or block (or proc)" elsif block_given? properties[property_name.to_sym] = block else record_method_name ||= property_name record_method_name = record_method_name.to_sym if record_method_name.is_a?(String) properties[property_name.to_sym] = record_method_name.to_proc end end