rabl 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. data/.gitignore +2 -0
  2. data/.travis.yml +10 -0
  3. data/CHANGELOG.md +34 -0
  4. data/Gemfile +14 -1
  5. data/README.md +53 -4
  6. data/Rakefile +26 -1
  7. data/fixtures/ashared/NOTES +35 -0
  8. data/fixtures/ashared/README +35 -0
  9. data/fixtures/ashared/migrate/20111002092016_create_users.rb +15 -0
  10. data/fixtures/ashared/migrate/20111002092019_create_posts.rb +14 -0
  11. data/fixtures/ashared/migrate/20111002092024_create_phone_numbers.rb +16 -0
  12. data/fixtures/ashared/models/phone_number.rb +7 -0
  13. data/fixtures/ashared/models/post.rb +3 -0
  14. data/fixtures/ashared/models/user.rb +3 -0
  15. data/fixtures/ashared/views/layouts/application.html.erb +6 -0
  16. data/fixtures/ashared/views/posts/date.json.rabl +3 -0
  17. data/fixtures/ashared/views/posts/index.json.rabl +11 -0
  18. data/fixtures/ashared/views/posts/show.json.rabl +16 -0
  19. data/fixtures/ashared/views/users/index.rabl +3 -0
  20. data/fixtures/ashared/views/users/phone_number.rabl +6 -0
  21. data/fixtures/ashared/views/users/show.rabl +16 -0
  22. data/fixtures/padrino_test/.components +7 -0
  23. data/fixtures/padrino_test/.gitignore +7 -0
  24. data/fixtures/padrino_test/Gemfile +17 -0
  25. data/fixtures/padrino_test/Rakefile +3 -0
  26. data/fixtures/padrino_test/app/app.rb +59 -0
  27. data/fixtures/padrino_test/app/controllers/posts.rb +11 -0
  28. data/fixtures/padrino_test/app/controllers/users.rb +11 -0
  29. data/fixtures/padrino_test/app/helpers/posts_helper.rb +7 -0
  30. data/fixtures/padrino_test/app/helpers/users_helper.rb +7 -0
  31. data/fixtures/padrino_test/config.ru +9 -0
  32. data/fixtures/padrino_test/config/apps.rb +34 -0
  33. data/fixtures/padrino_test/config/boot.rb +29 -0
  34. data/fixtures/padrino_test/config/database.rb +43 -0
  35. data/fixtures/padrino_test/db/schema.rb +42 -0
  36. data/fixtures/padrino_test/public/favicon.ico +0 -0
  37. data/fixtures/padrino_test/test/app/controllers/posts_controller_test.rb +108 -0
  38. data/fixtures/padrino_test/test/app/controllers/users_controller_test.rb +87 -0
  39. data/fixtures/padrino_test/test/test.rake +18 -0
  40. data/fixtures/padrino_test/test/test_config.rb +18 -0
  41. data/fixtures/rails2/.gitignore +1 -0
  42. data/fixtures/rails2/Gemfile +8 -0
  43. data/fixtures/rails2/Rakefile +14 -0
  44. data/fixtures/rails2/app/controllers/application_controller.rb +10 -0
  45. data/fixtures/rails2/app/controllers/posts_controller.rb +15 -0
  46. data/fixtures/rails2/app/controllers/users_controller.rb +15 -0
  47. data/fixtures/rails2/config/boot.rb +129 -0
  48. data/fixtures/rails2/config/database.yml +16 -0
  49. data/fixtures/rails2/config/environment.rb +42 -0
  50. data/fixtures/rails2/config/environments/development.rb +17 -0
  51. data/fixtures/rails2/config/environments/production.rb +28 -0
  52. data/fixtures/rails2/config/environments/test.rb +28 -0
  53. data/fixtures/rails2/config/initializers/backtrace_silencers.rb +7 -0
  54. data/fixtures/rails2/config/initializers/cookie_verification_secret.rb +7 -0
  55. data/fixtures/rails2/config/initializers/inflections.rb +10 -0
  56. data/fixtures/rails2/config/initializers/mime_types.rb +5 -0
  57. data/fixtures/rails2/config/initializers/new_rails_defaults.rb +21 -0
  58. data/fixtures/rails2/config/initializers/session_store.rb +15 -0
  59. data/fixtures/rails2/config/locales/en.yml +5 -0
  60. data/fixtures/rails2/config/preinitializer.rb +20 -0
  61. data/fixtures/rails2/config/routes.rb +45 -0
  62. data/fixtures/rails2/db/schema.rb +40 -0
  63. data/fixtures/rails2/db/seeds.rb +7 -0
  64. data/fixtures/rails2/public/404.html +30 -0
  65. data/fixtures/rails2/public/422.html +30 -0
  66. data/fixtures/rails2/public/500.html +30 -0
  67. data/fixtures/rails2/public/favicon.ico +0 -0
  68. data/fixtures/rails2/public/images/rails.png +0 -0
  69. data/fixtures/rails2/public/index.html +275 -0
  70. data/fixtures/rails2/public/robots.txt +5 -0
  71. data/fixtures/rails2/script/about +4 -0
  72. data/fixtures/rails2/script/console +3 -0
  73. data/fixtures/rails2/script/dbconsole +3 -0
  74. data/fixtures/rails2/script/destroy +3 -0
  75. data/fixtures/rails2/script/generate +3 -0
  76. data/fixtures/rails2/script/performance/benchmarker +3 -0
  77. data/fixtures/rails2/script/performance/profiler +3 -0
  78. data/fixtures/rails2/script/plugin +3 -0
  79. data/fixtures/rails2/script/runner +3 -0
  80. data/fixtures/rails2/script/server +3 -0
  81. data/fixtures/rails2/test/functionals/posts_controller_test.rb +108 -0
  82. data/fixtures/rails2/test/functionals/users_controller_test.rb +87 -0
  83. data/fixtures/rails2/test/test_helper.rb +33 -0
  84. data/fixtures/rails3/.gitignore +4 -0
  85. data/fixtures/rails3/Gemfile +37 -0
  86. data/fixtures/rails3/Rakefile +12 -0
  87. data/fixtures/rails3/app/controllers/application_controller.rb +14 -0
  88. data/fixtures/rails3/app/controllers/posts_controller.rb +11 -0
  89. data/fixtures/rails3/app/controllers/users_controller.rb +11 -0
  90. data/fixtures/rails3/config.ru +4 -0
  91. data/fixtures/rails3/config/application.rb +42 -0
  92. data/fixtures/rails3/config/boot.rb +6 -0
  93. data/fixtures/rails3/config/database.yml +22 -0
  94. data/fixtures/rails3/config/environment.rb +5 -0
  95. data/fixtures/rails3/config/environments/development.rb +26 -0
  96. data/fixtures/rails3/config/environments/production.rb +49 -0
  97. data/fixtures/rails3/config/environments/test.rb +35 -0
  98. data/fixtures/rails3/config/initializers/backtrace_silencers.rb +7 -0
  99. data/fixtures/rails3/config/initializers/inflections.rb +10 -0
  100. data/fixtures/rails3/config/initializers/mime_types.rb +5 -0
  101. data/fixtures/rails3/config/initializers/secret_token.rb +7 -0
  102. data/fixtures/rails3/config/initializers/session_store.rb +8 -0
  103. data/fixtures/rails3/config/locales/en.yml +5 -0
  104. data/fixtures/rails3/config/routes.rb +61 -0
  105. data/fixtures/rails3/db/seeds.rb +7 -0
  106. data/fixtures/rails3/lib/tasks/.gitkeep +0 -0
  107. data/fixtures/rails3/public/404.html +26 -0
  108. data/fixtures/rails3/public/422.html +26 -0
  109. data/fixtures/rails3/public/500.html +26 -0
  110. data/fixtures/rails3/public/favicon.ico +0 -0
  111. data/fixtures/rails3/public/images/rails.png +0 -0
  112. data/fixtures/rails3/public/index.html +239 -0
  113. data/fixtures/rails3/public/robots.txt +5 -0
  114. data/fixtures/rails3/public/stylesheets/.gitkeep +0 -0
  115. data/fixtures/rails3/script/rails +6 -0
  116. data/fixtures/rails3/test/functional/posts_controller_test.rb +108 -0
  117. data/fixtures/rails3/test/functional/users_controller_test.rb +87 -0
  118. data/fixtures/rails3/test/test_helper.rb +26 -0
  119. data/fixtures/sinatra_test/Gemfile +13 -0
  120. data/fixtures/sinatra_test/Rakefile +6 -0
  121. data/fixtures/sinatra_test/app.rb +44 -0
  122. data/fixtures/sinatra_test/config.ru +7 -0
  123. data/fixtures/sinatra_test/test/functional/posts_controller_test.rb +108 -0
  124. data/fixtures/sinatra_test/test/functional/users_controller_test.rb +87 -0
  125. data/fixtures/sinatra_test/test/test_helper.rb +19 -0
  126. data/lib/rabl.rb +13 -1
  127. data/lib/rabl/builder.rb +14 -7
  128. data/lib/rabl/configuration.rb +41 -1
  129. data/lib/rabl/engine.rb +29 -19
  130. data/lib/rabl/helpers.rb +45 -18
  131. data/lib/rabl/template.rb +1 -1
  132. data/lib/rabl/version.rb +1 -1
  133. data/rabl.gemspec +6 -5
  134. data/test/builder_test.rb +4 -4
  135. data/test/configuration_test.rb +7 -22
  136. data/test/engine_test.rb +63 -44
  137. data/test/helpers_test.rb +68 -0
  138. data/test/integration/posts_controller_test.rb +108 -0
  139. data/test/integration/test_init.rb +35 -0
  140. data/test/integration/users_controller_test.rb +87 -0
  141. data/test/models/ormless.rb +2 -0
  142. data/test/models/user.rb +17 -6
  143. data/test/msgpack_engine_test.rb +332 -0
  144. data/test/silence.rb +21 -0
  145. data/test/teststrap.rb +22 -6
  146. metadata +160 -14
