Class: Flowlink::ObjectBase
- Inherits:
-
Object
- Object
- Flowlink::ObjectBase
- Defined in:
- lib/flowlink_data/objectbase.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #fields ⇒ Object
-
#to_hash(*overrides) ⇒ Object
Base class for any Flowlink objects.
Class Method Details
.fields ⇒ Object
45 46 47 48 |
# File 'lib/flowlink_data/objectbase.rb', line 45 def self.fields # A list of fields that the object should have. fail NotImplementedError end |
Instance Method Details
#fields ⇒ Object
50 51 52 53 |
# File 'lib/flowlink_data/objectbase.rb', line 50 def fields # TODO: @fields ||= self.class.fields ??? self.class.fields end |
#to_hash(*overrides) ⇒ Object
Base class for any Flowlink objects. Child classes should implement self.fields internally.
35 36 37 38 39 40 41 |
# File 'lib/flowlink_data/objectbase.rb', line 35 def to_hash(*overrides) overrides = FieldMethod.multi_new(overrides) defaults = FieldMethod.multi_new(fields) f_methods = FieldMethod.merge(overrides, defaults) Hash[f_methods.map { |f| [f.method_name.to_s, send(*f.to_a)] }] end |