rabl 0.8.6 → 0.9.0.pre

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.
Files changed (78) hide show
  1. checksums.yaml +15 -0
  2. data/.travis.yml +0 -3
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +1 -2
  5. data/Gemfile.ci +0 -1
  6. data/README.md +1 -0
  7. data/Rakefile +1 -1
  8. data/fixtures/rails2/config/environment.rb +22 -0
  9. data/fixtures/rails4/.gitignore +16 -0
  10. data/fixtures/rails4/Gemfile +47 -0
  11. data/fixtures/rails4/README.rdoc +28 -0
  12. data/fixtures/rails4/Rakefile +11 -0
  13. data/fixtures/rails4/app/assets/javascripts/application.js +16 -0
  14. data/fixtures/rails4/app/assets/stylesheets/application.css +13 -0
  15. data/fixtures/rails4/app/controllers/application_controller.rb +5 -0
  16. data/fixtures/rails4/app/controllers/concerns/.keep +0 -0
  17. data/fixtures/rails4/app/controllers/posts_controller.rb +11 -0
  18. data/fixtures/rails4/app/controllers/users_controller.rb +11 -0
  19. data/fixtures/rails4/app/helpers/application_helper.rb +5 -0
  20. data/fixtures/rails4/app/mailers/.keep +0 -0
  21. data/fixtures/rails4/bin/bundle +3 -0
  22. data/fixtures/rails4/bin/rails +4 -0
  23. data/fixtures/rails4/bin/rake +4 -0
  24. data/fixtures/rails4/config.ru +4 -0
  25. data/fixtures/rails4/config/application.rb +23 -0
  26. data/fixtures/rails4/config/boot.rb +4 -0
  27. data/fixtures/rails4/config/database.yml +25 -0
  28. data/fixtures/rails4/config/environment.rb +5 -0
  29. data/fixtures/rails4/config/environments/development.rb +29 -0
  30. data/fixtures/rails4/config/environments/production.rb +80 -0
  31. data/fixtures/rails4/config/environments/test.rb +36 -0
  32. data/fixtures/rails4/config/initializers/backtrace_silencers.rb +7 -0
  33. data/fixtures/rails4/config/initializers/filter_parameter_logging.rb +4 -0
  34. data/fixtures/rails4/config/initializers/inflections.rb +16 -0
  35. data/fixtures/rails4/config/initializers/mime_types.rb +7 -0
  36. data/fixtures/rails4/config/initializers/secret_token.rb +12 -0
  37. data/fixtures/rails4/config/initializers/session_store.rb +3 -0
  38. data/fixtures/rails4/config/initializers/wrap_parameters.rb +14 -0
  39. data/fixtures/rails4/config/locales/en.yml +23 -0
  40. data/fixtures/rails4/config/routes.rb +51 -0
  41. data/fixtures/rails4/db/seeds.rb +7 -0
  42. data/fixtures/rails4/lib/assets/.keep +0 -0
  43. data/fixtures/rails4/lib/tasks/.keep +0 -0
  44. data/fixtures/rails4/log/.keep +0 -0
  45. data/fixtures/rails4/public/404.html +58 -0
  46. data/fixtures/rails4/public/422.html +58 -0
  47. data/fixtures/rails4/public/500.html +57 -0
  48. data/fixtures/rails4/public/favicon.ico +0 -0
  49. data/fixtures/rails4/public/robots.txt +5 -0
  50. data/fixtures/rails4/test/controllers/.keep +0 -0
  51. data/fixtures/rails4/test/fixtures/.keep +0 -0
  52. data/fixtures/rails4/test/functional/posts_controller_test.rb +232 -0
  53. data/fixtures/rails4/test/functional/users_controller_test.rb +87 -0
  54. data/fixtures/rails4/test/helpers/.keep +0 -0
  55. data/fixtures/rails4/test/integration/.keep +0 -0
  56. data/fixtures/rails4/test/mailers/.keep +0 -0
  57. data/fixtures/rails4/test/models/.keep +0 -0
  58. data/fixtures/rails4/test/test_helper.rb +26 -0
  59. data/fixtures/rails4/vendor/assets/javascripts/.keep +0 -0
  60. data/fixtures/rails4/vendor/assets/stylesheets/.keep +0 -0
  61. data/lib/rabl.rb +6 -1
  62. data/lib/rabl/builder.rb +3 -1
  63. data/lib/rabl/digestor.rb +21 -0
  64. data/lib/rabl/engine.rb +20 -2
  65. data/lib/rabl/helpers.rb +7 -1
  66. data/lib/rabl/railtie.rb +6 -0
  67. data/lib/rabl/template.rb +1 -1
  68. data/lib/rabl/tracker.rb +53 -0
  69. data/lib/rabl/version.rb +1 -1
  70. data/rabl.gemspec +6 -1
  71. data/test/engine_test.rb +23 -0
  72. data/test/helpers_test.rb +6 -0
  73. data/test/integration/rails4/posts_controller_test.rb +232 -0
  74. data/test/integration/rails4/users_controller_test.rb +87 -0
  75. data/test/msgpack_engine_test.rb +50 -49
  76. data/test/renderer_test.rb +2 -2
  77. data/test/teststrap.rb +6 -2
  78. metadata +65 -33