@@ -0,0 +1,2 @@
1
+ class Ormless
2
+ end
data/test/models/user.rb CHANGED
@@ -1,9 +1,20 @@
1
- require 'mongoid'
2
-
3
1
  class User
4
- include Mongoid::Document
2
+ attr_accessor :age, :city, :name
3
+
4
+ DEFAULT_AGE = 24
5
+ DEFAULT_CITY = 'irvine'
6
+ DEFAULT_NAME = 'rabl'
7
+
8
+ def initialize(attributes={})
9
+ self.age = attributes[:age] || DEFAULT_AGE
10
+ self.city = attributes[:city] || DEFAULT_CITY
11
+ self.name = attributes[:name] || DEFAULT_NAME
12
+ end
13
+ end
5
14
 
6
- field :name, :type => String, :default => 'rabl'
7
- field :city, :type => String, :default => 'irvine'
8
- field :age, :type => Integer, :default => 24
15
+ module NestedScope
16
+ class User
17
+ def controller; self; end
18
+ def controller_name; self.class.name.downcase; end
19
+ end
9
20
  end
@@ -0,0 +1,332 @@
1
+ require File.expand_path('../teststrap', __FILE__)
2
+ require File.expand_path('../../lib/rabl', __FILE__)
3
+ require File.expand_path('../../lib/rabl/template', __FILE__)
4
+ require File.expand_path('../models/user', __FILE__)
5
+
6
+ context "Rabl::Engine" do
7
+
8
+ helper(:rabl) { |t| RablTemplate.new("code", :format => 'msgpack') { t } }
9
+
10
+ context "with msgpack defaults" do
11
+ setup do
12
+ Rabl.configure do |config|
13
+ # Comment this line out because include_msgpack_root is default.
14
+ #config.include_msgpack_root = true
15
+ end
16
+ end
17
+
18
+ context "#object" do
19
+
20
+ asserts "that it sets data source" do
21
+ template = rabl %q{
22
+ object @user
23
+ }
24
+ scope = Object.new
25
+ scope.instance_variable_set :@user, User.new
26
+ template.render(scope)
27
+ end.matches "\x81\xA4user\x80"
28
+
29
+ asserts "that it can set root node" do
30
+ template = rabl %q{
31
+ object @user => :person
32
+ }
33
+ scope = Object.new
34
+ scope.instance_variable_set :@user, User.new
35
+ template.render(scope).split("").sort
36
+ end.equals "\x81\xA6person\x80".split("").sort
37
+ end
38
+
39
+ context "#collection" do
40
+
41
+ asserts "that it sets object to be casted as a simple array" do
42
+ template = rabl %{
43
+ collection @users
44
+ }
45
+ scope = Object.new
46
+ scope.instance_variable_set :@users, [User.new, User.new]
47
+ template.render(scope).split("").sort
48
+ end.equals "\x92\x81\xA4user\x80\x81\xA4user\x80".split("").sort
49
+
50
+ asserts "that it sets root node for objects" do
51
+ template = rabl %{
52
+ collection @users => :person
53
+ }
54
+ scope = Object.new
55
+ scope.instance_variable_set :@users, [User.new, User.new]
56
+ template.render(scope).split("").sort
57
+ end.equals "\x81\xA6person\x92\x81\xA6person\x80\x81\xA6person\x80".split("").sort
58
+
59
+ end
60
+
61
+ context "#attribute" do
62
+
63
+ asserts "that it adds an attribute or method to be included in output" do
64
+ template = rabl %{
65
+ object @user
66
+ attribute :name
67
+ }
68
+ scope = Object.new
69
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
70
+ template.render(scope).split("").sort
71
+ end.equals "\x81\xA4user\x81\xA4name\xA6irvine".split("").sort
72
+
73
+ asserts "that it can add attribute under a different key name through :as" do
74
+ template = rabl %{
75
+ object @user
76
+ attribute :name, :as => 'city'
77
+ }
78
+ scope = Object.new
79
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
80
+ template.render(scope).split("").sort
81
+ end.equals "\x81\xA4user\x81\xA4city\xA6irvine".split("").sort
82
+
83
+ asserts "that it can add attribute under a different key name through hash" do
84
+ template = rabl %{
85
+ object @user
86
+ attribute :name => :city
87
+ }
88
+ scope = Object.new
89
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
90
+ template.render(scope).split("").sort
91
+ end.equals "\x81\xA4user\x81\xA4city\xA6irvine".split("").sort
92
+
93
+ end
94
+
95
+ context "#code" do
96
+
97
+ asserts "that it can create an arbitraty code node" do
98
+ template = rabl %{
99
+ code(:foo) { 'bar' }
100
+ }
101
+ template.render(Object.new).split("").sort
102
+ end.equals "\x81\xA3foo\xA3bar".split("").sort
103
+
104
+ asserts "that it can be passed conditionals" do
105
+ template = rabl %{
106
+ code(:foo, :if => lambda { |i| false }) { 'bar' }
107
+ }
108
+ template.render(Object.new).split("").sort
109
+ end.equals "\x80".split("").sort
110
+
111
+ end
112
+
113
+ context "#child" do
114
+
115
+ asserts "that it can create a child node" do
116
+ template = rabl %{
117
+ object @user
118
+ attribute :name
119
+ child(@user) { attribute :city }
120
+ }
121
+ scope = Object.new
122
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
123
+ template.render(scope).split("").sort
124
+ end.equals "\x81\xA4user\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA".split("").sort
125
+
126
+ asserts "that it can create a child node with different key" do
127
+ template = rabl %{
128
+ object @user
129
+ attribute :name
130
+ child(@user => :person) { attribute :city }
131
+ }
132
+ scope = Object.new
133
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
134
+ template.render(scope).split("").sort
135
+
136
+ end.equals "\x81\xA4user\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA".split("").sort
137
+ end
138
+
139
+ context "#glue" do
140
+
141
+ asserts "that it glues data from a child node" do
142
+ template = rabl %{
143
+ object @user
144
+ attribute :name
145
+ glue(@user) { attribute :city }
146
+ glue(@user) { attribute :age }
147
+ }
148
+ scope = Object.new
149
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA', :age => 12)
150
+ template.render(scope).split("").sort
151
+ end.equals "\x81\xA4user\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f".split("").sort
152
+ end
153
+
154
+ teardown do
155
+ Rabl.reset_configuration!
156
+ end
157
+ end
158
+
159
+ context "with msgpack_engine" do
160
+ setup do
161
+ class CustomEncodeEngine
162
+ def self.pack string
163
+ 42
164
+ end
165
+ end
166
+
167
+ Rabl.configure do |config|
168
+ config.msgpack_engine = CustomEncodeEngine
169
+ end
170
+ end
171
+
172
+ asserts 'that it returns process by custom to_json' do
173
+ template = rabl %q{
174
+ object @user
175
+ }
176
+ scope = Object.new
177
+ scope.instance_variable_set :@user, User.new
178
+ template.render(scope)
179
+ end.equals 42
180
+
181
+ teardown do
182
+ Rabl.reset_configuration!
183
+ end
184
+ end
185
+
186
+ context "without msgpack root" do
187
+ setup do
188
+ Rabl.configure do |config|
189
+ config.include_msgpack_root = false
190
+ end
191
+ end
192
+
193
+ context "#object" do
194
+
195
+ asserts "that it sets data source" do
196
+ template = rabl %q{
197
+ object @user
198
+ }
199
+ scope = Object.new
200
+ scope.instance_variable_set :@user, User.new
201
+ template.render(scope)
202
+ end.matches "\x80"
203
+
204
+ asserts "that it can set root node" do
205
+ template = rabl %q{
206
+ object @user => :person
207
+ }
208
+ scope = Object.new
209
+ scope.instance_variable_set :@user, User.new
210
+ template.render(scope)
211
+ end.equals "\x80"
212
+ end
213
+
214
+ context "#collection" do
215
+
216
+ asserts "that it sets object to be casted as a simple array" do
217
+ template = rabl %{
218
+ collection @users
219
+ }
220
+ scope = Object.new
221
+ scope.instance_variable_set :@users, [User.new, User.new]
222
+ template.render(scope).split("").sort
223
+ end.equals "\x92\x80\x80".split("").sort
224
+
225
+ asserts "that it sets root node for objects" do
226
+ template = rabl %{
227
+ collection @users => :person
228
+ }
229
+ scope = Object.new
230
+ scope.instance_variable_set :@users, [User.new, User.new]
231
+ template.render(scope).split("").sort
232
+ end.equals "\x81\xA6person\x92\x80\x80".split("").sort
233
+
234
+ end
235
+
236
+ context "#attribute" do
237
+
238
+ asserts "that it adds an attribute or method to be included in output" do
239
+ template = rabl %{
240
+ object @user
241
+ attribute :name
242
+ }
243
+ scope = Object.new
244
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
245
+ template.render(scope).split("").sort
246
+ end.equals "\x81\xA4name\xA6irvine".split("").sort
247
+
248
+ asserts "that it can add attribute under a different key name through :as" do
249
+ template = rabl %{
250
+ object @user
251
+ attribute :name, :as => 'city'
252
+ }
253
+ scope = Object.new
254
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
255
+ template.render(scope).split("").sort
256
+ end.equals "\x81\xA4city\xA6irvine".split("").sort
257
+
258
+ asserts "that it can add attribute under a different key name through hash" do
259
+ template = rabl %{
260
+ object @user
261
+ attribute :name => :city
262
+ }
263
+ scope = Object.new
264
+ scope.instance_variable_set :@user, User.new(:name => 'irvine')
265
+ template.render(scope).split("").sort
266
+ end.equals "\x81\xA4city\xA6irvine".split("").sort
267
+
268
+ end
269
+
270
+ context "#code" do
271
+
272
+ asserts "that it can create an arbitraty code node" do
273
+ template = rabl %{
274
+ code(:foo) { 'bar' }
275
+ }
276
+ template.render(Object.new).split("").sort
277
+ end.equals "\x81\xA3foo\xA3bar".split("").sort
278
+
279
+ asserts "that it can be passed conditionals" do
280
+ template = rabl %{
281
+ code(:foo, :if => lambda { |i| false }) { 'bar' }
282
+ }
283
+ template.render(Object.new).split("").sort
284
+ end.equals "\x80".split("").sort
285
+
286
+ end
287
+
288
+ context "#child" do
289
+
290
+ asserts "that it can create a child node" do
291
+ template = rabl %{
292
+ object @user
293
+ attribute :name
294
+ child(@user) { attribute :city }
295
+ }
296
+ scope = Object.new
297
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
298
+ template.render(scope).split("").sort
299
+ end.equals "\x82\xA4name\xA3leo\xA4user\x81\xA4city\xA2LA".split("").sort
300
+
301
+ asserts "that it can create a child node with different key" do
302
+ template = rabl %{
303
+ object @user
304
+ attribute :name
305
+ child(@user => :person) { attribute :city }
306
+ }
307
+ scope = Object.new
308
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA')
309
+ template.render(scope).split("").sort
310
+ end.equals "\x82\xA4name\xA3leo\xA6person\x81\xA4city\xA2LA".split("").sort
311
+ end
312
+
313
+ context "#glue" do
314
+
315
+ asserts "that it glues data from a child node" do
316
+ template = rabl %{
317
+ object @user
318
+ attribute :name
319
+ glue(@user) { attribute :city }
320
+ glue(@user) { attribute :age }
321
+ }
322
+ scope = Object.new
323
+ scope.instance_variable_set :@user, User.new(:name => 'leo', :city => 'LA', :age => 12)
324
+ template.render(scope).split("").sort
325
+ end.equals "\x83\xA4name\xA3leo\xA4city\xA2LA\xA3age\f".split("").sort
326
+ end
327
+
328
+ teardown do
329
+ Rabl.reset_configuration!
330
+ end
331
+ end
332
+ end
data/test/silence.rb ADDED
@@ -0,0 +1,21 @@
1
+ module Kernel
2
+ def silence_warnings
3
+ with_warnings(nil) { yield }
4
+ end
5
+
6
+ def silence_stream(stream)
7
+ old_stream = stream.dup
8
+ stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
9
+ stream.sync = true
10
+ yield
11
+ ensure
12
+ stream.reopen(old_stream)
13
+ end
14
+
15
+ def with_warnings(flag)
16
+ old_verbose, $VERBOSE = $VERBOSE, flag
17
+ yield
18
+ ensure
19
+ $VERBOSE = old_verbose
20
+ end
21
+ end unless Kernel.respond_to? :silence_warnings
data/test/teststrap.rb CHANGED
@@ -1,14 +1,30 @@
1
- require 'riot'
2
- require 'riot/rr'
3
- require 'mongo'
4
- require 'mongoid'
5
- require 'tilt'
6
- require File.expand_path('../../lib/rabl',__FILE__)
1
+ module Kernel
2
+ def silence_warnings
3
+ with_warnings(nil) { yield }
4
+ end
5
+
6
+ def with_warnings(flag)
7
+ old_verbose, $VERBOSE = $VERBOSE, flag
8
+ yield
9
+ ensure
10
+ $VERBOSE = old_verbose
11
+ end
12
+ end unless Kernel.respond_to? :silence_warnings
13
+
14
+ silence_warnings do
15
+ require 'riot'
16
+ require 'riot/rr'
17
+ require 'tilt'
18
+ require File.expand_path('../../lib/rabl',__FILE__)
19
+ end
7
20
 
