Method: ConcurrentPipeline::Store#update
- Defined in:
- lib/concurrent_pipeline/store.rb
#update(record, **attrs) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/concurrent_pipeline/store.rb', line 45 def update(record, **attrs) ensure_writable # Create a temporary record to apply and validate setter methods temp_record = record.class.new(record.attributes) # Apply attributes using setter methods (will raise NoMethodError if attribute doesn't exist) attrs.each do |key, value| temp_record.public_send("#{key}=", value) end storage.update( name: record.class.record_name, id: record.id, attrs: temp_record.attributes ) nil end |