loga 2.7.0 → 2.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-and-test.yml +72 -0
  3. data/.github/workflows/publish-gem.yml +28 -0
  4. data/.rubocop.yml +4 -0
  5. data/.rubocop_todo.yml +206 -0
  6. data/Appraisals +58 -46
  7. data/CHANGELOG.md +10 -0
  8. data/Gemfile +22 -0
  9. data/gemfiles/rails52.gemfile +23 -1
  10. data/gemfiles/rails60.gemfile +22 -0
  11. data/gemfiles/rails61.gemfile +22 -0
  12. data/gemfiles/rails70.gemfile +24 -0
  13. data/gemfiles/rails71.gemfile +35 -0
  14. data/gemfiles/sidekiq51.gemfile +22 -0
  15. data/gemfiles/sidekiq60.gemfile +22 -0
  16. data/gemfiles/sidekiq61.gemfile +22 -0
  17. data/gemfiles/sidekiq62.gemfile +22 -0
  18. data/gemfiles/sidekiq63.gemfile +22 -0
  19. data/gemfiles/sidekiq64.gemfile +22 -0
  20. data/gemfiles/sidekiq65.gemfile +22 -0
  21. data/gemfiles/sidekiq7.gemfile +22 -0
  22. data/gemfiles/sidekiq70.gemfile +22 -0
  23. data/gemfiles/sidekiq71.gemfile +22 -0
  24. data/gemfiles/sinatra14.gemfile +22 -0
  25. data/gemfiles/sinatra2.gemfile +33 -0
  26. data/gemfiles/sinatra3.gemfile +33 -0
  27. data/gemfiles/sinatra4.gemfile +33 -0
  28. data/gemfiles/unit.gemfile +22 -0
  29. data/lib/loga/formatters/gelf_formatter.rb +13 -6
  30. data/lib/loga/railtie.rb +2 -2
  31. data/lib/loga/version.rb +1 -1
  32. data/loga.gemspec +0 -15
  33. data/spec/fixtures/{rails50.rb → rails71.rb} +1 -1
  34. data/spec/integration/rails/action_mailer_spec.rb +2 -0
  35. data/spec/integration/rails/railtie_spec.rb +13 -3
  36. data/spec/integration/rails/request_spec.rb +4 -2
  37. data/spec/integration/sidekiq5_spec.rb +15 -13
  38. data/spec/integration/sidekiq60_spec.rb +3 -3
  39. data/spec/integration/sidekiq61_spec.rb +6 -4
  40. data/spec/integration/sidekiq65_spec.rb +1 -1
  41. data/spec/integration/sinatra_spec.rb +9 -6
  42. data/spec/loga/sidekiq5/job_logger_spec.rb +2 -0
  43. data/spec/loga/sidekiq6/job_logger_spec.rb +3 -1
  44. data/spec/loga/sidekiq7/job_logger_spec.rb +3 -1
  45. data/spec/loga/sidekiq_spec.rb +4 -2
  46. data/spec/spec_helper.rb +6 -3
  47. data/spec/support/gethostname_shared.rb +3 -1
  48. data/spec/support/helpers.rb +2 -0
  49. data/spec/support/request_spec.rb +83 -81
  50. data/spec/support/timecop_shared.rb +3 -1
  51. data/spec/unit/loga/configuration_spec.rb +11 -9
  52. data/spec/unit/loga/event_spec.rb +4 -2
  53. data/spec/unit/loga/formatters/gelf_formatter_spec.rb +38 -13
  54. data/spec/unit/loga/formatters/simple_formatter_spec.rb +7 -5
  55. data/spec/unit/loga/log_subscribers/action_mailer_spec.rb +6 -4
  56. data/spec/unit/loga/parameter_filter_spec.rb +2 -0
  57. data/spec/unit/loga/rack/logger_spec.rb +18 -16
  58. data/spec/unit/loga/rack/request_spec.rb +2 -0
  59. data/spec/unit/loga/service_version_strategies_spec.rb +2 -0
  60. data/spec/unit/loga/utilities_spec.rb +2 -0
  61. data/spec/unit/loga_spec.rb +3 -1
  62. metadata +12 -206
  63. data/.circleci/config.yml +0 -112
  64. data/gemfiles/rails42.gemfile +0 -11
  65. data/gemfiles/rails50.gemfile +0 -11
  66. data/spec/fixtures/rails42.rb +0 -80
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'rack/test'
3
5
 
@@ -40,22 +42,22 @@ describe Loga::Rack::Logger do
40
42
  middleware.call(env, started_at)