8
21
  Riot.pretty_dots
9
22
 
10
23
  class Riot::Situation
24
+ # Custom situation code here
11
25
  end
12
26
 
13
27
  class Riot::Context
28
+ # Custom context code here
14
29
  end
30
+
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rabl
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.0
5
+ version: 0.5.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nathan Esquenazi
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-01 00:00:00 Z
13
+ date: 2011-10-19 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: multi_json
@@ -24,40 +24,40 @@ dependencies:
24
24
  type: :runtime
25
25
  version_requirements: *id001
26
26
  - !ruby/object:Gem::Dependency
27
- name: riot
27
+ name: activesupport
28
28
  prerelease: false
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
- - - ~>
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 0.12.3
35
- type: :development
34
+ version: 2.3.14
35
+ type: :runtime
36
36
  version_requirements: *id002
37
37
  - !ruby/object:Gem::Dependency
38
- name: rr
38
+ name: riot
39
39
  prerelease: false
40
40
  requirement: &id003 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.0.2
45
+ version: 0.12.3
46
46
  type: :development
47
47
  version_requirements: *id003
48
48
  - !ruby/object:Gem::Dependency
49
- name: mongoid
49
+ name: rr
50
50
  prerelease: false
51
51
  requirement: &id004 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
- - - ">="
54
+ - - ~>
55
55
  - !ruby/object:Gem::Version
