Module: Sequencescape::Api::Composition
- Included in:
- Resource
- Defined in:
- lib/sequencescape-api/composition.rb
Defined Under Namespace
Modules: Target
Instance Method Summary collapse
-
#composed_of(name, options = {}) ⇒ Object
rubocop:todo Metrics/MethodLength.
Instance Method Details
#composed_of(name, options = {}) ⇒ Object
rubocop:todo Metrics/MethodLength
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/sequencescape-api/composition.rb', line 26 def composed_of(name, = {}) # rubocop:todo Metrics/MethodLength composed_class_name = [:class_name] || name line = __LINE__ + 1 class_eval(%{ def #{name} return nil unless attributes_for?(#{name.to_s.inspect}) api.model(#{composed_class_name.inspect}).new(self, attributes_for(#{name.to_s.inspect})) end def #{name}=(attributes) @_attributes_[#{name.to_s.inspect}] = attributes end }, __FILE__, line) end |