alfred_rails 0.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.travis.yml +20 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +209 -0
  7. data/Rakefile +5 -0
  8. data/alfred_rails.gemspec +45 -0
  9. data/app/assets/javascripts/alfred/sinon_adapter.js.coffee +35 -0
  10. data/app/assets/javascripts/alfred.js.coffee +61 -0
  11. data/bin/alfred +6 -0
  12. data/lib/alfred_rails/command_line.rb +62 -0
  13. data/lib/alfred_rails/configuration.rb +157 -0
  14. data/lib/alfred_rails/definition.rb +129 -0
  15. data/lib/alfred_rails/fixture_file.rb +70 -0
  16. data/lib/alfred_rails/mock.rb +14 -0
  17. data/lib/alfred_rails/rails.rb +14 -0
  18. data/lib/alfred_rails/registry.rb +84 -0
  19. data/lib/alfred_rails/request.rb +38 -0
  20. data/lib/alfred_rails/runner.rb +116 -0
  21. data/lib/alfred_rails/scenario.rb +99 -0
  22. data/lib/alfred_rails/scenario_dsl.rb +83 -0
  23. data/lib/alfred_rails/ui.rb +90 -0
  24. data/lib/alfred_rails/version.rb +3 -0
  25. data/lib/alfred_rails.rb +99 -0
  26. data/lib/generators/alfred/controller/controller_generator.rb +24 -0
  27. data/lib/generators/alfred/controller/templates/alfred.erb +7 -0
  28. data/lib/generators/alfred/install/install_generator.rb +85 -0
  29. data/lib/generators/alfred/install/templates/alfred_helper.erb +23 -0
  30. data/lib/tasks/alfred.rake +6 -0
  31. data/spec/command_line_spec.rb +64 -0
  32. data/spec/configuration_spec.rb +86 -0
  33. data/spec/definition_spec.rb +135 -0
  34. data/spec/fixture_file_spec.rb +60 -0
  35. data/spec/fixtures/database.yml +4 -0
  36. data/spec/generators/controller/controller_generator_spec.rb +23 -0
  37. data/spec/generators/install/install_generator_spec.rb +56 -0
  38. data/spec/javascripts/alfred/sinon_adapter_spec.js.coffee +33 -0
  39. data/spec/javascripts/alfred_spec.js.coffee +46 -0
  40. data/spec/javascripts/spec_helper.coffee +5 -0
  41. data/spec/mock_spec.rb +18 -0
  42. data/spec/registry_spec.rb +78 -0
  43. data/spec/request_spec.rb +32 -0
  44. data/spec/runner_spec.rb +179 -0
  45. data/spec/scenario_dsl_spec.rb +62 -0
  46. data/spec/scenario_spec.rb +24 -0
  47. data/spec/spec_helper.rb +24 -0
  48. data/spec/support/application.rb +21 -0
  49. data/spec/support/controllers/api/v1/posts_controller.rb +14 -0
  50. data/spec/support/controllers/api/v1/users_controller.rb +14 -0
  51. data/spec/support/lib/response_proxy.rb +11 -0
  52. data/spec/support/models/post.rb +1 -0
  53. data/spec/support/models/user.rb +1 -0
  54. data/spec/support/rails.rb +14 -0
  55. data/spec/support/routes.rb +9 -0
  56. data/spec/support/schema.rb +16 -0
  57. data/spec/teaspoon_env.rb +14 -0
  58. data/spec/ui_spec.rb +72 -0
  59. metadata +316 -0
