Class: MagicPipe::Loaders::SimpleActiveRecord
- Inherits:
-
Object
- Object
- MagicPipe::Loaders::SimpleActiveRecord
- Defined in:
- lib/magic_pipe/loaders/simple_active_record.rb
Instance Attribute Summary collapse
-
#record ⇒ Object
readonly
Returns the value of attribute record.
Class Method Summary collapse
Instance Method Summary collapse
- #decompose ⇒ Object
-
#initialize(record, wrapper = nil) ⇒ SimpleActiveRecord
constructor
A new instance of SimpleActiveRecord.
Constructor Details
#initialize(record, wrapper = nil) ⇒ SimpleActiveRecord
Returns a new instance of SimpleActiveRecord.
4 5 6 7 |
# File 'lib/magic_pipe/loaders/simple_active_record.rb', line 4 def initialize(record, wrapper=nil) @record = record @wrapper = wrapper end |
Instance Attribute Details
#record ⇒ Object (readonly)
Returns the value of attribute record.
9 10 11 |
# File 'lib/magic_pipe/loaders/simple_active_record.rb', line 9 def record @record end |
Class Method Details
.load(decomposed_data) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/magic_pipe/loaders/simple_active_record.rb', line 21 def load(decomposed_data) input = symbolize_keys(decomposed_data) record_klass_name = input[:klass] record_id = input[:id] wrapper_klass_name = input[:wrapper] record_klass = load_constant!(record_klass_name, "ActiveRecord model") record = record_klass.find(record_id) # let it raise ActiveRecord::RecordNotFound if wrapper_klass_name wrapper_klass = load_constant!(wrapper_klass_name, "object serializer") wrapper_klass.new(record) else record end end |
Instance Method Details
#decompose ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/magic_pipe/loaders/simple_active_record.rb', line 11 def decompose { klass: @record.class.to_s, id: @record.id, wrapper: (@wrapper && @wrapper.to_s), } end |