41
43
 
42
44
  expect(Loga::Event).to have_received(:new).with(
43
- data: {
45
+ data: {
44
46
  request: {
45
- 'status' => response_status,
46
- 'method' => 'GET',
47
- 'path' => '/about_us',
48
- 'params' => { 'limit' => '1' },
47
+ 'status' => response_status,
48
+ 'method' => 'GET',
49
+ 'path' => '/about_us',
50
+ 'params' => { 'limit' => '1' },
49
51
  'request_id' => nil,
50
52
  'request_ip' => nil,
51
53
  'user_agent' => nil,
52
- 'duration' => 500,
54
+ 'duration' => 500,
53
55
  },
54
56
  },
55
57
  exception: logged_exception,
56
- message: %r{^GET \/about_us\?limit=1 #{response_status} in \d+ms$},
58
+ message: %r{^GET /about_us\?limit=1 #{response_status} in \d+ms$},
57
59
  timestamp: started_at,
58
- type: 'request',
60
+ type: 'request',
59
61
  )
60
62
  end
61
63
 
@@ -82,22 +84,22 @@ describe Loga::Rack::Logger do
82
84
  expect { middleware.call(env, started_at) }.to raise_error(exception_class)
83
85
 
84
86
  expect(Loga::Event).to have_received(:new).with(
85
- data: {
87
+ data: {
86
88
  request: {
87
- 'status' => response_status,
88
- 'method' => 'GET',
89
- 'path' => '/about_us',
90
- 'params' => { 'limit' => '1' },
89
+ 'status' => response_status,
90
+ 'method' => 'GET',
91
+ 'path' => '/about_us',
92
+ 'params' => { 'limit' => '1' },
91
93
  'request_id' => nil,
92
94
  'request_ip' => nil,
93
95
  'user_agent' => nil,
94
- 'duration' => 500,
96
+ 'duration' => 500,
95
97
  },
96
98
  },
97
99
  exception: logged_exception,
98
- message: %r{^GET \/about_us\?limit=1 #{response_status} in \d+ms$},
100
+ message: %r{^GET /about_us\?limit=1 #{response_status} in \d+ms$},
99
101
  timestamp: started_at,
100
- type: 'request',
102
+ type: 'request',
101
103
  )
102
104
  end
103
105
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Loga::Rack::Request do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe Loga::ServiceVersionStrategies do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Loga::Utilities do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Loga do
@@ -64,7 +66,7 @@ describe Loga do
64
66
  context 'when Loga is configured' do
65
67
  before { subject.configure(options) }
66
68
 
67
- specify { expect(subject.logger).to be_kind_of(Logger) }
69
+ specify { expect(subject.logger).to be_a(Logger) }
68
70
  end
69
71
  end
70
72
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loga
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Funding Circle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-03 00:00:00.000000000 Z
11
+ date: 2024-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,202 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: appraisal
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.4'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.4'
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '1.6'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '1.6'
69
- - !ruby/object:Gem::Dependency
70
- name: byebug
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: guard
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '2.13'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '2.13'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '4.7'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '4.7'
111
- - !ruby/object:Gem::Dependency
112
- name: guard-rubocop
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '1.2'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '1.2'
125
- - !ruby/object:Gem::Dependency
126
- name: pry
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rack-test
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rake
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: fakeredis
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: rspec
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: '3.7'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '3.7'
195
- - !ruby/object:Gem::Dependency
196
- name: rubocop
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: 0.57.0
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: 0.57.0
209
- - !ruby/object:Gem::Dependency
210
- name: rubocop-rspec
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: timecop
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
41
  description: Log aggregation through unified logging middleware, while respecting
238
42
  the original log format.
239
43
  email:
@@ -242,11 +46,13 @@ executables: []
242
46
  extensions: []
243
47
  extra_rdoc_files: []
244
48
  files:
245
- - ".circleci/config.yml"
246
49
  - ".codeclimate.yml"
50
+ - ".github/workflows/build-and-test.yml"
51
+ - ".github/workflows/publish-gem.yml"
247
52
  - ".gitignore"
248
53
  - ".rspec"
249
54
  - ".rubocop.yml"
55
+ - ".rubocop_todo.yml"
250
56
  - Appraisals
251
57
  - CHANGELOG.md
252
58
  - Gemfile
@@ -254,12 +60,11 @@ files:
254
60
  - LICENSE.txt
255
61
  - README.md
256
62
  - Rakefile
257
- - gemfiles/rails42.gemfile
258
- - gemfiles/rails50.gemfile
259
63
  - gemfiles/rails52.gemfile
260
64
  - gemfiles/rails60.gemfile
261
65
  - gemfiles/rails61.gemfile
262
66
  - gemfiles/rails70.gemfile
67
+ - gemfiles/rails71.gemfile
263
68
  - gemfiles/sidekiq51.gemfile
264
69
  - gemfiles/sidekiq60.gemfile
265
70
  - gemfiles/sidekiq61.gemfile
@@ -271,6 +76,9 @@ files:
271
76
  - gemfiles/sidekiq70.gemfile
272
77
  - gemfiles/sidekiq71.gemfile
273
78
  - gemfiles/sinatra14.gemfile
79
+ - gemfiles/sinatra2.gemfile
80
+ - gemfiles/sinatra3.gemfile
81
+ - gemfiles/sinatra4.gemfile
274
82
  - gemfiles/unit.gemfile
275
83
  - lib/loga.rb
276
84
  - lib/loga/configuration.rb
@@ -297,12 +105,11 @@ files:
297
105
  - lib/loga/version.rb
298
106
  - loga.gemspec
299
107
  - spec/fixtures/README.md
300
- - spec/fixtures/rails42.rb
301
- - spec/fixtures/rails50.rb
302
108
  - spec/fixtures/rails52.rb
303
109
  - spec/fixtures/rails60.rb
304
110
  - spec/fixtures/rails61.rb
305
111
  - spec/fixtures/rails70.rb
112
+ - spec/fixtures/rails71.rb
306
113
  - spec/fixtures/random_bin
307
114
  - spec/integration/rails/action_mailer_spec.rb
308
115
  - spec/integration/rails/railtie_spec.rb
@@ -352,18 +159,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
159
  - !ruby/object:Gem::Version
353
160
  version: '0'
354
161
  requirements: []
355
- rubygems_version: 3.2.32
162
+ rubygems_version: 3.5.3
356
163
  signing_key:
357
164
  specification_version: 4
358
165
  summary: Facilitate log aggregation via unified logging
359
166
  test_files:
360
167
  - spec/fixtures/README.md
361
- - spec/fixtures/rails42.rb
362
- - spec/fixtures/rails50.rb
363
168
  - spec/fixtures/rails52.rb
364
169
  - spec/fixtures/rails60.rb
365
170
  - spec/fixtures/rails61.rb
366
171
  - spec/fixtures/rails70.rb
172
+ - spec/fixtures/rails71.rb
367
173
  - spec/fixtures/random_bin
368
174
  - spec/integration/rails/action_mailer_spec.rb
369
175
  - spec/integration/rails/railtie_spec.rb
data/.circleci/config.yml DELETED
@@ -1,112 +0,0 @@
1
- basic_build: &basic_build
2
- working_directory: ~/loga
3
- docker:
4
- - image: cimg/ruby:2.7.5
5
-
6
- test_build: &test_build
7
- working_directory: ~/loga
8
- steps:
9
- - checkout
10
- - &restore_gems
11
- restore_cache:
12
- keys:
13
- - v2-gems-{{ checksum "Gemfile" }}-{{ checksum "Appraisals"}}-{{ .Environment.CIRCLE_JOB }}
14
- - v2-gems-{{ checksum "Gemfile" }}
15
- - &bundle_install
16
- run: bundle install --jobs 4 --path=vendor/bundle --retry 3
17
- - run: bundle exec appraisal install
18
- - &cache_gems
19
- save_cache:
20
- key: v2-gems-{{ checksum "Gemfile" }}-{{ checksum "Appraisals"}}-{{ .Environment.CIRCLE_JOB }}
21
- paths:
22
- - gemfiles/vendor/bundle
23
- - vendor/bundle
24
- - attach_workspace:
25
- at: ./tmp
26
- - run: RACK_ENV=development bundle exec appraisal rspec
27
- - run: RACK_ENV=production bundle exec appraisal rspec
28
- - store_artifacts:
29
- path: coverage
30
-
31
- version: 2
32
- jobs:
33
- ruby-2.5:
34
- docker:
35
- - image: circleci/ruby:2.5
36
- <<: *test_build
37
- ruby-2.6:
38
- docker:
39
- - image: circleci/ruby:2.6
40
- <<: *test_build
41
- ruby-2.7:
42
- docker:
43
- - image: cimg/ruby:2.7
44
- - image: redis:7
45
- <<: *test_build
46
- ruby-3.0:
47
- docker:
48
- - image: cimg/ruby:3.0
49
- - image: redis:7
50
- <<: *test_build
51
- rubocop:
52
- <<: *basic_build
53
- steps:
54
- - checkout
55
- - *restore_gems
56
- - *bundle_install
57
- - *cache_gems
58
- - run: bundle exec rubocop
59
- push-to-rubygems:
60
- <<: *basic_build
61
- steps:
62
- - checkout
63
- - *restore_gems
64
- - *bundle_install
65
- - *cache_gems
66
- - run:
67
- name: Build the gem
68
- command: gem build $CIRCLE_PROJECT_REPONAME.gemspec
69
- - deploy:
70
- name: Publish to rubygems
71
- command: |
72
- mkdir ~/.gem
73
- echo ":rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
74
- chmod 0600 ~/.gem/credentials
75
- gem push $CIRCLE_PROJECT_REPONAME-$(echo $CIRCLE_TAG | sed -e 's/v//').gem
76
- workflows:
77
- version: 2
78
- test-then-push-gem:
79
- jobs:
80
- - rubocop:
81
- filters:
82
- tags:
83
- only: /.*/
84
- - ruby-2.5:
85
- filters:
86
- tags:
87
- only: /.*/
88
- - ruby-2.6:
89
- filters:
90
- tags:
91
- only: /.*/
92
- - ruby-2.7:
93
- filters:
94
- tags:
95
- only: /.*/
96
- - ruby-3.0:
97
- filters:
98
- tags:
99
- only: /.*/
100
- - push-to-rubygems:
101
- context: org-rubygems
102
- filters:
103
- tags:
104
- only: /^v\d.+/
105
- branches:
106
- ignore: /.*/
107
- requires:
108
- - rubocop
109
- - ruby-2.5
110
- - ruby-2.6
111
- - ruby-2.7
112
- - ruby-3.0
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 4.2.0"
6
-
7
- group :test do
8
- gem "simplecov"
9
- end
10
-
11
- gemspec path: "../"
@@ -1,11 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.0.0"
6
-
7
- group :test do
8
- gem "simplecov"
9
- end
10
-
11
- gemspec path: "../"
@@ -1,80 +0,0 @@
1
- require 'action_controller/railtie'
2
- require 'action_mailer/railtie'
3
-
4
- Bundler.require(*Rails.groups)
5
-
6
- STREAM = StringIO.new unless defined?(STREAM)
7
-
8
- class Dummy < Rails::Application
9
- config.eager_load = true
10
- config.filter_parameters += [:password]
11
- config.secret_key_base = '2624599ca9ab3cf3823626240138a128118a87683bf03ab8f155844c33b3cd8cbbfa3ef5e29db6f5bd182f8bd4776209d9577cfb46ac51bfd232b00ab0136b24'
12
- config.session_store :cookie_store, key: '_rails42_session'
13
-
14
- config.log_tags = [:uuid, 'TEST_TAG']
15
- config.loga = {
16
- device: STREAM,
17
- host: 'bird.example.com',
18
- service_name: 'hello_world_app',
19
- service_version: '1.0',
20
- }
21
- config.action_mailer.delivery_method = :test
22
- end
23
-
24
- class ApplicationController < ActionController::Base
25
- include Rails.application.routes.url_helpers
26
- protect_from_forgery
27
-
28
- def ok
29
- render text: 'Hello Rails'
30
- end
31
-
32
- def error
33
- nil.name
34
- end
35
-
36
- def show
37
- render json: params
38
- end
39
-
40
- def create
41
- render json: params
42
- end
43
-
44
- def new
45
- redirect_to :ok
46
- end
47
-
48
- def update
49
- @id = params[:id]
50
- render '/user'
51
- end
52
- end
53
-
54
- class FakeMailer < ActionMailer::Base
55
- default from: 'notifications@example.com'
56
-
57
- def self.send_email
58
- basic_mail.deliver_now
59
- end
60
-
61
- def basic_mail
62
- mail(
63
- to: 'user@example.com',
64
- subject: 'Welcome to My Awesome Site',
65
- body: 'Banana muffin',
66
- content_type: 'text/html',
67
- )
68
- end
69
- end
70
-
71
- Dummy.routes.append do
72
- get 'ok' => 'application#ok'
73
- get 'error' => 'application#error'
74
- get 'show' => 'application#show'
75
- post 'users' => 'application#create'
76
- get 'new' => 'application#new'
77
- put 'users/:id' => 'application#update'
78
- end
79
-
80
- Dummy.initialize!