cangaroo 1.1.0 → 1.2.0

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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/Rakefile +13 -11
  4. data/app/controllers/cangaroo/endpoint_controller.rb +24 -4
  5. data/app/interactors/cangaroo/count_json_object.rb +3 -0
  6. data/app/interactors/cangaroo/run_polls.rb +12 -0
  7. data/app/interactors/cangaroo/validate_json_schema.rb +9 -3
  8. data/app/jobs/cangaroo/job.rb +9 -27
  9. data/app/jobs/cangaroo/poll_job.rb +67 -0
  10. data/app/models/cangaroo/connection.rb +10 -2
  11. data/app/models/cangaroo/poll_timestamp.rb +17 -0
  12. data/db/migrate/20151030140821_add_parameters_to_cangaroo_connection.rb +1 -1
  13. data/db/migrate/20160317020230_create_cangaroo_poll_timestamps.rb +12 -0
  14. data/lib/cangaroo.rb +2 -0
  15. data/lib/cangaroo/class_configuration.rb +24 -0
  16. data/lib/cangaroo/engine.rb +2 -0
  17. data/lib/cangaroo/logger.rb +66 -0
  18. data/lib/cangaroo/version.rb +1 -1
  19. data/lib/cangaroo/webhook/client.rb +21 -3
  20. data/lib/tasks/cangaroo_tasks.rake +7 -4
  21. data/spec/controllers/cangaroo/endpoint_controller_spec.rb +75 -35
  22. data/spec/fixtures/json_payload_connection_response.json +1 -0
  23. data/spec/fixtures/json_payload_empty.json +3 -0
  24. data/spec/interactors/cangaroo/perform_jobs_spec.rb +28 -13
  25. data/spec/interactors/cangaroo/run_polls_spec.rb +18 -0
  26. data/spec/interactors/cangaroo/validate_json_schema_spec.rb +8 -0
  27. data/spec/jobs/cangaroo/job_spec.rb +12 -1
  28. data/spec/jobs/cangaroo/poll_job_spec.rb +107 -0
  29. data/spec/lib/cangaroo/webhook/client_spec.rb +38 -0
  30. data/spec/rails_helper.rb +18 -44
  31. data/spec/support/database_cleaner.rb +14 -0
  32. data/spec/support/factory_girl.rb +5 -0
  33. data/spec/support/rails_app.rb +29 -0
  34. data/spec/support/shoulda_matchers.rb +8 -0
  35. data/spec/support/webmock.rb +8 -0
  36. metadata +71 -87
  37. data/spec/dummy/README.rdoc +0 -28
  38. data/spec/dummy/Rakefile +0 -6
  39. data/spec/dummy/app/assets/javascripts/application.js +0 -13
  40. data/spec/dummy/app/assets/stylesheets/application.css +0 -15
  41. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  42. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  43. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  44. data/spec/dummy/bin/bundle +0 -3
  45. data/spec/dummy/bin/rails +0 -4
  46. data/spec/dummy/bin/rake +0 -4
  47. data/spec/dummy/bin/setup +0 -29
  48. data/spec/dummy/config.ru +0 -4
  49. data/spec/dummy/config/application.rb +0 -31
  50. data/spec/dummy/config/boot.rb +0 -5
  51. data/spec/dummy/config/database.yml +0 -11
  52. data/spec/dummy/config/environment.rb +0 -5
  53. data/spec/dummy/config/environments/development.rb +0 -41
  54. data/spec/dummy/config/environments/production.rb +0 -79
  55. data/spec/dummy/config/environments/test.rb +0 -42
  56. data/spec/dummy/config/initializers/assets.rb +0 -11
  57. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  58. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
  59. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  60. data/spec/dummy/config/initializers/inflections.rb +0 -16
  61. data/spec/dummy/config/initializers/mime_types.rb +0 -4
  62. data/spec/dummy/config/initializers/session_store.rb +0 -3
  63. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -9
  64. data/spec/dummy/config/locales/en.yml +0 -23
  65. data/spec/dummy/config/routes.rb +0 -4
  66. data/spec/dummy/config/secrets.yml +0 -22
  67. data/spec/dummy/db/development.sqlite3 +0 -0
  68. data/spec/dummy/db/schema.rb +0 -29
  69. data/spec/dummy/db/test.sqlite3 +0 -0
  70. data/spec/dummy/log/cangaroo.log +0 -0
  71. data/spec/dummy/log/development.log +0 -4024
  72. data/spec/dummy/log/test.log +0 -166964
  73. data/spec/dummy/public/404.html +0 -67
  74. data/spec/dummy/public/422.html +0 -67
  75. data/spec/dummy/public/500.html +0 -66
  76. data/spec/dummy/public/favicon.ico +0 -0