56
- version: "0"
56
+ version: 1.0.2
57
57
  type: :development
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: tilt
60
+ name: rake
61
61
  prerelease: false
62
62
  requirement: &id005 !ruby/object:Gem::Requirement
63
63
  none: false
@@ -68,7 +68,7 @@ dependencies:
68
68
  type: :development
69
69
  version_requirements: *id005
70
70
  - !ruby/object:Gem::Dependency
71
- name: bson_ext
71
+ name: tilt
72
72
  prerelease: false
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
74
  none: false
@@ -89,6 +89,17 @@ dependencies:
89
89
  version: "0"
90
90
  type: :development
91
91
  version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
93
+ name: msgpack
94
+ prerelease: false
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ~>
99
+ - !ruby/object:Gem::Version
100
+ version: 0.4.5
101
+ type: :development
102
+ version_requirements: *id008
92
103
  description: General ruby templating for json or xml
93
104
  email:
94
105
  - nesquena@gmail.com
@@ -100,6 +111,8 @@ extra_rdoc_files: []
100
111
 
101
112
  files:
102
113
  - .gitignore
114
+ - .travis.yml
115
+ - CHANGELOG.md
103
116
  - Gemfile
104
117
  - MIT-LICENSE
105
118
  - README.md
@@ -108,6 +121,125 @@ files:
108
121
  - examples/base.json.rabl
