Module: ObjectJSONMapper::Persistence::ClassMethods

Defined in:
lib/object_json_mapper/persistence.rb

Instance Method Summary collapse

Instance Method Details

#create(params = {}) ⇒ ObjectJSONMapper::Base

Returns current model instance.

Parameters:

  • params (Hash) (defaults to: {})

Returns:



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/object_json_mapper/persistence.rb', line 75

def create(params = {})
  response = client.post(params)

  result = if response.headers[:location]
             RestClient.get(response.headers[:location], ObjectJSONMapper.headers)
           else
             response.body
           end

  persist(HTTP.parse_json(result))
rescue RestClient::ExceptionWithResponse => e
  raise e unless e.response.code == 422

  new.tap do |base|
    base.load_errors(HTTP.parse_json(e.response.body))
  end
end