Sha256: af2c03481e2950f16d083f07ab3d723fc51c1430f9729428a36320d04158e641

Contents?: true

Size: 675 Bytes

Versions: 15

Compression:

Stored size: 675 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!
      service = _data._root._service
      data = _data._raw.dup
      url = if href.present?
       href
      else
        service.instance.find_endpoint(data).compile(data)
      end
      data = service.instance.request(method: :post, url: url, body: data.to_json, headers: {'Content-Type' => 'application/json'})
      self._data.merge_raw!(data)
      true
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
lhs-1.6.1 lib/lhs/concerns/item/save.rb
lhs-1.6.0 lib/lhs/concerns/item/save.rb
lhs-2.0.5 lib/lhs/concerns/item/save.rb
lhs-2.0.4 lib/lhs/concerns/item/save.rb
lhs-2.0.3 lib/lhs/concerns/item/save.rb
lhs-2.0.2 lib/lhs/concerns/item/save.rb
lhs-2.0.1 lib/lhs/concerns/item/save.rb
lhs-2.0.0 lib/lhs/concerns/item/save.rb
lhs-1.5.0 lib/lhs/concerns/item/save.rb
lhs-1.4.0 lib/lhs/concerns/item/save.rb
lhs-1.3.1 lib/lhs/concerns/item/save.rb
lhs-1.3.0 lib/lhs/concerns/item/save.rb
lhs-1.2.3 lib/lhs/concerns/item/save.rb
lhs-1.2.2 lib/lhs/concerns/item/save.rb
lhs-1.2.1 lib/lhs/concerns/item/save.rb