punk 0.1.4 → 0.3.4

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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +9 -0
  3. data/.github/workflows/test.yml +26 -1
  4. data/.rdoc_options +22 -0
  5. data/.rgignore +1 -0
  6. data/.rspec +2 -0
  7. data/Gemfile +14 -15
  8. data/Gemfile.lock +56 -65
  9. data/README.md +1 -1
  10. data/VERSION +1 -1
  11. data/app/migrations/001_lets_punk.rb +3 -0
  12. data/app/routes/hello.rb +4 -0
  13. data/env/.gitignore +3 -0
  14. data/env/spec/test.sh +3 -0
  15. data/lib/punk.rb +1 -2
  16. data/lib/punk/actions/.keep +0 -0
  17. data/lib/punk/actions/groups/list.rb +24 -0
  18. data/lib/punk/actions/sessions/clear.rb +21 -0
  19. data/lib/punk/actions/sessions/create.rb +64 -0
  20. data/lib/punk/actions/sessions/list.rb +18 -0
  21. data/lib/punk/actions/sessions/verify.rb +24 -0
  22. data/lib/punk/actions/tenants/list.rb +18 -0
  23. data/lib/punk/actions/users/list_group.rb +18 -0
  24. data/lib/punk/actions/users/list_tenant.rb +18 -0
  25. data/lib/punk/actions/users/show.rb +18 -0
  26. data/lib/punk/commands/list.rb +12 -6
  27. data/lib/punk/config/defaults.json +3 -0
  28. data/lib/punk/config/schema.json +3 -0
  29. data/lib/punk/core/app.rb +4 -6
  30. data/lib/punk/core/commander.rb +12 -7
  31. data/lib/punk/core/exec.rb +2 -0
  32. data/lib/punk/core/load.rb +0 -1
  33. data/lib/punk/framework/command.rb +5 -1
  34. data/lib/punk/framework/plugins/validation.rb +0 -14
  35. data/lib/punk/helpers/loggable.rb +1 -1
  36. data/lib/punk/migrations/001_punk.rb +103 -0
  37. data/lib/punk/models/.keep +0 -0
  38. data/lib/punk/models/group.rb +20 -0
  39. data/lib/punk/models/group_user_metadata.rb +17 -0
  40. data/lib/punk/models/identity.rb +29 -0
  41. data/lib/punk/models/session.rb +89 -0
  42. data/lib/punk/models/tenant.rb +19 -0
  43. data/lib/punk/models/tenant_user_metadata.rb +17 -0
  44. data/lib/punk/models/user.rb +31 -0
  45. data/lib/punk/routes/groups.rb +31 -0
  46. data/lib/punk/routes/plivo.rb +4 -0
  47. data/lib/punk/routes/sessions.rb +108 -0
  48. data/lib/punk/routes/swagger.rb +9 -0
  49. data/lib/punk/routes/tenants.rb +29 -0
  50. data/lib/punk/routes/users.rb +36 -0
  51. data/lib/punk/services/.keep +0 -0
  52. data/lib/punk/services/challenge_claim.rb +46 -0
  53. data/lib/punk/services/create_identities.rb +25 -0
  54. data/lib/punk/services/generate_swagger.rb +25 -0
  55. data/lib/punk/services/prove_claim.rb +29 -0
  56. data/lib/punk/services/secret.rb +9 -0
  57. data/lib/punk/templates/groups/list.jbuilder +7 -0
  58. data/lib/punk/templates/plivo.slim +16 -0
  59. data/lib/punk/templates/sessions/list.jbuilder +6 -0
  60. data/lib/punk/templates/sessions/pending.jbuilder +4 -0
  61. data/lib/punk/templates/tenants/list.jbuilder +7 -0
  62. data/lib/punk/templates/tenants/list.slim +8 -0
  63. data/lib/punk/templates/users/list.jbuilder +7 -0
  64. data/lib/punk/templates/users/list.rcsv +4 -0
  65. data/lib/punk/templates/users/show.jbuilder +5 -0
  66. data/lib/punk/views/groups/list.rb +22 -0
  67. data/lib/punk/views/plivo_store.rb +15 -0
  68. data/lib/punk/views/sessions/list.rb +22 -0
  69. data/lib/punk/views/sessions/pending.rb +28 -0
  70. data/lib/punk/views/tenants/list.rb +22 -0
  71. data/lib/punk/views/users/list.rb +22 -0
  72. data/lib/punk/views/users/show.rb +22 -0
  73. data/lib/punk/workers/.keep +0 -0
  74. data/lib/punk/workers/expire_sessions.rb +9 -0
  75. data/lib/punk/workers/geocode_session_worker.rb +48 -0
  76. data/lib/punk/workers/identify_session_worker.rb +45 -0
  77. data/lib/punk/workers/secret.rb +18 -0
  78. data/lib/punk/workers/send_email_worker.rb +51 -0
  79. data/lib/punk/workers/send_sms_worker.rb +40 -0
  80. data/punk.gemspec +158 -32
  81. data/schema.psql +345 -0
  82. data/spec/actions/groups/punk/list_groups_action_spec.rb +36 -0
  83. data/spec/actions/sessions/punk/clear_session_action_spec.rb +29 -0
  84. data/spec/actions/sessions/punk/create_session_action_spec.rb +33 -0
  85. data/spec/actions/sessions/punk/list_sessions_action_spec.rb +26 -0
  86. data/spec/actions/sessions/punk/verify_session_action_spec.rb +59 -0
  87. data/spec/actions/tenants/punk/list_tenants_action_spec.rb +25 -0
  88. data/spec/actions/users/punk/list_group_users_action_spec.rb +26 -0
  89. data/spec/actions/users/punk/list_tenant_users_action_spec.rb +26 -0
  90. data/spec/factories/group.rb +12 -0
  91. data/spec/factories/group_user_metadata.rb +10 -0
  92. data/spec/factories/identity.rb +19 -0
  93. data/spec/factories/session.rb +12 -0
  94. data/spec/factories/tenant.rb +10 -0
  95. data/spec/factories/tenant_user_metadata.rb +10 -0
  96. data/spec/factories/user.rb +12 -0
  97. data/spec/lib/commands/auth_spec.rb +11 -0
  98. data/spec/lib/commands/generate_spec.rb +7 -0
  99. data/spec/lib/commands/http_spec.rb +23 -0
  100. data/spec/lib/commands/list_spec.rb +7 -0
  101. data/spec/lib/commands/swagger_spec.rb +7 -0
  102. data/spec/lib/engine/punk_env_spec.rb +13 -0
  103. data/spec/lib/engine/punk_exec_spec.rb +9 -0
  104. data/spec/lib/engine/punk_init_spec.rb +9 -0
  105. data/spec/lib/engine/punk_store_spec.rb +10 -0
  106. data/spec/lib/punk.env +7 -0
  107. data/spec/models/punk/group_spec.rb +50 -0
  108. data/spec/models/punk/group_user_metadata_spec.rb +61 -0
  109. data/spec/models/punk/identity_spec.rb +61 -0
  110. data/spec/models/punk/session_spec.rb +156 -0
  111. data/spec/models/punk/tenant_spec.rb +51 -0
  112. data/spec/models/punk/tenant_user_metadata_spec.rb +61 -0
  113. data/spec/models/punk/user_spec.rb +115 -0
  114. data/spec/routes/groups/get_groups_spec.rb +33 -0
  115. data/spec/routes/plivo/get_plivo_spec.rb +11 -0
  116. data/spec/routes/sessions/delete_session_spec.rb +11 -0
  117. data/spec/routes/sessions/get_sessions_spec.rb +30 -0
  118. data/spec/routes/sessions/patch_session_spec.rb +11 -0
  119. data/spec/routes/sessions/post_session_spec.rb +11 -0
  120. data/spec/routes/swagger/get_swagger_spec.rb +12 -0
  121. data/spec/routes/tenants/get_tenants_spec.rb +31 -0
  122. data/spec/routes/users/get_users_spec.rb +60 -0
  123. data/spec/services/punk/challenge_claim_service_spec.rb +7 -0
  124. data/spec/services/punk/create_identities_service_spec.rb +14 -0
  125. data/spec/services/punk/generate_swagger_service_spec.rb +7 -0
  126. data/spec/services/punk/prove_claim_service_spec.rb +7 -0
  127. data/spec/services/punk/secret_service_spec.rb +7 -0
  128. data/spec/spec_helper.rb +122 -0
  129. data/spec/vcr_cassettes/PUNK_GeocodeSessionWorker/updates_the_session_data.yml +57 -0
  130. data/spec/vcr_cassettes/PUNK_IdentifySessionWorker/updates_the_session_data.yml +112 -0
  131. data/spec/views/punk/plivo_store_spec.rb +7 -0
  132. data/spec/views/sessions/punk/list_sessions_view_spec.rb +7 -0
  133. data/spec/views/sessions/punk/pending_session_view_spec.rb +7 -0
  134. data/spec/views/tenants/punk/list_tenants_view_spec.rb +7 -0
  135. data/spec/views/users/punk/list_groups_view_spec.rb +7 -0
  136. data/spec/views/users/punk/list_users_view_spec.rb +7 -0
  137. data/spec/workers/punk/expire_sessions_worker_spec.rb +31 -0
  138. data/spec/workers/punk/geocode_session_worker_spec.rb +14 -0
  139. data/spec/workers/punk/identify_session_worker_spec.rb +15 -0
  140. data/spec/workers/punk/secret_worker_spec.rb +20 -0
  141. data/spec/workers/punk/send_email_worker_spec.rb +46 -0
  142. data/spec/workers/punk/send_sms_worker_spec.rb +33 -0
  143. metadata +160 -23
  144. data/lib/punk/views/all.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bcd01e2d794110d209b1c95d064a096126e7d1ac7ef32a96051646c30a530345
