out_put 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
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