@@ -0,0 +1,87 @@
1
+ # Lives in <rabl>/test/integration/users_controller_test.rb
2
+ # Symlinked to fixture applications
3
+
4
+ begin # Sinatra
5
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_config.rb')
6
+ rescue LoadError # Rails
7
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
8
+ end
9
+
10
+ context "UsersController" do
11
+ helper(:json_output) { JSON.parse(last_response.body) }
12
+
13
+ setup do
14
+ create_users!
15
+ end
16
+
17
+ context "for index action" do
18
+ # Tests `collection @users` extending from 'show' template
19
+
20
+ setup do
21
+ get "/users", format: :json
22
+ end
23
+
24
+ # Attributes (regular)
25
+ asserts("contains user usernames") do
26
+ json_output.map { |u| u["user"]["username"] }
27
+ end.equals { @users.map(&:username) }
28
+ asserts("contains email") do
29
+ json_output.map { |u| u["user"]["email"] }
30
+ end.equals { @users.map(&:email) }
31
+ asserts("contains location") do
32
+ json_output.map { |u| u["user"]["location"] }
33
+ end.equals { @users.map(&:location) }
34
+
35
+ # Attributes (custom name)
36
+ asserts("contains registered_at") do
37
+ json_output.map { |u| u["user"]["registered_at"] }
38
+ end.equals { @users.map(&:created_at).map(&:utc).map(&:to_s) }
39
+
40
+ # Node (renders based on attribute)
41
+ asserts("contains role") do
42
+ json_output.map { |u| u["user"]["role"] }
43
+ end.equals ['normal', 'normal', 'admin']
44
+
45
+ # Child (custom collection name)
46
+ asserts("contains formatted phone numbers") do
47
+ json_output.map { |u| u["user"]["pnumbers"].map { |n| n["pnumber"]["formatted"] } }
48
+ end.equals { @users.map { |u| u.phone_numbers.map(&:formatted) } }
49
+
50
+ # Node (renders collection partial)
51
+ asserts("contains reversed node numbers") do
52
+ json_output.map { |u| u["user"]["node_numbers"].map { |n| n["reversed"] } }
53
+ end.equals { @users.map { |u| u.phone_numbers.map(&:formatted).map(&:reverse) } }
54
+ end # index
55
+
56
+ context "for show action" do
57
+ # Tests `object :user => :person` custom parent node name
58
+ setup do
59
+ get "/users/#{@user1.id}", format: :json
60
+ end
61
+
62
+ # Attributes (regular)
63
+ asserts("contains username") { json_output["person"]["username"] }.equals { @user1.username }
64
+ asserts("contains email") { json_output["person"]["email"] }.equals { @user1.email }
65
+ asserts("contains location") { json_output["person"]["location"] }.equals { @user1.location }
66
+ # Attributes (custom name)
67
+ asserts("contains registered_at") { json_output["person"]["registered_at"] }.equals { @user1.created_at.utc.to_s }
68
+ # Node (renders based on attribute)
69
+ asserts("contains role node") { json_output["person"]["role"] }.equals "normal"
70
+
71
+ # Child (custom collection name)
72
+ asserts("contains first phone number") {
73
+ json_output["person"]["pnumbers"][0]["pnumber"]["formatted"]
74
+ }.equals { @user1.phone_numbers[0].formatted }
75
+ asserts("contains second phone number") {
76
+ json_output["person"]["pnumbers"][1]["pnumber"]["formatted"]
77
+ }.equals { @user1.phone_numbers[1].formatted }
78
+
79
+ # Node (renders collection partial)
80
+ asserts("contains first node number") {
81
+ json_output["person"]["node_numbers"][0]["formatted"]
82
+ }.equals { @user1.phone_numbers[0].formatted }
83
+ asserts("contains second node number") {
84
+ json_output["person"]["node_numbers"][1]["formatted"]
85
+ }.equals { @user1.phone_numbers[1].formatted }
86
+ end # show
87
+ end
@@ -1,3 +1,5 @@
1
+ # encoding: iso-8859-1
2
+
1
3
  require File.expand_path('../teststrap', __FILE__)