4
- data.tar.gz: 03be67755ef1ffa1059e7fc829810760a3363bc331ddf5cfec91ffdbe96b64d4
3
+ metadata.gz: db396e3864cb200ac8d949bb177e9aa407ea1a49fb34c4a0fdc706a0e66c3ebb
4
+ data.tar.gz: 16399d98b453165a0f518a3823bc1097c5b376f746f9e0942f7181258cc6e840
5
5
  SHA512:
6
- metadata.gz: e8c2b7ca00ad06821ed88da9c3c961799d0410f920b9391be2ea4dbe7dad70cc11562512324a689457d7e82ea644371e276c520646ede3b401eddadd0a1b55da
7
- data.tar.gz: f1d10c98f46bf408b86a55688007e4c40c209af1806a7e1f01a401314eedce151385a8c62f2b88059aa01802b642a09adbfbeba58ee365bae584b140d5591f80
6
+ metadata.gz: a25d1be1a4192d9978a0fa00a4784990d4dc66cf357a03f6ae94aadc9a8008717f6944d37b6f12da81fa5526983a5a99462ae0a4843606c9b40e504f70f1a7d6
7
+ data.tar.gz: 14769ace1d40393efaae1198da94a6d38c07f71893fb1e95c6f05b01eda8735bfa52e75f7d6a5a5a09ddae4670f5e8257450be830c07c19a73eb00059485d344
data/.editorconfig ADDED
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
@@ -7,6 +7,28 @@ jobs:
7
7
  runs-on: ubuntu-latest