109
122
  - examples/demo.json.rabl
110
123
  - examples/inherited.json.rabl
124
+ - fixtures/ashared/NOTES
125
+ - fixtures/ashared/README
126
+ - fixtures/ashared/migrate/20111002092016_create_users.rb
127
+ - fixtures/ashared/migrate/20111002092019_create_posts.rb
128
+ - fixtures/ashared/migrate/20111002092024_create_phone_numbers.rb
129
+ - fixtures/ashared/models/phone_number.rb
130
+ - fixtures/ashared/models/post.rb
131
+ - fixtures/ashared/models/user.rb
132
+ - fixtures/ashared/views/layouts/application.html.erb
133
+ - fixtures/ashared/views/posts/date.json.rabl
134
+ - fixtures/ashared/views/posts/index.json.rabl
135
+ - fixtures/ashared/views/posts/show.json.rabl
136
+ - fixtures/ashared/views/users/index.rabl
137
+ - fixtures/ashared/views/users/phone_number.rabl
138
+ - fixtures/ashared/views/users/show.rabl
139
+ - fixtures/padrino_test/.components
140
+ - fixtures/padrino_test/.gitignore
141
+ - fixtures/padrino_test/Gemfile
142
+ - fixtures/padrino_test/Rakefile
143
+ - fixtures/padrino_test/app/app.rb
144
+ - fixtures/padrino_test/app/controllers/posts.rb
145
+ - fixtures/padrino_test/app/controllers/users.rb
146
+ - fixtures/padrino_test/app/helpers/posts_helper.rb
147
+ - fixtures/padrino_test/app/helpers/users_helper.rb
148
+ - fixtures/padrino_test/config.ru
149
+ - fixtures/padrino_test/config/apps.rb
150
+ - fixtures/padrino_test/config/boot.rb
151
+ - fixtures/padrino_test/config/database.rb
152
+ - fixtures/padrino_test/db/schema.rb
153
+ - fixtures/padrino_test/public/favicon.ico
154
+ - fixtures/padrino_test/test/app/controllers/posts_controller_test.rb
155
+ - fixtures/padrino_test/test/app/controllers/users_controller_test.rb
156
+ - fixtures/padrino_test/test/test.rake
157
+ - fixtures/padrino_test/test/test_config.rb
158
+ - fixtures/rails2/.gitignore
159
+ - fixtures/rails2/Gemfile
160
+ - fixtures/rails2/Rakefile
161
+ - fixtures/rails2/app/controllers/application_controller.rb
162
+ - fixtures/rails2/app/controllers/posts_controller.rb
163
+ - fixtures/rails2/app/controllers/users_controller.rb
164
+ - fixtures/rails2/config/boot.rb
165
+ - fixtures/rails2/config/database.yml
166
+ - fixtures/rails2/config/environment.rb
167
+ - fixtures/rails2/config/environments/development.rb
168
+ - fixtures/rails2/config/environments/production.rb
169
+ - fixtures/rails2/config/environments/test.rb
170
+ - fixtures/rails2/config/initializers/backtrace_silencers.rb
171
+ - fixtures/rails2/config/initializers/cookie_verification_secret.rb
172
+ - fixtures/rails2/config/initializers/inflections.rb
173
+ - fixtures/rails2/config/initializers/mime_types.rb
174
+ - fixtures/rails2/config/initializers/new_rails_defaults.rb
175
+ - fixtures/rails2/config/initializers/session_store.rb
176
+ - fixtures/rails2/config/locales/en.yml
177
+ - fixtures/rails2/config/preinitializer.rb
178
+ - fixtures/rails2/config/routes.rb
179
+ - fixtures/rails2/db/schema.rb
180
+ - fixtures/rails2/db/seeds.rb
181
+ - fixtures/rails2/public/404.html
182
+ - fixtures/rails2/public/422.html
183
+ - fixtures/rails2/public/500.html
184
+ - fixtures/rails2/public/favicon.ico
185
+ - fixtures/rails2/public/images/rails.png
186
+ - fixtures/rails2/public/index.html
187
+ - fixtures/rails2/public/robots.txt
188
+ - fixtures/rails2/script/about
189
+ - fixtures/rails2/script/console
190
+ - fixtures/rails2/script/dbconsole
191
+ - fixtures/rails2/script/destroy
192
+ - fixtures/rails2/script/generate
193
+ - fixtures/rails2/script/performance/benchmarker
194
+ - fixtures/rails2/script/performance/profiler
195
+ - fixtures/rails2/script/plugin
196
+ - fixtures/rails2/script/runner
197
+ - fixtures/rails2/script/server
198
+ - fixtures/rails2/test/functionals/posts_controller_test.rb
199
+ - fixtures/rails2/test/functionals/users_controller_test.rb
200
+ - fixtures/rails2/test/test_helper.rb
201
+ - fixtures/rails3/.gitignore
202
+ - fixtures/rails3/Gemfile
203
+ - fixtures/rails3/Rakefile
204
+ - fixtures/rails3/app/controllers/application_controller.rb
205
+ - fixtures/rails3/app/controllers/posts_controller.rb
206
+ - fixtures/rails3/app/controllers/users_controller.rb
207
+ - fixtures/rails3/config.ru
208
+ - fixtures/rails3/config/application.rb
209
+ - fixtures/rails3/config/boot.rb
210
+ - fixtures/rails3/config/database.yml
211
+ - fixtures/rails3/config/environment.rb
212
+ - fixtures/rails3/config/environments/development.rb
213
+ - fixtures/rails3/config/environments/production.rb
214
+ - fixtures/rails3/config/environments/test.rb
215
+ - fixtures/rails3/config/initializers/backtrace_silencers.rb
216
+ - fixtures/rails3/config/initializers/inflections.rb
217
+ - fixtures/rails3/config/initializers/mime_types.rb
218
+ - fixtures/rails3/config/initializers/secret_token.rb
219
+ - fixtures/rails3/config/initializers/session_store.rb
220
+ - fixtures/rails3/config/locales/en.yml
221
+ - fixtures/rails3/config/routes.rb
222
+ - fixtures/rails3/db/seeds.rb
223
+ - fixtures/rails3/lib/tasks/.gitkeep
224
+ - fixtures/rails3/public/404.html
225
+ - fixtures/rails3/public/422.html
226
+ - fixtures/rails3/public/500.html
227
+ - fixtures/rails3/public/favicon.ico
228
+ - fixtures/rails3/public/images/rails.png
229
+ - fixtures/rails3/public/index.html
230
+ - fixtures/rails3/public/robots.txt
231
+ - fixtures/rails3/public/stylesheets/.gitkeep
232
+ - fixtures/rails3/script/rails
233
+ - fixtures/rails3/test/functional/posts_controller_test.rb
234
+ - fixtures/rails3/test/functional/users_controller_test.rb
235
+ - fixtures/rails3/test/test_helper.rb
236
+ - fixtures/sinatra_test/Gemfile
237
+ - fixtures/sinatra_test/Rakefile
238
+ - fixtures/sinatra_test/app.rb
239
+ - fixtures/sinatra_test/config.ru
240
+ - fixtures/sinatra_test/test/functional/posts_controller_test.rb
241
+ - fixtures/sinatra_test/test/functional/users_controller_test.rb
242
+ - fixtures/sinatra_test/test/test_helper.rb
111
243
  - lib/rabl.rb
