Module: JsonCrudApi::Crud
- Included in:
- API
- Defined in:
- lib/json-crud-api/crud.rb
Instance Method Summary collapse
- #crud_delete(key) ⇒ Object
- #crud_get(key) ⇒ Object
- #crud_get_all(key) ⇒ Object
- #crud_post(key) ⇒ Object
- #crud_put(key) ⇒ Object
Instance Method Details
#crud_delete(key) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/json-crud-api/crud.rb', line 46 def crud_delete(key) service = settings.services[key] presenter = settings.presenters[key] return fail_forbidden unless service. :delete return fail_not_found unless service.delete params["id"] 204 end |
#crud_get(key) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/json-crud-api/crud.rb', line 15 def crud_get(key) service = settings.services[key] presenter = settings.presenters[key] return fail_forbidden unless service. :get entity = service.get(params["id"]) return fail_not_found if entity.nil? JSON.fast_generate presenter.render(entity, :get) end |
#crud_get_all(key) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/json-crud-api/crud.rb', line 5 def crud_get_all(key) service = settings.services[key] presenter = settings.presenters[key] return fail_forbidden unless service. :get_all entities = service.get_all return fail_not_found if entities.nil? JSON.fast_generate presenter.render(entities, :get_all) end |
#crud_post(key) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/json-crud-api/crud.rb', line 25 def crud_post(key) service = settings.services[key] presenter = settings.presenters[key] return fail_forbidden unless service. :create post_data = presenter.parse @payload, :post return fail_with_errors unless service.valid_for? post_data, :create, self entity = service.create post_data JSON.fast_generate presenter.render(entity, :post) end |
#crud_put(key) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/json-crud-api/crud.rb', line 35 def crud_put(key) service = settings.services[key] presenter = settings.presenters[key] return fail_forbidden unless service. :update put_data = presenter.parse @payload, :put return fail_with_errors unless service.valid_for? put_data, :update, self return fail_not_found unless service.update params["id"], put_data entity = service.get params["id"] JSON.fast_generate presenter.render(entity, :put) end |