Class: Neomirror::PropertyCollector

Inherits:
Object
  • Object
show all
Defined in:
lib/neomirror/property_collector.rb

Instance Method Summary collapse

Instance Method Details

#propertiesObject



2
3
4
# File 'lib/neomirror/property_collector.rb', line 2

def properties
  @properties ||= {}
end

#property(property_name, record_method_name = nil, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# 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