@@ -1,5 +1,6 @@
1
1
  require 'simplecov'
2
2
  require 'codeclimate-test-reporter'
3
+ require 'pry-byebug'
3
4
 
4
5
  SimpleCov.start 'rails' do
5
6
  add_group 'Commands', 'app/commands'
@@ -8,7 +9,9 @@ CodeClimate::TestReporter.start
8
9
 
9
10
  # This file is copied to spec/ when you run 'rails generate rspec:install'
10
11
  ENV['RAILS_ENV'] ||= 'test'
11
- require File.expand_path('../dummy/config/environment.rb', __FILE__)
12
+ require File.expand_path('../support/rails_app.rb', __FILE__)
13
+
14
+ puts "Testing against version #{ActiveRecord::VERSION::STRING}"
12
15
 
13
16
  # Prevent database truncation if the environment is production
14
17
  if Rails.env.production?
@@ -17,56 +20,27 @@ end
17
20
 
18
21
  require 'spec_helper'
19
22
  require 'rspec/rails'
20
- require 'shoulda-matchers'
21
- require 'factory_girl_rails'
22
- require 'database_cleaner'
23
- require 'webmock/rspec'
24
-
25
- # Add additional requires below this line. Rails is not loaded until this point!
26
23
 
27
- # Requires supporting ruby files with custom matchers and macros, etc, in
28
- # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
29
- # run as spec files by default. This means that files in spec/support that end
30
- # in _spec.rb will both be required and run as specs, causing the specs to be
31
- # run twice. It is recommended that you do not name files matching this glob to
32
- # end with _spec.rb. You can configure this pattern with the --pattern
33
- # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
34
- #
35
- # The following line is provided for convenience purposes. It has the downside
36
- # of increasing the boot-up time by auto-requiring all files in the support
37
- # directory. Alternatively, in the individual `*_spec.rb` files, manually
38
- # require only the support files necessary.
39
- # Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
40
- Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f }
24
+ # We manually require each file to make sure the files are required in the
25
+ # correct order and no exceptions come up because of wrong require order
26
+ %w(
27
+ database_cleaner
28
+ webmock
29
+ shoulda_matchers
30
+ factory_girl
31
+ spec_helpers
32
+ ).each { |path| require File.expand_path("../support/#{path}.rb", __FILE__) }
41
33
 
42
34
  # Checks for pending migrations before tests are run.
43
35
  # If you are not using ActiveRecord, you can remove this line.
44
36
  ActiveRecord::Migration.maintain_test_schema!
45
37
 
46
- Shoulda::Matchers.configure do |config|
47
- config.integrate do |with|
48
- with.test_framework :rspec
49
- with.library :rails
50
- end
51
- end
52
-
53
38
  RSpec.configure do |config|
54
- config.include FactoryGirl::Syntax::Methods
55
-
56
- # whitelist codeclimate.com so test coverage can be reported
57
- config.after(:suite) do
58
- WebMock.disable_net_connect!(allow: 'codeclimate.com')
59
- end
60
-
61
- config.before(:suite) do
62
- DatabaseCleaner.strategy = :transaction
63
- DatabaseCleaner.clean_with(:truncation)
64
- end
65
-
66
- config.around(:each) do |example|
67
- DatabaseCleaner.cleaning do
68
- example.run
69
- end
39
+ # reset config before each spec
40
+ config.before(:each) do
41
+ Rails.configuration.cangaroo.basic_auth = false
42
+ Rails.configuration.cangaroo.jobs = []
43
+ Rails.configuration.cangaroo.poll_job = []
70
44
  end
71
45
 
72
46
  # The different available types are documented in the features, such as in
