Sha256: 99e8f76b3a8660af4d4386b7baa0aba00b48238679c84823ad46839d43fc45cb
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'active_support' class LHS::Item < LHS::Proxy module Update extend ActiveSupport::Concern def update(params, options = nil) update!(params, options) rescue LHC::Error => e self.errors = LHS::Problems::Errors.new(e.response, record) false end def partial_update(params, options = nil) update!(params, options, true) rescue LHC::Error => e self.errors = LHS::Problems::Errors.new(e.response, record) false end def partial_update!(params, options = nil) update!(params, options, true) end def update!(params, options = {}, partial_update = false) options ||= {} partial_record = _record.new(LHS::Data.new(params, _data.parent, _record)) _data.merge_raw!(partial_record._data) data_sent = partial_update ? partial_record._data : _data url = href || record.find_endpoint(id: id).compile(id: id) response_data = record.request( options.merge( method: options.fetch(:method, :post), url: url, body: data_sent, headers: { 'Content-Type' => 'application/json' } ) ) _data.merge_raw!(response_data.unwrap(:item_created_key)) true end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lhs-16.0.0 | lib/lhs/concerns/item/update.rb |
lhs-15.7.0 | lib/lhs/concerns/item/update.rb |