2
4
  require 'rabl/template'
3
5
 
@@ -19,8 +21,8 @@ context "Rabl::Engine" do
19
21
  }
20
22
  scope = Object.new
21
23
  scope.instance_variable_set :@user, User.new
22
- template.render(scope)
23
- end.matches "\x81\xA4user\x80"
24
+ char_split template.render(scope)
25
+ end.equals char_split("\x81\xA4user\x80")
24
26
 
25
27
  asserts "that it can set root node" do
26
28
  template = rabl %q{
@@ -28,8 +30,8 @@ context "Rabl::Engine" do
28
30
  }
29
31
  scope = Object.new
30
32
  scope.instance_variable_set :@user, User.new
31
- template.render(scope).split("").sort
32
- end.equals "\x81\xA6person\x80".split("").sort
33
+ char_split template.render(scope)
34
+ end.equals char_split("\x81\xA6person\x80")
33
35
  end
34
36
 
35
37
  context "#collection" do
@@ -39,8 +41,8 @@ context "Rabl::Engine" do
39
41
  }
40
42
  scope = Object.new
41
43
  scope.instance_variable_set :@users, [User.new, User.new]
42
- template.render(scope).split("").sort
43
- end.equals "\x92\x81\xA4user\x80\x81\xA4user\x80".split("").sort
44
+ char_split template.render(scope)
45
+ end.equals char_split("\x92\x81\xA4user\x80\x81\xA4user\x80")
44
46
 
45
47
  asserts "that it sets root node for objects" do
46
48
  template = rabl %{
@@ -48,8 +50,8 @@ context "Rabl::Engine" do
48
50
  }
49
51
  scope = Object.new
50
52
  scope.instance_variable_set :@users, [User.new, User.new]
51
- template.render(scope).split("").sort
52
- end.equals "\x81\xA6person\x92\x81\xA6person\x80\x81\xA6person\x80".split("").sort
53
+ char_split template.render(scope)
54
+ end.equals char_split("\x81\xA6person\x92\x81\xA6person\x80\x81\xA6person\x80")
53
55
  end
54
56
 
55
57
  context "#attribute" do
@@ -60,8 +62,8 @@ context "Rabl::Engine" do
60
62
  }
61
63
  scope = Object.new
62
64
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
63
- template.render(scope).split("").sort
64
- end.equals "\x81\xA4user\x81\xA4name\xA6irvine".split("").sort
65
+ char_split template.render(scope)
66
+ end.equals char_split("\x81\xA4user\x81\xA4name\xA6irvine")
65
67
 
66
68
  asserts "that it can add attribute under a different key name through :as" do
67
69
  template = rabl %{
@@ -70,8 +72,8 @@ context "Rabl::Engine" do
70
72
  }
71
73
  scope = Object.new
72
74
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
73
- template.render(scope).split("").sort
74
- end.equals "\x81\xA4user\x81\xA4city\xA6irvine".split("").sort
75
+ char_split template.render(scope)
76
+ end.equals char_split("\x81\xA4user\x81\xA4city\xA6irvine")
75
77
 
