Sha256: 501ca1bda9ba040c22426a3c375433bbadd58964d9a578c781e0da78739c0f2d

Contents?: true

Size: 696 Bytes

Versions: 21

Compression:

Stored size: 696 Bytes

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::Errors::Base.new(e.response, record)
      false
    end

    def update!(params, options = {})
      options ||= {}
      _data.merge_raw!(LHS::Data.new(params, _data.parent, record))
      response_data = record.request(
        options.merge(
          method: :post,
          url: href,
          body: _data.to_json,
          headers: { 'Content-Type' => 'application/json' }
        )
      )
      _data.merge_raw!(response_data)
      true
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
lhs-14.1.1 lib/lhs/concerns/item/update.rb
lhs-14.1.0 lib/lhs/concerns/item/update.rb
lhs-14.0.3 lib/lhs/concerns/item/update.rb
lhs-14.0.2 lib/lhs/concerns/item/update.rb
lhs-14.0.1 lib/lhs/concerns/item/update.rb
lhs-14.0.0 lib/lhs/concerns/item/update.rb
lhs-13.2.3 lib/lhs/concerns/item/update.rb
lhs-13.2.2 lib/lhs/concerns/item/update.rb
lhs-13.2.1 lib/lhs/concerns/item/update.rb
lhs-13.2.0 lib/lhs/concerns/item/update.rb
lhs-13.1.0 lib/lhs/concerns/item/update.rb
lhs-13.0.1 lib/lhs/concerns/item/update.rb
lhs-13.0.0 lib/lhs/concerns/item/update.rb
lhs-12.3.0 lib/lhs/concerns/item/update.rb
lhs-12.2.1 lib/lhs/concerns/item/update.rb
lhs-12.2.0 lib/lhs/concerns/item/update.rb
lhs-12.1.0 lib/lhs/concerns/item/update.rb
lhs-12.0.3 lib/lhs/concerns/item/update.rb
lhs-12.0.2 lib/lhs/concerns/item/update.rb
lhs-12.0.1 lib/lhs/concerns/item/update.rb