8
8
  env:
9
9
  PUNK_ENV: test
10
+ COVERALLS_REPO_TOKEN: "${{secrets.COVERALLS_REPO_TOKEN}}"
11
+ IPSTACK_ACCESS_KEY: "${{secrets.IPSTACK_ACCESS_KEY}}"
12
+ USERSTACK_API_KEY: "${{secrets.USERSTACK_API_KEY}}"
13
+ DATABASE_URL: "postgres://postgres:postgres@localhost/punk_test"
14
+
15
+ services:
16
+ postgres:
17
+ image: postgres
18
+ env:
19
+ POSTGRES_PASSWORD: postgres
20
+ options: >-
21
+ --health-cmd pg_isready
22
+ --health-interval 10s
23
+ --health-timeout 5s
24
+ --health-retries 5
25
+ ports:
26
+ - 5432:5432
27
+ memcached:
28
+ image: memcached
29
+ ports:
30
+ - 11211:11211
31
+ options: --health-cmd "timeout 5 bash -c 'cat < /dev/null > /dev/udp/127.0.0.1/11211'" --health-interval 10s --health-timeout 5s --health-retries 5
10
32
  steps:
11
33
  - uses: actions/checkout@v2
12
34
  - name: Set up Ruby
@@ -17,4 +39,7 @@ jobs:
17
39
  - name: Lint files