76
78
  asserts "that it can add attribute under a different key name through hash" do
77
79
  template = rabl %{
@@ -80,8 +82,8 @@ context "Rabl::Engine" do
80
82
  }
81
83
  scope = Object.new
82
84
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
83
- template.render(scope).split("").sort
84
- end.equals "\x81\xA4user\x81\xA4city\xA6irvine".split("").sort
85
+ char_split template.render(scope)
86
+ end.equals char_split("\x81\xA4user\x81\xA4city\xA6irvine")
85
87
  end
86
88
 
87
89
  context "#code" do
@@ -89,15 +91,15 @@ context "Rabl::Engine" do
89
91
  template = rabl %{
90
92
  code(:foo) { 'bar' }
91
93
  }
92
- template.render(Object.new).split("").sort
93
- end.equals "\x81\xA3foo\xA3bar".split("").sort
94
+ char_split template.render(Object.new)
95
+ end.equals char_split("\x81\xA3foo\xA3bar")
94
96
 
95
97
  asserts "that it can be passed conditionals" do
96
98
  template = rabl %{
97
99
  code(:foo, :if => lambda { |i| false }) { 'bar' }
98
100
  }
99
- template.render(Object.new).split("").sort
100
- end.equals "\x80".split("").sort
101
+ char_split template.render(Object.new)
102
+ end.equals char_split("\x80")
101
103
  end
102
104
 
103
105
  context "#child" do
@@ -109,8 +111,8 @@ context "Rabl::Engine" do
109
111
  }
110
112
  scope = Object.new
111
113
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
112
- template.render(scope).split("").sort
113
- end.equals "\x81\xA4user\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA".split("").sort
114
+ char_split template.render(scope)
115
+ end.equals char_split("\x81\xA4user\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA")
114
116
 
115
117
  asserts "that it can create a child node with different key" do
116
118
  template = rabl %{
@@ -120,9 +122,8 @@ context "Rabl::Engine" do
120
122
  }
121
123
  scope = Object.new
122
124
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
123
- template.render(scope).split("").sort
124
-
125
- end.equals "\x81\xA4user\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA".split("").sort
125
+ char_split template.render(scope)
126
+ end.equals char_split("\x81\xA4user\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA")
126
127
  end
127
128
 
128
129
  context "#glue" do
@@ -135,8 +136,8 @@ context "Rabl::Engine" do
135
136
  }
136
137
  scope = Object.new
137
138
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA', :age => 12)
138
- template.render(scope).split("").sort
139
- end.equals "\x81\xA4user\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f".split("").sort
139
+ char_split template.render(scope)
140
+ end.equals char_split("\x81\xA4user\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f")
140
141
  end
141
142
 
142
143
  teardown do
@@ -185,8 +186,8 @@ context "Rabl::Engine" do
185
186
  }
186
187
  scope = Object.new
187
188
  scope.instance_variable_set :@user, User.new
188
- template.render(scope)
189
- end.matches "\x80"
189
+ char_split template.render(scope)
190
+ end.equals char_split("\x80")
190
191
 
191
192
  asserts "that it can set root node" do
192
193
  template = rabl %q{
@@ -194,8 +195,8 @@ context "Rabl::Engine" do
194
195
  }
195
196
  scope = Object.new
196
197
  scope.instance_variable_set :@user, User.new
197
- template.render(scope)
198
- end.equals "\x80"
198
+ char_split template.render(scope)
199
+ end.equals char_split("\x80")
199
200
  end
200
201
 
201
202
  context "#collection" do
@@ -205,8 +206,8 @@ context "Rabl::Engine" do
205
206
  }
206
207
  scope = Object.new
207
208
  scope.instance_variable_set :@users, [User.new, User.new]
208
- template.render(scope).split("").sort
209
- end.equals "\x92\x80\x80".split("").sort
209
+ char_split template.render(scope)
210
+ end.equals char_split("\x92\x80\x80")
210
211
 
211
212
  asserts "that it sets root node for objects" do