@@ -0,0 +1,16 @@
1
+ ActiveRecord::Schema.define do
2
+ self.verbose = false
3
+
4
+ create_table :users, :force => true do |t|
5
+ t.string :name
6
+ t.string :email
7
+ t.timestamps
8
+ end
9
+
10
+ create_table :posts, :force => true do |t|
11
+ t.string :title
12
+ t.string :body
13
+ t.timestamps
14
+ end
15
+
16
+ end
@@ -0,0 +1,14 @@
1
+ require 'rails/all'
2
+ require 'teaspoon'
3
+ require File.expand_path('../support/application', __FILE__)
4
+
5
+ Teaspoon.setup do |config|
6
+ config.mount_at = '/teaspoon'
7
+ config.root = nil
8
+ config.asset_paths = ['spec/javascripts']
9
+
10
+ config.suite do |suite|
11
+ suite.javascripts = ['teaspoon-mocha']
12
+ end
13
+
14
+ end if defined?(Teaspoon) && Teaspoon.respond_to?(:setup) # let Teaspoon be undefined outside of development/test/asset groups
data/spec/ui_spec.rb ADDED
@@ -0,0 +1,72 @@
1
+ require 'spec_helper'
2
+
3
+ describe Alfred::UI do
4
+
5
+ before(:each) do
6
+ Time.stub(:now).and_return(Time.parse('08-04-2014 11:00:01'))
7
+ @log = ""
8
+ STDOUT.stub(:print) { |s| @log << s }
9
+ end
10
+
11
+ describe '#initialize' do
12
+
13
+ it 'should add en empty line before message if options[:empty_line_before] is true' do
14
+ message = Alfred::UI.new(:empty_line_before => true)
15
+ message.queue 'foo'
16
+ message.queue 'bar'
17
+ message.display
18
+ @log.should == "\nfoo\nbar\n"
19
+ end
20
+
21
+ it 'should add en empty line after message if options[:empty_line_after] is true' do
22
+ message = Alfred::UI.new(:empty_line_after => true)
23
+ message.queue 'foo'
24
+ message.queue 'bar'
25
+ message.display
26
+ @log.should == "foo\nbar\n\n"
27
+ end
28
+
29
+ end
30
+
31
+ describe '#queue' do
32
+
33
+ it 'should add item to the queue with a timestamp if options[:timestamp] is true' do
34
+ message = Alfred::UI.new
35
+ message.queue('foo', :timestamp => true)
36
+ message.queue('bar')
37
+ message.display
38
+ @log.should == "11:00:01 - INFO - foo\nbar\n"
39
+ end
40
+
41
+ it 'should add item before if options[:before] is true' do
42
+ message = Alfred::UI.new
43
+ message.queue('foo')
44
+ message.queue('bar', :before => true)
45
+ message.display
46
+ @log.should == "bar\nfoo\n"
47
+ end
48
+
49
+ end
50
+
51
+ describe '#display' do
52
+
53
+ it 'should display a message' do
54
+ message = Alfred::UI.new
55
+ message.queue('foo')
56
+ message.queue('bar')
57
+ message.display
58
+ @log.should == "foo\nbar\n"
59
+ end
60
+
61
+ end
62
+
63
+ describe '#info' do
64
+
65
+ it 'should display a message with timestamp' do
66
+ Alfred::UI.info 'foo!'
67
+ @log.should == "11:00:01 - INFO - foo!\n"
68
+ end
69
+
70
+ end
71
+
72
+ end
metadata ADDED
@@ -0,0 +1,316 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: alfred_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.alpha
5
+ platform: ruby
6
+ authors:
7
+ - Johan van Zonneveld
8
+ - Arjen Oosterkamp
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-04-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 1.0.0
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: coveralls
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '2.3'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '2.3'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec-rails
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '2.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '2.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: batman-rails
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: sqlite3
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: teaspoon
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: coffee-script
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: database_cleaner
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: ruby-progressbar
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: ammeter
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :runtime
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: rails
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 3.2.0
189
+ type: :runtime
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: 3.2.0
196
+ description: Alfred creates fixture files of your controller responses so you can
197
+ use them in your tests. Ideal if your app's client is build with a javascript framework
198
+ and you want to test responses under several conditions.
199
+ email:
200
+ - johan@vzonneveld.nl
201
+ - mail@arjen.me
202
+ executables:
203
+ - alfred
204
+ extensions: []
205
+ extra_rdoc_files: []
206
+ files:
207
+ - ".gitignore"
208
+ - ".travis.yml"
209
+ - Gemfile
210
+ - LICENSE.txt
211
+ - README.md
212
+ - Rakefile
213
+ - alfred_rails.gemspec
214
+ - app/assets/javascripts/alfred.js.coffee
215
+ - app/assets/javascripts/alfred/sinon_adapter.js.coffee
216
+ - bin/alfred
217
+ - lib/alfred_rails.rb
218
+ - lib/alfred_rails/command_line.rb
219
+ - lib/alfred_rails/configuration.rb
220
+ - lib/alfred_rails/definition.rb
221
+ - lib/alfred_rails/fixture_file.rb
222
+ - lib/alfred_rails/mock.rb
223
+ - lib/alfred_rails/rails.rb
224
+ - lib/alfred_rails/registry.rb
225
+ - lib/alfred_rails/request.rb
226
+ - lib/alfred_rails/runner.rb
227
+ - lib/alfred_rails/scenario.rb
228
+ - lib/alfred_rails/scenario_dsl.rb
229
+ - lib/alfred_rails/ui.rb
230
+ - lib/alfred_rails/version.rb
231
+ - lib/generators/alfred/controller/controller_generator.rb
232
+ - lib/generators/alfred/controller/templates/alfred.erb
233
+ - lib/generators/alfred/install/install_generator.rb
234
+ - lib/generators/alfred/install/templates/alfred_helper.erb
235
+ - lib/tasks/alfred.rake
236
+ - spec/command_line_spec.rb
237
+ - spec/configuration_spec.rb
238
+ - spec/definition_spec.rb
239
+ - spec/fixture_file_spec.rb
240
+ - spec/fixtures/database.yml
241
+ - spec/generators/controller/controller_generator_spec.rb
242
+ - spec/generators/install/install_generator_spec.rb
243
+ - spec/javascripts/alfred/sinon_adapter_spec.js.coffee
244
+ - spec/javascripts/alfred_spec.js.coffee
245
+ - spec/javascripts/spec_helper.coffee
246
+ - spec/mock_spec.rb
247
+ - spec/registry_spec.rb
248
+ - spec/request_spec.rb
249
+ - spec/runner_spec.rb
250
+ - spec/scenario_dsl_spec.rb
251
+ - spec/scenario_spec.rb
252
+ - spec/spec_helper.rb
253
+ - spec/support/application.rb
254
+ - spec/support/controllers/api/v1/posts_controller.rb
255
+ - spec/support/controllers/api/v1/users_controller.rb
256
+ - spec/support/lib/response_proxy.rb
257
+ - spec/support/models/post.rb
258
+ - spec/support/models/user.rb
259
+ - spec/support/rails.rb
260
+ - spec/support/routes.rb
261
+ - spec/support/schema.rb
262
+ - spec/teaspoon_env.rb
263
+ - spec/ui_spec.rb
264
+ homepage: https://github.com/jhnvz/alfred_rails.git
265
+ licenses:
266
+ - MIT
267
+ metadata: {}
268
+ post_install_message:
269
+ rdoc_options: []
270
+ require_paths:
271
+ - lib
272
+ required_ruby_version: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ required_rubygems_version: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">"
280
+ - !ruby/object:Gem::Version
281
+ version: 1.3.1
282
+ requirements: []
283
+ rubyforge_project:
284
+ rubygems_version: 2.2.2
285
+ signing_key:
286
+ specification_version: 4
287
+ summary: Serves controller responses under several conditions.
288
+ test_files:
289
+ - spec/command_line_spec.rb
290
+ - spec/configuration_spec.rb
291
+ - spec/definition_spec.rb
292
+ - spec/fixture_file_spec.rb
293
+ - spec/fixtures/database.yml
294
+ - spec/generators/controller/controller_generator_spec.rb
295
+ - spec/generators/install/install_generator_spec.rb
296
+ - spec/javascripts/alfred/sinon_adapter_spec.js.coffee
297
+ - spec/javascripts/alfred_spec.js.coffee
298
+ - spec/javascripts/spec_helper.coffee
299
+ - spec/mock_spec.rb
300
+ - spec/registry_spec.rb
301
+ - spec/request_spec.rb
302
+ - spec/runner_spec.rb
303
+ - spec/scenario_dsl_spec.rb
304
+ - spec/scenario_spec.rb
305
+ - spec/spec_helper.rb
306
+ - spec/support/application.rb
307
+ - spec/support/controllers/api/v1/posts_controller.rb
308
+ - spec/support/controllers/api/v1/users_controller.rb
309
+ - spec/support/lib/response_proxy.rb
310
+ - spec/support/models/post.rb
311
+ - spec/support/models/user.rb
312
+ - spec/support/rails.rb
313
+ - spec/support/routes.rb
314
+ - spec/support/schema.rb
315
+ - spec/teaspoon_env.rb
316
+ - spec/ui_spec.rb