Module: Kiik::Rest::Create::ClassMethods

Defined in:
lib/kiik/rest/create.rb

Instance Method Summary collapse

Instance Method Details

#create(params = {}) ⇒ Object



21
22
23
24
25
# File 'lib/kiik/rest/create.rb', line 21

def create(params={})
  result = request_create(params)
  raise result if result.instance_of? StandardError
  result
end

#create!(params = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/kiik/rest/create.rb', line 11

def create!(params={})
  begin
    create(params)
  rescue KiikError => e
    build(params, e)
  rescue StandardError => e
    e
  end
end

#request_create(params) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/kiik/rest/create.rb', line 27

def request_create(params)
  options = opts.merge!(body: JSON.generate(params))
  response = post(url, options)
  case response.code
  when 200
    build(JSON.parse(response.body))
  when 402
    result = KiikError.new
    result.errors << ({attr: 'status', message: 'recused'})
    build(JSON.parse(response.body), result)
  when 422
    KiikError.new(JSON.parse(response.body))
  else
    StandardError.new(response.message)
  end
end