212
213
  template = rabl %{
@@ -214,8 +215,8 @@ context "Rabl::Engine" do
214
215
  }
215
216
  scope = Object.new
216
217
  scope.instance_variable_set :@users, [User.new, User.new]
217
- template.render(scope).split("").sort
218
- end.equals "\x81\xA6person\x92\x80\x80".split("").sort
218
+ char_split template.render(scope)
219
+ end.equals char_split("\x81\xA6person\x92\x80\x80")
219
220
  end
220
221
 
221
222
  context "#attribute" do
@@ -226,8 +227,8 @@ context "Rabl::Engine" do
226
227
  }
227
228
  scope = Object.new
228
229
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
229
- template.render(scope).split("").sort
230
- end.equals "\x81\xA4name\xA6irvine".split("").sort
230
+ char_split template.render(scope)
231
+ end.equals char_split("\x81\xA4name\xA6irvine")
231
232
 
232
233
  asserts "that it can add attribute under a different key name through :as" do
233
234
  template = rabl %{
@@ -236,8 +237,8 @@ context "Rabl::Engine" do
236
237
  }
237
238
  scope = Object.new
238
239
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
239
- template.render(scope).split("").sort
240
- end.equals "\x81\xA4city\xA6irvine".split("").sort
240
+ char_split template.render(scope)
241
+ end.equals char_split("\x81\xA4city\xA6irvine")
241
242
 
242
243
  asserts "that it can add attribute under a different key name through hash" do
243
244
  template = rabl %{
@@ -246,8 +247,8 @@ context "Rabl::Engine" do
246
247
  }
247
248
  scope = Object.new
248
249
  scope.instance_variable_set :@user, User.new(:name => 'irvine')
249
- template.render(scope).split("").sort
250
- end.equals "\x81\xA4city\xA6irvine".split("").sort
250
+ char_split template.render(scope)
251
+ end.equals char_split("\x81\xA4city\xA6irvine")
251
252
  end
252
253
 
253
254
  context "#code" do
@@ -255,15 +256,15 @@ context "Rabl::Engine" do
255
256
  template = rabl %{
256
257
  code(:foo) { 'bar' }
257
258
  }
258
- template.render(Object.new).split("").sort
259
- end.equals "\x81\xA3foo\xA3bar".split("").sort
259
+ char_split template.render(Object.new)
260
+ end.equals char_split("\x81\xA3foo\xA3bar")
260
261
 
261
262
  asserts "that it can be passed conditionals" do
262
263
  template = rabl %{
263
264
  code(:foo, :if => lambda { |i| false }) { 'bar' }
264
265
  }
265
- template.render(Object.new).split("").sort
266
- end.equals "\x80".split("").sort
266
+ char_split template.render(Object.new)
267
+ end.equals char_split("\x80")
267
268
  end
268
269
 
269
270
  context "#child" do
@@ -275,8 +276,8 @@ context "Rabl::Engine" do
275
276
  }
276
277
  scope = Object.new
277
278
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
278
- template.render(scope).split("").sort
279
- end.equals "\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA".split("").sort
279
+ char_split template.render(scope)
280
+ end.equals char_split("\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA")
280
281
 
281
282
  asserts "that it can create a child node with different key" do
282
283
  template = rabl %{
@@ -286,8 +287,8 @@ context "Rabl::Engine" do
286
287
  }
287
288
  scope = Object.new
288
289
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
289
- template.render(scope).split("").sort
290
- end.equals "\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA".split("").sort
290
+ char_split template.render(scope)
291
+ end.equals char_split("\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA")
291
292
  end
292
293
 
293
294
  context "#glue" do
@@ -300,8 +301,8 @@ context "Rabl::Engine" do
300
301
  }
301
302
  scope = Object.new
302
303
  scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA', :age => 12)
303
- template.render(scope).split("").sort
304
- end.equals "\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f".split("").sort
304
+ char_split template.render(scope)
305
+ end.equals char_split("\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f")
305
306
  end
306
307
 
307
308
  teardown do
@@ -370,8 +370,8 @@ context "Rabl::Renderer" do
370
370
  end
371
371
 
372
372
  user = User.new(:name => 'ivan')
373
- Rabl::Renderer.msgpack(user, 'test', :view_path => tmp_path)
374
- end.equals "\x81\xA4user\x83\xA3age\x18\xA4name\xA4ivan\xA5float\xCB@\x93J=p\xA3\xD7\n"
373
+ char_split Rabl::Renderer.msgpack(user, 'test', :view_path => tmp_path)
374
+ end.equals char_split("\x81\xA4user\x83\xA3age\x18\xA4name\xA4ivan\xA5float\xCB@\x93J=p\xA3\xD7\n")
375
375
  end
376
376
 
377
377
  context '.plist' do
data/test/teststrap.rb CHANGED
@@ -24,9 +24,13 @@ end
24
24
  Riot.pretty_dots
25
25
 
26
26
  class Riot::Situation
27
- # Custom situation code here
27
+ def char_split(str)
28
+ str.force_encoding("iso-8859-1").split("").sort
29
+ end
28
30
  end
29
31
 
30
32
  class Riot::Context
31
- # Custom context code here
33
+ def char_split(str)
34
+ str.force_encoding("iso-8859-1").split("").sort
35
+ end
32
36
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.6
5
- prerelease:
4
+ version: 0.9.0.pre
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nathan Esquenazi
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-28 00:00:00.000000000 Z
11
+ date: 2013-09-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: riot
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rr
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: tilt
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: oj
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: msgpack
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: bson
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: plist
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -367,6 +348,58 @@ files:
367
348
  - fixtures/rails3_2/vendor/assets/javascripts/.gitkeep
368
349
  - fixtures/rails3_2/vendor/assets/stylesheets/.gitkeep
369
350
  - fixtures/rails3_2/vendor/plugins/.gitkeep
351
+ - fixtures/rails4/.gitignore
352
+ - fixtures/rails4/Gemfile
353
+ - fixtures/rails4/README.rdoc
354
+ - fixtures/rails4/Rakefile
355
+ - fixtures/rails4/app/assets/javascripts/application.js
356
+ - fixtures/rails4/app/assets/stylesheets/application.css
357
+ - fixtures/rails4/app/controllers/application_controller.rb
358
+ - fixtures/rails4/app/controllers/concerns/.keep
359
+ - fixtures/rails4/app/controllers/posts_controller.rb
360
+ - fixtures/rails4/app/controllers/users_controller.rb
361
+ - fixtures/rails4/app/helpers/application_helper.rb
362
+ - fixtures/rails4/app/mailers/.keep
363
+ - fixtures/rails4/bin/bundle
364
+ - fixtures/rails4/bin/rails
365
+ - fixtures/rails4/bin/rake
366
+ - fixtures/rails4/config.ru
367
+ - fixtures/rails4/config/application.rb
368
+ - fixtures/rails4/config/boot.rb
369
+ - fixtures/rails4/config/database.yml
370
+ - fixtures/rails4/config/environment.rb
371
+ - fixtures/rails4/config/environments/development.rb
372
+ - fixtures/rails4/config/environments/production.rb
373
+ - fixtures/rails4/config/environments/test.rb
374
+ - fixtures/rails4/config/initializers/backtrace_silencers.rb
375
+ - fixtures/rails4/config/initializers/filter_parameter_logging.rb
376
+ - fixtures/rails4/config/initializers/inflections.rb
377
+ - fixtures/rails4/config/initializers/mime_types.rb
378
+ - fixtures/rails4/config/initializers/secret_token.rb
379
+ - fixtures/rails4/config/initializers/session_store.rb
380
+ - fixtures/rails4/config/initializers/wrap_parameters.rb
381
+ - fixtures/rails4/config/locales/en.yml
382
+ - fixtures/rails4/config/routes.rb
383
+ - fixtures/rails4/db/seeds.rb
384
+ - fixtures/rails4/lib/assets/.keep
385
+ - fixtures/rails4/lib/tasks/.keep
386
+ - fixtures/rails4/log/.keep
387
+ - fixtures/rails4/public/404.html
388
+ - fixtures/rails4/public/422.html
389
+ - fixtures/rails4/public/500.html
390
+ - fixtures/rails4/public/favicon.ico
391
+ - fixtures/rails4/public/robots.txt
392
+ - fixtures/rails4/test/controllers/.keep
393
+ - fixtures/rails4/test/fixtures/.keep
394
+ - fixtures/rails4/test/functional/posts_controller_test.rb
395
+ - fixtures/rails4/test/functional/users_controller_test.rb
396
+ - fixtures/rails4/test/helpers/.keep
397
+ - fixtures/rails4/test/integration/.keep
398
+ - fixtures/rails4/test/mailers/.keep
399
+ - fixtures/rails4/test/models/.keep
400
+ - fixtures/rails4/test/test_helper.rb
401
+ - fixtures/rails4/vendor/assets/javascripts/.keep
402
+ - fixtures/rails4/vendor/assets/stylesheets/.keep
370
403
  - fixtures/sinatra_test/Gemfile
371
404
  - fixtures/sinatra_test/Rakefile
372
405
  - fixtures/sinatra_test/app.rb
@@ -378,12 +411,14 @@ files:
378
411
  - lib/rabl/builder.rb
379
412
  - lib/rabl/cache_engine.rb
380
413
  - lib/rabl/configuration.rb
414
+ - lib/rabl/digestor.rb
381
415
  - lib/rabl/engine.rb
382
416
  - lib/rabl/helpers.rb
383
417
  - lib/rabl/partials.rb
384
418
  - lib/rabl/railtie.rb
385
419
  - lib/rabl/renderer.rb
386
420
  - lib/rabl/template.rb
421
+ - lib/rabl/tracker.rb
387
422
  - lib/rabl/version.rb
388
423
  - rabl.gemspec
389
424
  - test.watchr
@@ -395,6 +430,8 @@ files:
395
430
  - test/integration/posts_controller_test.rb
396
431
  - test/integration/rails3_2/posts_controller_test.rb
397
432
  - test/integration/rails3_2/users_controller_test.rb
433
+ - test/integration/rails4/posts_controller_test.rb
434
+ - test/integration/rails4/users_controller_test.rb
398
435
  - test/integration/test_init.rb
399
436
  - test/integration/users_controller_test.rb
400
437
  - test/models/ormless.rb
@@ -409,33 +446,26 @@ files:
409
446
  - test/xml_test.rb
410
447
  homepage: https://github.com/nesquena/rabl
411
448
  licenses: []
449
+ metadata: {}
412
450
  post_install_message:
413
451
  rdoc_options: []
414
452
  require_paths:
415
453
  - lib
416
454
  required_ruby_version: !ruby/object:Gem::Requirement
417
- none: false
418
455
  requirements:
419
456
  - - ! '>='
420
457
  - !ruby/object:Gem::Version
421
458
  version: '0'
422
- segments:
423
- - 0
424
- hash: 3931971749616157374
425
459
  required_rubygems_version: !ruby/object:Gem::Requirement
426
- none: false
427
460
  requirements:
428
- - - ! '>='
461
+ - - ! '>'
429
462
  - !ruby/object:Gem::Version
430
- version: '0'
431
- segments:
432
- - 0
433
- hash: 3931971749616157374
463
+ version: 1.3.1
434
464
  requirements: []
435
465
  rubyforge_project: rabl
436
- rubygems_version: 1.8.25
466
+ rubygems_version: 2.0.7
437
467
  signing_key:
438
- specification_version: 3
468
+ specification_version: 4
439
469
  summary: General ruby templating with json, bson, xml and msgpack support
440
470
  test_files:
441
471
  - test/bson_engine_test.rb
@@ -446,6 +476,8 @@ test_files:
446
476
  - test/integration/posts_controller_test.rb
447
477
  - test/integration/rails3_2/posts_controller_test.rb
448
478
  - test/integration/rails3_2/users_controller_test.rb
479
+ - test/integration/rails4/posts_controller_test.rb
480
+ - test/integration/rails4/users_controller_test.rb
449
481
  - test/integration/test_init.rb
450
482
  - test/integration/users_controller_test.rb
451
483
  - test/models/ormless.rb