out_put 2.1.1 → 2.1.2

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
  SHA1:
3
- metadata.gz: 0fa621af6864a3226bfa1a8944da2ca54a374dce
4
- data.tar.gz: 0f9f90ed280e01bfaf85b5bb479051fc4007f86d
3
+ metadata.gz: 0e453a328154fd0f958739f27e03523228013d42
4
+ data.tar.gz: b262f49030b0fc9b0a930e5d7471b37b8bbc918a
5
5
  SHA512:
6
- metadata.gz: 3b5f222f84c0f577edde5fbf3036c83d1af7cd6fad38ca5778eb11f5b53091a275150ec8c0b397dece92f7a7e9e877228a99f90ded1aab74aa4fc45f0a0ff1e7
7
- data.tar.gz: 5cc226748d1aaeea165b1049d0ebd25ec5933fcad06d6016049b7a769ea9aea3adc0dd5f473f23a0da8a64caf36f751945c2fa0a457984d21e5f2be1264f8195
6
+ metadata.gz: d79b90d8f999543c6cc9c0b1e294b415e8d858f799ade8cba7f4f4263b807e81fac840e4061de8f46be3d4a39424d1206c354b98a4c8fd736f3da0de4d731243
7
+ data.tar.gz: 513191dd1f9e1a750300e3f3714a12bb71ce046ab88299759c6710c7ac07b875641fb03972241385d2aa83542bad49f39666452dcf5080b769e7938d4cdac27d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- out_put (2.1.1)
4
+ out_put (2.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -32,4 +32,4 @@ DEPENDENCIES
32
32
  rspec (~> 3.0)
33
33
 
34
34
  BUNDLED WITH
35
- 1.16.4
35
+ 1.16.6
data/README.md CHANGED
@@ -18,7 +18,7 @@ And then execute:
18
18
 
19
19
  ## Usage
20
20
 
21
- ### Config (it's optional)
21
+ ### 1. Config (it's optional)
22
22
 
23
23
  initializers: `out_put.rb`
24
24
 
@@ -31,7 +31,7 @@ end
31
31
 
32
32
  `project_code` (defaults to 0) + `code` will be the final code
33
33
 
34
- ### Basic
34
+ ### 2. Basic
35
35
 
36
36
  Add this line in your (base) controller:
37
37
 
@@ -53,7 +53,7 @@ output code: 0, msg: 'success'
53
53
  ok # => code: 0, message: 'success'
54
54
  ```
55
55
 
56
- ### Response `data` filed
56
+ ### 3. Response `data` filed
57
57
 
58
58
  ```ruby
59
59
  output 0, foo: 'bar', list: [ 1, 2, 3 ]
@@ -67,13 +67,13 @@ output 0, foo: 'bar', list: [ 1, 2, 3 ]
67
67
  ok_with foo: 'bar'
68
68
  ```
69
69
 
70
- ### Set HTTP status
70
+ ### 4. Set HTTP status
71
71
 
72
72
  ```ruby
73
73
  output 0, 'success', http: 200
74
74
  ```
75
75
 
76
- ### Error Response
76
+ ### 5. Error Response
77
77
 
78
78
  You don't need to pass your project code like '101', after **config**:
79
79
 
@@ -85,7 +85,7 @@ error_with 700, 'msg', foo: 'bar'
85
85
 
86
86
  `error` is an alias of `output`
87
87
 
88
- ### `output` any objects which have implemented serialization method `info`
88
+ ### 6. `output` any objects which have implemented serialization method `info`
89
89
 
90
90
  ```ruby
91
91
  BusinessError.record_not_found.info # => { code: ..., msg: ... }
@@ -95,7 +95,7 @@ output BusinessError.record_not_found
95
95
 
96
96
  [About `business_error`](https://github.com/zhandao/business_error/)
97
97
 
98
- ### Just render the given data without default format
98
+ ### 7. Just render the given data without default format
99
99
 
100
100
  ```ruby
101
101
  output only: { foo: 'bar' }
@@ -105,9 +105,9 @@ output only: { foo: 'bar' }
105
105
  output only: [ 1, 2, 3 ]
106
106
  ```
107
107
 
108
- ### Other
108
+ ### 8. Other
109
109
 
110
- #### 1. automatically set `total`:
110
+ #### 8.a automatically set `total`:
111
111
 
112
112
  if `config.pagination_for = :list`:
113
113
 
@@ -119,3 +119,12 @@ output 0, list: [ 1, 2, 3 ]
119
119
  # data: { total: 3, list: [1,2,3] }
120
120
  # }
121
121
  ```
122
+
123
+ #### 8.b use `build_with` to pass an variable `@view` to your view
124
+
125
+ ```ruby
126
+ build_with data: 'hello'
127
+
128
+ # the in your .jbuilder
129
+ json.data @view[:data]
130
+ ```
@@ -1,3 +1,3 @@
1
1
  module OutPut
2
- VERSION = '2.1.1'
2
+ VERSION = '2.1.2'
3
3
  end
data/lib/out_put.rb CHANGED
@@ -13,7 +13,7 @@ module OutPut
13
13
  msg = 'success' if msg.blank? && code.zero?
14
14
  render json: {
15
15
  result: { code: code, message: msg },
16
- data: output_data(data)
16
+ data: _output_data(data)
17
17
  }, status: http
18
18
  end
19
19
 
@@ -22,11 +22,17 @@ module OutPut
22
22
  alias error output
23
23
  alias error_with output
24
24
 
25
- def output_data(data)
25
+ def _output_data(data)
26
26
  if data.key?(Config.pagination_for)
27
- data.merge!(total: data[Config.pagination_for].size)
27
+ # TODO now is noly for AR
28
+ data.merge!(total: data[Config.pagination_for].try(:unscoped).count)
28
29
  end
29
30
 
30
31
  data
31
32
  end
33
+
34
+ def build_with(**data)
35
+ @view = data
36
+ # Then jump to your view
37
+ end
32
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: out_put
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhandao
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-14 00:00:00.000000000 Z
11
+ date: 2018-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler