api_responser 1.0.0.7 → 1.0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4484107207909cd242e10f3483f878e621df6558f6ad97e80b83b44d28d52b0b
4
- data.tar.gz: 1860d8aec6d6558e1881c8e0039f26104d73694ede11659f0066b93c3243fd33
3
+ metadata.gz: adee3e3b70fb9ad9b4848000ade2e3e920119d0497ab3d427456016ca1c4e6a4
4
+ data.tar.gz: 18df245fb706daad93eb2130a6a4472d3686f6c3df167ba80e25f8a0d60e9838
5
5
  SHA512:
6
- metadata.gz: 5eff7cc35cd335a7e9f18bb8af57714b75894dbafe7fd01b91b1d62acae8d4a1e321e45583d397903d49db533a24bdb9e37e21ea366b358235dbd561e398292d
7
- data.tar.gz: 3c49b09f092a9538e5311f80f236964ee42d795ee326443f7effb8bddcd94a2ef3c5bffc00ba81c49f5085b6347d082427d8d77aef1737d067d942cc5c69ce25
6
+ metadata.gz: 1bf274f302575673ef57194ffca8bf312ebbcaa7411cd3ba12c846275fbc30884b34b33f2de024884f95641d40d4f0426eaf4162726b20f1e5a125c424ab3126
7
+ data.tar.gz: 302d3c281bc263de67aa3d477b843f4ed7e473526f057cb92488aae5519124a43ff34dc175050276174d03ad8b39b05e83a2f50bacdbbb1c4e028f7347e70d60
@@ -1 +1 @@
1
- {"status":"error","code":<%= @code %>,"message":"<%= @message %>"}
1
+ {"data": {"status":"error","code":<%= @code %>,"message":"<%= @message %>"}}
@@ -1 +1 @@
1
- {"status":"success","code":<%= @code %>,"message":"<%= @message %>","records":<%= @records.to_json %>,"records_count":<%= @records_count %>}
1
+ {"data": {"status":"success","code":<%= @code %>,"message":"<%= @message %>","records":<%= @records.to_json %>,"records_count":<%= @records_count %>}}
data/lib/api_responser.rb CHANGED
@@ -11,16 +11,28 @@ module ApiResponser
11
11
  success_render(code: 200, message: i18n_message(__method__, status:"success"), records: records)
12
12
  end
13
13
 
14
- def record_created
15
- api_success(code: 201)
14
+ def record_created(records = nil)
15
+ if records.nil?
16
+ api_success(code: 201)
17
+ else
18
+ success_render(code: 201, message: i18n_message(__method__, status:"success"), records: records)
19
+ end
16
20
  end
17
21
 
18
- def record_updated
19
- api_success(code: 204)
22
+ def record_updated(records = nil)
23
+ if records.nil?
24
+ api_success(code: 204)
25
+ else
26
+ success_render(code: 204, message: i18n_message(__method__, status:"success"), records: records)
27
+ end
20
28
  end
21
29
 
22
- def record_deleted
23
- api_success(code: 204)
30
+ def record_deleted(records = nil)
31
+ if records.nil?
32
+ api_success(code: 204)
33
+ else
34
+ success_render(code: 204, message: i18n_message(__method__, status:"success"), records: records)
35
+ end
24
36
  end
25
37
 
26
38
  # Error responses
@@ -48,8 +60,8 @@ module ApiResponser
48
60
  error_render(code: 400, message: i18n_message(__method__, status:"error"), debug_message: debug_message, report:report)
49
61
  end
50
62
 
51
- def unauthorized(debug_message = "", report:false)
52
- error_render(code: 401, message: i18n_message(__method__, status:"error"), debug_message: debug_message, report:report)
63
+ def unauthorized(debug_message = "", message: nil,report:false)
64
+ error_render(code: 401, message: message.nil? ? i18n_message(__method__, status:"error") : message, debug_message: debug_message, report:report)
53
65
  end
54
66
 
55
67
  def forbidden(debug_message = "", report:false)
@@ -105,7 +117,7 @@ module ApiResponser
105
117
  @message = message
106
118
  @records = records
107
119
  @records_count = determine_records_count(records, records_count)
108
- {json:ERB.new(file_read("success")).result(binding), status: code}
120
+ {json: ERB.new(file_read("success")).result(binding), status: code}
109
121
  end
110
122
 
111
123
  def error_render(code: 500, message: "", debug_message: "", report: false)
data/readme.md CHANGED
@@ -122,12 +122,13 @@ def record_not_deleted(message, debug_message = "", report:false)
122
122
  The *debug_message* argument is optional.\
123
123
  The *report* argument is optional and is useful if you would like to handle *debug_message*.\
124
124
  The *debug_message* is useful for providing the real reason for the error (if *report* is **true**).
125
+ The *message* argument is optional and is useful if you would like to provide your custom message. For example "Incorrect login or password"
125
126
 
126
127
  ```ruby
127
128
  def bad_request(debug_message = "", report:false)
128
129
  ```
129
130
  ```ruby
130
- def unauthorized(debug_message = "", report:false)
131
+ def unauthorized(debug_message = "", message:nil, report:false)
131
132
  ```
132
133
  ```ruby
133
134
  def forbidden(debug_message = "", report:false)
@@ -144,7 +145,7 @@ Templates should be located in **app/views/api_responser/**
144
145
  The default templates are:
145
146
  #### success.json.erb
146
147
  ``` ruby
147
- {
148
+ "data":{
148
149
  "status": "success",
149
150
  "code": <%= @code %>,
150
151
  "message": "<%= @message %>",
@@ -154,7 +155,7 @@ The default templates are:
154
155
  ```
155
156
  #### error.json.erb
156
157
  ``` ruby
157
- {
158
+ "data":{
158
159
  "status": "error",
159
160
  "code": <%= @code %>,
160
161
  "message": "<%= @message %>"
@@ -165,7 +166,7 @@ The default templates are:
165
166
  The gem provides a default error handler in **ApiResponserHelper**:
166
167
  ``` ruby
167
168
  module ApiResponserHelper
168
- def error_handling(code: nil, debug_message: nil, message: nil)
169
+ def self.error_handling(code: nil, debug_message: nil, message: nil)
169
170
  Logger.new(STDOUT).fatal("Error with code #{code}. Debug message: #{debug_message}. Message: #{message}")
170
171
  end
171
172
  end
@@ -183,8 +184,13 @@ Default localization located in config/locale/en.yml
183
184
 
184
185
  ## Example
185
186
  ```ruby
187
+
186
188
  class ApplicationController < ActionController::Base
189
+ #include ApiResponser in ApplicationController
187
190
  include ApiResponser
191
+ end
192
+
193
+ class SomeController < ApplicationController
188
194
  before_action do
189
195
  set_model_variable("ModelName")
190
196
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_responser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.7
4
+ version: 1.0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nazim Mehdiyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-17 00:00:00.000000000 Z
11
+ date: 2024-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails