Sha256: 77f26d98603f5e26317b807c027fe11ea22a0cccd8c15967e1ab4f431a5d402e

Contents?: true

Size: 667 Bytes

Versions: 15

Compression:

Stored size: 667 Bytes

Contents

require 'active_support'
require File.dirname(__FILE__) + '/../../proxy'

class LHS::Item < LHS::Proxy

  module Save
    extend ActiveSupport::Concern

    def save
      save!
    rescue LHC::Error => e
      self.errors = LHS::Errors.new(e.response)
      false
    end

    def save!
      record = _data._root._record_class
      data = _data._raw.dup
      url =
        if href.present?
          href
        else
          record.find_endpoint(data).compile(data)
        end
      data = record.request(method: :post, url: url, body: data.to_json, headers: { 'Content-Type' => 'application/json' })
      _data.merge_raw!(data)
      true
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
lhs-3.3.6 lib/lhs/concerns/item/save.rb
lhs-3.3.5 lib/lhs/concerns/item/save.rb
lhs-3.3.3 lib/lhs/concerns/item/save.rb
lhs-3.3.2 lib/lhs/concerns/item/save.rb
lhs-3.3.1 lib/lhs/concerns/item/save.rb
lhs-3.3.0 lib/lhs/concerns/item/save.rb
lhs-3.2.0 lib/lhs/concerns/item/save.rb
lhs-3.1.3 lib/lhs/concerns/item/save.rb
lhs-3.1.1 lib/lhs/concerns/item/save.rb
lhs-3.1.0 lib/lhs/concerns/item/save.rb
lhs-3.0.5 lib/lhs/concerns/item/save.rb
lhs-3.0.4 lib/lhs/concerns/item/save.rb
lhs-3.0.3 lib/lhs/concerns/item/save.rb
lhs-3.0.2 lib/lhs/concerns/item/save.rb
lhs-3.0.1 lib/lhs/concerns/item/save.rb