@@ -0,0 +1,14 @@
1
+ require 'database_cleaner'
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:suite) do
5
+ DatabaseCleaner.strategy = :transaction
6
+ DatabaseCleaner.clean_with(:truncation)
7
+ end
8
+
9
+ config.around(:each) do |example|
10
+ DatabaseCleaner.cleaning do
11
+ example.run
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,5 @@
1
+ require 'factory_girl_rails'
2
+
3
+ RSpec.configure do |config|
4
+ config.include FactoryGirl::Syntax::Methods
5
+ end
@@ -0,0 +1,29 @@
1
+ require 'active_record/railtie'
2
+ require 'action_controller/railtie'
3
+ require 'active_job/railtie'
4
+ require 'action_dispatch/railtie'
5
+ require 'securerandom'
6
+
7
+ require 'cangaroo'
8
+
9
+ database_path = File.expand_path('../../../tmp/cangaroo_test.sqlite3', __FILE__)
10
+ ENV['DATABASE_URL'] = "sqlite3://#{database_path}"
11
+
12
+ # Initialize our test app
13
+
14
+ class RailsApp < Rails::Application
15
+ config.secret_key_base = SecureRandom.hex
16
+ config.eager_load = false
17
+ end
18
+
19
+ ActiveSupport.on_load(:action_controller) do
20
+ wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
21
+ end
22
+
23
+ RailsApp.initialize!
24
+
25
+ ActiveRecord::Migrator.migrate "db/migrate"
26
+
27
+ RailsApp.routes.draw do
28
+ mount Cangaroo::Engine => "/cangaroo"
29
+ end
@@ -0,0 +1,8 @@
1
+ require 'shoulda-matchers'
2
+
3
+ Shoulda::Matchers.configure do |config|
4
+ config.integrate do |with|
5
+ with.test_framework :rspec
6
+ with.library :rails
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'webmock/rspec'
2
+
3
+ RSpec.configure do |config|
4
+ # whitelist codeclimate.com so test coverage can be reported
5
+ config.after(:suite) do
6
+ WebMock.disable_net_connect!(allow: 'codeclimate.com')
7
+ end
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cangaroo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessio Rocco
@@ -9,20 +9,20 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-03-25 00:00:00.000000000 Z
12
+ date: 2016-05-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 4.2.4
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 4.2.4
28
28
  - !ruby/object:Gem::Dependency
@@ -67,6 +67,20 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.13.7
70
+ - !ruby/object:Gem::Dependency
71
+ name: appraisal
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: codeclimate-test-reporter
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +124,21 @@ dependencies:
110
124
  - !ruby/object:Gem::Version
111
125
  version: '0'
112
126
  - !ruby/object:Gem::Dependency
113
- name: pg
127
+ name: pry-byebug
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: rake
114
142
  requirement: !ruby/object:Gem::Requirement
115
143
  requirements:
116
144
  - - ">="
@@ -179,6 +207,20 @@ dependencies:
179
207
  - - ">="
180
208
  - !ruby/object:Gem::Version
181
209
  version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: sqlite3
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
182
224
  - !ruby/object:Gem::Dependency
183
225
  name: webmock
184
226
  requirement: !ruby/object:Gem::Requirement
@@ -209,61 +251,28 @@ files:
209
251
  - app/interactors/cangaroo/handle_request.rb
210
252
  - app/interactors/cangaroo/perform_flow.rb
211
253
  - app/interactors/cangaroo/perform_jobs.rb
254
+ - app/interactors/cangaroo/run_polls.rb
212
255
  - app/interactors/cangaroo/validate_json_schema.rb
213
256
  - app/jobs/cangaroo/job.rb
257
+ - app/jobs/cangaroo/poll_job.rb
214
258
  - app/models/cangaroo/connection.rb
259
+ - app/models/cangaroo/poll_timestamp.rb
215
260
  - config/routes.rb
216
261
  - db/migrate/20151028172151_create_cangaroo_connections.rb
217
262
  - db/migrate/20151030140821_add_parameters_to_cangaroo_connection.rb
263
+ - db/migrate/20160317020230_create_cangaroo_poll_timestamps.rb
218
264
  - lib/cangaroo.rb
265
+ - lib/cangaroo/class_configuration.rb
219
266
  - lib/cangaroo/engine.rb
267
+ - lib/cangaroo/logger.rb
220
268
  - lib/cangaroo/version.rb
221
269
  - lib/cangaroo/webhook/client.rb
222
270
  - lib/cangaroo/webhook/error.rb
223
271
  - lib/tasks/cangaroo_tasks.rake
224
272
  - spec/controllers/cangaroo/endpoint_controller_spec.rb