18
40
  run: bundle exec rubocop
19
41
  - name: Run specs
20
- run: bundle exec rspec
42
+ run: |
43
+ bundle exec ruby ./bin/punk db create
44
+ bundle exec ruby ./bin/punk db migrate
45
+ bundle exec rspec
data/.rdoc_options ADDED
@@ -0,0 +1,22 @@
1
+ --- !ruby/object:RDoc::Options
2
+ encoding: UTF-8
3
+ static_path: []
4
+ rdoc_include:
5
+ - "."
6
+ charset: UTF-8
7
+ exclude:
8
+ hyperlink_all: false
9
+ line_numbers: false
10
+ locale:
11
+ locale_dir: locale
12
+ locale_name:
13
+ main_page:
14
+ markup: markdown
15
+ output_decoration: true
16
+ page_dir:
17
+ show_hash: false
18
+ tab_width: 8
19
+ template_stylesheets: []
20
+ title:
21
+ visibility: :protected
22
+ webcvs:
data/.rgignore ADDED
@@ -0,0 +1 @@
1
+ *.lock
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile CHANGED
@@ -3,7 +3,7 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  # Startup
6
- gem 'bootsnap', '~> 1.5'
6
+ gem 'bootsnap', '~> 1.7'
7
7
 
8
8
  # Dependency Injection
9
9
  gem 'dim', '~> 1.2'
@@ -26,7 +26,7 @@ gem 'commander', '~> 4.5'
26
26
  gem 'pry', '~> 0.13'
27
27
 
28
28
  # Rack Server
29
- gem 'puma', '~> 5.1'
29
+ gem 'puma', '~> 5.2'
30
30
  gem 'rack-cors', '~> 1.1'
31
31
  gem 'rack-protection', '~> 2.1'
32
32
  gem 'rack-ssl-enforcer', '~> 0.2'
@@ -40,14 +40,14 @@ gem 'pg', '~> 1.2'
40
40
  gem 'sequel_pg', '~> 1.14'
41
41
 
42
42
  # ORM
43
- gem 'sequel', '~> 5.40'
43
+ gem 'sequel', '~> 5.41'
44
44
 
45
45
  # State Machine
46
46
  gem 'aasm', '~> 5.1'
47
47
 
48
48
  # Authentication
49
49
  gem 'http-accept', '~> 2.1'
50
- gem 'maxmind-db', '~> 1.1'
50
+ gem 'ipstack', '~> 0.1'
51
51
  gem 'rbnacl', '~> 7.1'
52
52
  gem 'userstack', '~> 0.1'
53
53
 
@@ -59,18 +59,18 @@ gem 'sidekiq-cron', '~> 1.2'
59
59
  gem 'mailgun-ruby', '~> 1.2'
60
60
 
61
61
  # SMS
62
- gem 'plivo', '~> 4.15'
62
+ gem 'plivo', '~> 4.16'
63
63
 
64
64
  # HTTP Framework
65
- gem 'roda', '~> 3.39'
65
+ gem 'roda', '~> 3.41'
66
66
  gem 'roda-route_list', '~> 2.1'
67
67
 
68
68
  # HTML Rendering
69
69
  gem 'slim', '~> 4.1'
70
70
 
71
71
  # JSON Rendering
