Module: LHS::Service::Create::ClassMethods

Defined in:
lib/lhs/concerns/service/create.rb

Instance Method Summary collapse

Instance Method Details

#create(data = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/lhs/concerns/service/create.rb', line 10

def create(data = {})
  create!(data)
  rescue LHC::Error => e
    json = JSON.parse(data.to_json)
    data = LHS::Data.new(json, nil, self.class, e.response.request)
    item = LHS::Item.new(data)
    item.errors = LHS::Errors.new(e.response)
    LHS::Data.new(item, data)
end

#create!(data = {}) ⇒ Object



20
21
22
23
# File 'lib/lhs/concerns/service/create.rb', line 20

def create!(data = {})
  url = instance.compute_url!(data)
  instance.request(url: url, method: :post, body: data.to_json, headers: {'Content-Type' => 'application/json'})
end