225
- - spec/dummy/README.rdoc
226
- - spec/dummy/Rakefile
227
- - spec/dummy/app/assets/javascripts/application.js
228
- - spec/dummy/app/assets/stylesheets/application.css
229
- - spec/dummy/app/controllers/application_controller.rb
230
- - spec/dummy/app/helpers/application_helper.rb
231
- - spec/dummy/app/views/layouts/application.html.erb
232
- - spec/dummy/bin/bundle
233
- - spec/dummy/bin/rails
234
- - spec/dummy/bin/rake
235
- - spec/dummy/bin/setup
236
- - spec/dummy/config.ru
237
- - spec/dummy/config/application.rb
238
- - spec/dummy/config/boot.rb
239
- - spec/dummy/config/database.yml
240
- - spec/dummy/config/environment.rb
241
- - spec/dummy/config/environments/development.rb
242
- - spec/dummy/config/environments/production.rb
243
- - spec/dummy/config/environments/test.rb
244
- - spec/dummy/config/initializers/assets.rb
245
- - spec/dummy/config/initializers/backtrace_silencers.rb
246
- - spec/dummy/config/initializers/cookies_serializer.rb
247
- - spec/dummy/config/initializers/filter_parameter_logging.rb
248
- - spec/dummy/config/initializers/inflections.rb
249
- - spec/dummy/config/initializers/mime_types.rb
250
- - spec/dummy/config/initializers/session_store.rb
251
- - spec/dummy/config/initializers/wrap_parameters.rb
252
- - spec/dummy/config/locales/en.yml
253
- - spec/dummy/config/routes.rb
254
- - spec/dummy/config/secrets.yml
255
- - spec/dummy/db/development.sqlite3
256
- - spec/dummy/db/schema.rb
257
- - spec/dummy/db/test.sqlite3
258
- - spec/dummy/log/cangaroo.log
259
- - spec/dummy/log/development.log
260
- - spec/dummy/log/test.log
261
- - spec/dummy/public/404.html
262
- - spec/dummy/public/422.html
263
- - spec/dummy/public/500.html
264
- - spec/dummy/public/favicon.ico
265
273
  - spec/factories/cangaroo_connections.rb
266
274
  - spec/fixtures/json_payload_connection_response.json
275
+ - spec/fixtures/json_payload_empty.json
267
276
  - spec/fixtures/json_payload_no_id.json
268
277
  - spec/fixtures/json_payload_ok.json
269
278
  - spec/fixtures/json_payload_wrong_key.json
@@ -272,13 +281,20 @@ files:
272
281
  - spec/interactors/cangaroo/handle_request_spec.rb
273
282
  - spec/interactors/cangaroo/perform_flow_spec.rb
274
283
  - spec/interactors/cangaroo/perform_jobs_spec.rb
284
+ - spec/interactors/cangaroo/run_polls_spec.rb
275
285
  - spec/interactors/cangaroo/validate_json_schema_spec.rb
276
286
  - spec/jobs/cangaroo/job_spec.rb
287
+ - spec/jobs/cangaroo/poll_job_spec.rb
277
288
  - spec/lib/cangaroo/webhook/client_spec.rb
278
289
  - spec/models/cangaroo/connection_spec.rb
279
290
  - spec/rails_helper.rb
280
291
  - spec/spec_helper.rb
292
+ - spec/support/database_cleaner.rb
293
+ - spec/support/factory_girl.rb
294
+ - spec/support/rails_app.rb
295
+ - spec/support/shoulda_matchers.rb
281
296
  - spec/support/spec_helpers.rb
297
+ - spec/support/webmock.rb
282
298
  homepage: https://github.com/nebulab/cangaroo
283
299
  licenses:
284
300
  - MIT
@@ -291,7 +307,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
307
  requirements:
292
308
  - - ">="
293
309
  - !ruby/object:Gem::Version
294
- version: '0'
310
+ version: 2.2.0
295
311
  required_rubygems_version: !ruby/object:Gem::Requirement
296
312
  requirements:
297
313
  - - ">="
@@ -299,54 +315,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
299
315
  version: '0'
300
316
  requirements: []
301
317
  rubyforge_project:
302
- rubygems_version: 2.5.0
318
+ rubygems_version: 2.6.3
303
319
  signing_key:
304
320
  specification_version: 4
305
321
  summary: Connect Any App to Any Service
306
322
  test_files:
307
323
  - spec/controllers/cangaroo/endpoint_controller_spec.rb
308
- - spec/dummy/app/assets/javascripts/application.js
309
- - spec/dummy/app/assets/stylesheets/application.css
310
- - spec/dummy/app/controllers/application_controller.rb
311
- - spec/dummy/app/helpers/application_helper.rb
312
- - spec/dummy/app/views/layouts/application.html.erb
313
- - spec/dummy/bin/bundle
314
- - spec/dummy/bin/rails
315
- - spec/dummy/bin/rake
316
- - spec/dummy/bin/setup
317
- - spec/dummy/config/application.rb
318
- - spec/dummy/config/boot.rb
319
- - spec/dummy/config/database.yml
320
- - spec/dummy/config/environment.rb
321
- - spec/dummy/config/environments/development.rb
322
- - spec/dummy/config/environments/production.rb
323
- - spec/dummy/config/environments/test.rb
324
- - spec/dummy/config/initializers/assets.rb
325
- - spec/dummy/config/initializers/backtrace_silencers.rb
326
- - spec/dummy/config/initializers/cookies_serializer.rb
327
- - spec/dummy/config/initializers/filter_parameter_logging.rb
328
- - spec/dummy/config/initializers/inflections.rb
329
- - spec/dummy/config/initializers/mime_types.rb
330
- - spec/dummy/config/initializers/session_store.rb
331
- - spec/dummy/config/initializers/wrap_parameters.rb
332
- - spec/dummy/config/locales/en.yml
333
- - spec/dummy/config/routes.rb
334
- - spec/dummy/config/secrets.yml
335
- - spec/dummy/config.ru
336
- - spec/dummy/db/development.sqlite3
337
- - spec/dummy/db/schema.rb
338
- - spec/dummy/db/test.sqlite3
339
- - spec/dummy/log/cangaroo.log
340
- - spec/dummy/log/development.log
341
- - spec/dummy/log/test.log
342
- - spec/dummy/public/404.html
343
- - spec/dummy/public/422.html
344
- - spec/dummy/public/500.html
345
- - spec/dummy/public/favicon.ico
346
- - spec/dummy/Rakefile
347
- - spec/dummy/README.rdoc
348
324
  - spec/factories/cangaroo_connections.rb
349
325
  - spec/fixtures/json_payload_connection_response.json
326
+ - spec/fixtures/json_payload_empty.json
350
327
  - spec/fixtures/json_payload_no_id.json
351
328
  - spec/fixtures/json_payload_ok.json
352
329
  - spec/fixtures/json_payload_wrong_key.json
@@ -355,10 +332,17 @@ test_files:
355
332
  - spec/interactors/cangaroo/handle_request_spec.rb
356
333
  - spec/interactors/cangaroo/perform_flow_spec.rb
357
334
  - spec/interactors/cangaroo/perform_jobs_spec.rb
335
+ - spec/interactors/cangaroo/run_polls_spec.rb
358
336
  - spec/interactors/cangaroo/validate_json_schema_spec.rb
359
337
  - spec/jobs/cangaroo/job_spec.rb
338
+ - spec/jobs/cangaroo/poll_job_spec.rb
360
339
  - spec/lib/cangaroo/webhook/client_spec.rb
361
340
  - spec/models/cangaroo/connection_spec.rb
362
341
  - spec/rails_helper.rb
363
342
  - spec/spec_helper.rb
343
+ - spec/support/database_cleaner.rb
344
+ - spec/support/factory_girl.rb
345
+ - spec/support/rails_app.rb
346
+ - spec/support/shoulda_matchers.rb
364
347
  - spec/support/spec_helpers.rb
348
+ - spec/support/webmock.rb
@@ -1,28 +0,0 @@
1
- == README
2
-
3
- This README would normally document whatever steps are necessary to get the
4
- application up and running.
5
-
6
- Things you may want to cover:
7
-
8
- * Ruby version
9
-
10
- * System dependencies
11
-
12
- * Configuration
13
-
14
- * Database creation
15
-
16
- * Database initialization
17
-
18
- * How to run the test suite
19
-
20
- * Services (job queues, cache servers, search engines, etc.)
21
-
22
- * Deployment instructions
23
-
24
- * ...
25
-
26
-
27
- Please feel free to use a different markup language if you do not plan to run
28
- <tt>rake doc:app</tt>.