72
- gem 'jbuilder', '~> 2.10'
73
- gem 'oj', '~> 3.10'
72
+ gem 'jbuilder', '~> 2.11'
73
+ gem 'oj', '~> 3.11'
74
74
  gem 'tilt-jbuilder', '~> 0.7'
75
75
 
76
76
  # Documentation Generation
@@ -81,7 +81,8 @@ gem 'swagger_yard', '~> 1.0'
81
81
  gem 'activesupport', '~> 6.1'
82
82
 
83
83
  # Monitoring
84
- gem 'sentry-raven', '~> 3.1'
84
+ gem 'sentry-ruby', '~> 4.2'
85
+ gem 'sentry-sidekiq', '~> 4.2'
85
86
  gem 'skylight', '~> 4.3'
86
87
 
87
88
  # Phone Numbers
@@ -96,18 +97,16 @@ end
96
97
 
97
98
  # Testing
98
99
  group :test do
99
- gem 'capybara', '~> 3.34'
100
100
  gem 'coveralls', '~> 0.8'
101
101
  gem 'factory_bot', '~> 6.1'
102
- gem 'faker', '~> 2.15'
102
+ gem 'faker', '~> 2.16'
103
103
  gem 'rack-test', '~> 1.1'
104
104
  gem 'rspec', '~> 3.10'
105
105
  gem 'rspec-its', '~> 1.3'
106
- gem 'rubocop', '~> 1.7'
106
+ gem 'rubocop', '~> 1.10'
107
107
  gem 'rubocop-rails', '~> 2.9'
108
- gem 'rubocop-rspec', '~> 2.1'
109
- gem 'rubocop-sequel', '~> 0.1'
110
- gem 'selenium-webdriver', '~> 3.142'
108
+ gem 'rubocop-rspec', '~> 2.2'
109
+ gem 'rubocop-sequel', '~> 0.2'
111
110
  gem 'timecop', '~> 0.9'
112
111
  gem 'vcr', '~> 6.0'
113
112
  gem 'webmock', '~> 3.11'
data/Gemfile.lock CHANGED
@@ -3,7 +3,7 @@ GEM
3
3
  specs:
4
4
  aasm (5.1.1)
5
5
  concurrent-ruby (~> 1.0)
6
- activesupport (6.1.1)
6
+ activesupport (6.1.3)
7
7
  concurrent-ruby (~> 1.0, >= 1.0.2)
8
8
  i18n (>= 1.6, < 2)
9
9
  minitest (>= 5.1)
@@ -13,25 +13,16 @@ GEM
13
13
  public_suffix (>= 2.0.2, < 5.0)
14
14
  amazing_print (1.2.2)
15
15
  ansi (1.5.0)
16
- ast (2.4.1)
17
- bootsnap (1.5.1)
16
+ ast (2.4.2)
17
+ bootsnap (1.7.2)
18
18
  msgpack (~> 1.0)
19
19
  builder (3.2.4)
20
20
  byebug (11.1.3)
21
- capybara (3.34.0)
22
- addressable
23
- mini_mime (>= 0.1.3)
24
- nokogiri (~> 1.8)
25
- rack (>= 1.6.0)
26
- rack-test (>= 0.6.3)
27
- regexp_parser (~> 1.5)
28
- xpath (~> 3.2)
29
- childprocess (3.0.0)
30
21
  chronic (0.10.2)
31
22
  coderay (1.1.3)
32
23
  commander (4.5.2)
33
24
  highline (~> 2.0.0)
34
- concurrent-ruby (1.1.7)
25
+ concurrent-ruby (1.1.8)
35
26
  connection_pool (2.2.3)
36
27
  coveralls (0.8.23)
37
28
  json (>= 1.8, < 3)
@@ -46,7 +37,7 @@ GEM
46
37
  thread_safe (~> 0.3, >= 0.3.1)
47
38
  diff-lcs (1.4.4)
48
39
  dim (1.2.8)
49
- docile (1.3.4)
40
+ docile (1.3.5)
50
41
  domain_name (0.5.20190701)
