Module: SimpleRepresenter::Definable::ClassMethods

Defined in:
lib/simple_representer/definable.rb

Instance Method Summary collapse

Instance Method Details

#computed(field, **options) ⇒ Object



17
18
19
# File 'lib/simple_representer/definable.rb', line 17

def computed(field, **options)
  definitions << Computed.new(field, default_options.merge(options))
end

#default_optionsObject



29
30
31
# File 'lib/simple_representer/definable.rb', line 29

def default_options
  @default_options ||= {}
end

#defaults(**options) ⇒ Object



21
22
23
# File 'lib/simple_representer/definable.rb', line 21

def defaults(**options)
  default_options.merge!(options)
end

#definitionsObject



25
26
27
# File 'lib/simple_representer/definable.rb', line 25

def definitions
  @definitions ||= []
end

#inherited(subclass) ⇒ Object



33
34
35
36
37
# File 'lib/simple_representer/definable.rb', line 33

def inherited(subclass)
  super
  subclass.instance_variable_set('@definitions', instance_variable_get('@definitions').clone)
  subclass.instance_variable_set('@default_options', instance_variable_get('@default_options').clone)
end

#property(field, **options) ⇒ Object



13
14
15
# File 'lib/simple_representer/definable.rb', line 13

def property(field, **options)
  definitions << Property.new(field, default_options.merge(options))
end