112
244
  - lib/rabl/builder.rb
113
245
  - lib/rabl/configuration.rb
@@ -121,7 +253,14 @@ files:
121
253
  - test/builder_test.rb
122
254
  - test/configuration_test.rb
123
255
  - test/engine_test.rb
256
+ - test/helpers_test.rb
257
+ - test/integration/posts_controller_test.rb
258
+ - test/integration/test_init.rb
259
+ - test/integration/users_controller_test.rb
260
+ - test/models/ormless.rb
124
261
  - test/models/user.rb
262
+ - test/msgpack_engine_test.rb
263
+ - test/silence.rb
125
264
  - test/template_test.rb
126
265
  - test/teststrap.rb
127
266
  homepage: https://github.com/nesquena/rabl
@@ -147,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
286
  requirements: []
148
287
 
149
288
  rubyforge_project: rabl
150
- rubygems_version: 1.7.2
289
+ rubygems_version: 1.8.10
151
290
  signing_key:
152
291
  specification_version: 3
153
292
  summary: General ruby templating for json or xml
@@ -155,6 +294,13 @@ test_files:
155
294
  - test/builder_test.rb
156
295
  - test/configuration_test.rb
157
296
  - test/engine_test.rb
297
+ - test/helpers_test.rb
298
+ - test/integration/posts_controller_test.rb
299
+ - test/integration/test_init.rb
300
+ - test/integration/users_controller_test.rb
301
+ - test/models/ormless.rb
158
302
  - test/models/user.rb
303
+ - test/msgpack_engine_test.rb
304
+ - test/silence.rb
159
305
  - test/template_test.rb
160
306
  - test/teststrap.rb