51
42
  unf (>= 0.0.5, < 1.0.0)
52
43
  dot_hash (1.1.8)
@@ -55,14 +46,14 @@ GEM
55
46
  tzinfo
56
47
  factory_bot (6.1.0)
57
48
  activesupport (>= 5.0.0)
58
- faker (2.15.1)
49
+ faker (2.16.0)
59
50
  i18n (>= 1.6, < 2)
60
51
  faraday (1.0.1)
61
52
  multipart-post (>= 1.2, < 3)
62
53
  faraday_middleware (1.0.0)
63
54
  faraday (~> 1.0)
64
55
  ffi (1.14.2)
65
- fugit (1.4.1)
56
+ fugit (1.4.2)
66
57
  et-orbi (~> 1.1, >= 1.1.8)
67
58
  raabro (~> 1.4)
68
59
  gemfile_updater (0.1.0)
@@ -81,9 +72,11 @@ GEM
81
72
  http-accept (2.1.1)
82
73
  http-cookie (1.0.3)
83
74
  domain_name (~> 0.5)
84
- i18n (1.8.7)
75
+ i18n (1.8.9)
85
76
  concurrent-ruby (~> 1.0)
86
- jbuilder (2.10.1)
77
+ ipstack (0.1.3)
78
+ nokogiri (>= 1.8, < 2.0)
79
+ jbuilder (2.11.2)
87
80
  activesupport (>= 5.0.0)
88
81
  json (2.5.1)
89
82
  juwelier (2.4.9)
@@ -105,20 +98,18 @@ GEM
105
98
  addressable (~> 2.7)
106
99
  mailgun-ruby (1.2.0)
107
100
  rest-client (~> 2.0.2)
108
- maxmind-db (1.1.1)
109
101
  method_source (1.0.0)
110
102
  mime-types (3.3.1)
111
103
  mime-types-data (~> 3.2015)
112
- mime-types-data (3.2020.1104)
113
- mini_mime (1.0.2)
104
+ mime-types-data (3.2021.0212)
114
105
  mini_portile2 (2.5.0)
115
- minitest (5.14.3)
116
- msgpack (1.3.3)
106
+ minitest (5.14.4)
107
+ msgpack (1.4.2)
117
108
  multi_json (1.15.0)
118
109
  multi_xml (0.6.0)
119
110
  multipart-post (2.1.1)
120
111
  netrc (0.11.0)
121
- nio4r (2.5.4)
112
+ nio4r (2.5.5)
122
113
  nokogiri (1.11.1)
123
114
  mini_portile2 (~> 2.5.0)
124
115
  racc (~> 1.4)
@@ -128,7 +119,7 @@ GEM
128
119
  multi_json (~> 1.3)
129
120
  multi_xml (~> 0.5)
130
121
  rack (>= 1.2, < 3)
131
- oj (3.10.18)
122
+ oj (3.11.2)
132
123
  papertrail (0.11.0)
133
124
  ansi (~> 1.5)
134
125
  chronic (~> 0.10)
@@ -137,8 +128,8 @@ GEM
137
128
  ast (~> 2.4.1)
138
129
  parslet (2.0.0)
139
130
  pg (1.2.3)
140
- phony (2.18.18)
141
- plivo (4.15.1)
131
+ phony (2.18.19)
132
+ plivo (4.16.0)
142
133
  faraday (~> 1.0.1)
143
134
  faraday_middleware (~> 1.0.0)
144
135
  htmlentities
@@ -149,9 +140,9 @@ GEM
149
140
  pry-byebug (3.9.0)
150
141
  byebug (~> 11.0)
151
142
  pry (~> 0.13.0)
152
- psych (3.3.0)
143
+ psych (3.3.1)
153
144
  public_suffix (4.0.6)
154
- puma (5.1.1)
145
+ puma (5.2.1)
155
146
  nio4r (~> 2.0)
156
147
  raabro (1.4.0)
157
148
  racc (1.5.2)
@@ -171,13 +162,13 @@ GEM
171
162
  rchardet (1.8.0)
172
163
  rdoc (6.3.0)
173
164
  redis (4.2.5)
174
- regexp_parser (1.8.2)
165
+ regexp_parser (2.1.1)
175
166
  rest-client (2.0.2)
176
167
  http-cookie (>= 1.0.2, < 2.0)
177
168
  mime-types (>= 1.16, < 4.0)
178
169
  netrc (~> 0.8)
179
170
  rexml (3.2.4)
180
- roda (3.39.0)
171
+ roda (3.41.0)
181
172
  rack
182
173
  roda-route_list (2.1.0)
183
174
  roda
@@ -193,11 +184,11 @@ GEM
193
184
  rspec-its (1.3.0)
194
185
  rspec-core (>= 3.0.0)
195
186
  rspec-expectations (>= 3.0.0)
196
- rspec-mocks (3.10.1)
187
+ rspec-mocks (3.10.2)
197
188
  diff-lcs (>= 1.2.0, < 2.0)
198
189
  rspec-support (~> 3.10.0)
199
- rspec-support (3.10.1)
200
- rubocop (1.8.0)
190
+ rspec-support (3.10.2)
191
+ rubocop (1.10.0)
201
192
  parallel (~> 1.10)
202
193
  parser (>= 3.0.0.0)
203
194
  rainbow (>= 2.2.2, < 4.0)
@@ -206,32 +197,35 @@ GEM
206
197
  rubocop-ast (>= 1.2.0, < 2.0)
207
198
  ruby-progressbar (~> 1.7)
208
199
  unicode-display_width (>= 1.4.0, < 3.0)
209
- rubocop-ast (1.4.0)
200
+ rubocop-ast (1.4.1)
210
201
  parser (>= 2.7.1.5)
211
202
  rubocop-rails (2.9.1)
212
203
  activesupport (>= 4.2.0)
213
204
  rack (>= 1.1)
214
205
  rubocop (>= 0.90.0, < 2.0)
215
- rubocop-rspec (2.1.0)
206
+ rubocop-rspec (2.2.0)
216
207
  rubocop (~> 1.0)
217
208
  rubocop-ast (>= 1.1.0)
218
- rubocop-sequel (0.1.0)
209
+ rubocop-sequel (0.2.0)
219
210
  rubocop (~> 1.0)
220
211
  ruby-progressbar (1.11.0)
221
- rubyzip (2.3.0)
222
- selenium-webdriver (3.142.7)
223
- childprocess (>= 0.5, < 4.0)
224
- rubyzip (>= 1.2.2)
225
212
  semantic_logger (4.7.4)
226
213
  concurrent-ruby (~> 1.0)
227
214
  semver2 (3.4.2)
228
- sentry-raven (3.1.1)
215
+ sentry-ruby (4.2.2)
216
+ concurrent-ruby (~> 1.0, >= 1.0.2)
229
217
  faraday (>= 1.0)
230
- sequel (5.40.0)
218
+ sentry-ruby-core (= 4.2.2)
219
+ sentry-ruby-core (4.2.2)
220
+ concurrent-ruby
221
+ faraday
222
+ sentry-sidekiq (4.2.1)
223
+ sentry-ruby-core (~> 4.2.0)
224
+ sequel (5.41.0)
231
225
  sequel_pg (1.14.0)
232
226
  pg (>= 0.18.0, != 1.2.0)
233
227
  sequel (>= 4.38.0)
234
- sidekiq (6.1.2)
228
+ sidekiq (6.1.3)
235
229
  connection_pool (>= 2.2.2)
236
230
  rack (~> 2.0)
237
231
  redis (>= 4.2.0)
@@ -257,14 +251,14 @@ GEM
257
251
  temple (0.8.2)
258
252
  term-ansicolor (1.7.1)
259
253
  tins (~> 1.0)
260
- thor (1.0.1)
254
+ thor (1.1.0)
261
255
  thread_safe (0.3.6)
262
256
  tilt (2.0.10)
263
257
  tilt-jbuilder (0.7.1)
264
258
  jbuilder
265
259
  tilt (>= 1.3.0, < 3)
266
- timecop (0.9.2)
267
- tins (1.26.0)
260
+ timecop (0.9.4)
261
+ tins (1.28.0)
268
262
  sync
269
263
  tzinfo (2.0.4)
270
264
  concurrent-ruby (~> 1.0)
@@ -274,13 +268,11 @@ GEM
274
268
  unicode-display_width (2.0.0)
275
269
  userstack (0.1.0)
276
270
  vcr (6.0.0)
277
- webmock (3.11.0)
271
+ webmock (3.11.3)
278
272
  addressable (>= 2.3.6)
279
273
  crack (>= 0.3.2)
280
274
  hashdiff (>= 0.4.0, < 2.0.0)
281
275
  wisper (2.0.1)
282
- xpath (3.2.0)
283
- nokogiri (~> 1.8)
284
276
  yard (0.9.26)
285
277
  zeitwerk (2.4.2)
286
278
 
@@ -291,10 +283,9 @@ DEPENDENCIES
291
283
  aasm (~> 5.1)
292
284
  activesupport (~> 6.1)
293
285
  amazing_print (~> 1.2)
294
- bootsnap (~> 1.5)
286
+ bootsnap (~> 1.7)
295
287
  bundler (~> 1.17)
296
288
  byebug (~> 11.1)
297
- capybara (~> 3.34)
298
289
  commander (~> 4.5)
299
290
  coveralls (~> 0.8)
300
291
  dalli (~> 2.7)
@@ -302,22 +293,22 @@ DEPENDENCIES
302
293
  dot_hash (~> 1.1)
303
294
  dotenv (~> 2.7)
304
295
  factory_bot (~> 6.1)
305
- faker (~> 2.15)
296
+ faker (~> 2.16)
306
297
  gemfile_updater (~> 0.1)
307
298
  http-accept (~> 2.1)
308
- jbuilder (~> 2.10)
299
+ ipstack (~> 0.1)
300
+ jbuilder (~> 2.11)
309
301
  juwelier (~> 2.4)
310
302
  launchy (~> 2.5)
311
303
  mailgun-ruby (~> 1.2)
312
- maxmind-db (~> 1.1)
313
- oj (~> 3.10)
304
+ oj (~> 3.11)
314
305
  papertrail (~> 0.11)
315
306
  pg (~> 1.2)
316
307
  phony (~> 2.18)
317
- plivo (~> 4.15)
308
+ plivo (~> 4.16)
318
309
  pry (~> 0.13)
319
310
  pry-byebug (~> 3.9)
320
- puma (~> 5.1)
311
+ puma (~> 5.2)
321
312
  rack-cors (~> 1.1)
322
313
  rack-protection (~> 2.1)
323
314
  rack-ssl-enforcer (~> 0.2)
@@ -325,18 +316,18 @@ DEPENDENCIES
325
316
  rack-unreloader (~> 1.7)
326
317
  rbnacl (~> 7.1)
327
318
  rdoc (~> 6.3)
328
- roda (~> 3.39)
319
+ roda (~> 3.41)
329
320
  roda-route_list (~> 2.1)
330
321
  rspec (~> 3.10)
331
322
  rspec-its (~> 1.3)
332
- rubocop (~> 1.7)
323
+ rubocop (~> 1.10)
333
324
  rubocop-rails (~> 2.9)
334
- rubocop-rspec (~> 2.1)
335
- rubocop-sequel (~> 0.1)
336
- selenium-webdriver (~> 3.142)
325
+ rubocop-rspec (~> 2.2)
326
+ rubocop-sequel (~> 0.2)
337
327
  semantic_logger (~> 4.7)
338
- sentry-raven (~> 3.1)
339
- sequel (~> 5.40)
328
+ sentry-ruby (~> 4.2)
329
+ sentry-sidekiq (~> 4.2)
330
+ sequel (~> 5.41)
340
331
  sequel_pg (~> 1.14)
341
332
  sidekiq (~> 6.1)
342
333
  sidekiq-cron (~> 1.2)