punk 0.3.2 → 0.4.1

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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +1 -1
  3. data/.rdoc_options +0 -1
  4. data/.rubocop.yml +1091 -93
  5. data/.standard.yml +2 -0
  6. data/Gemfile +60 -61
  7. data/Gemfile.lock +64 -59
  8. data/README.md +7 -3
  9. data/Rakefile +9 -7
  10. data/VERSION +1 -1
  11. data/app/migrations/001_lets_punk.rb +1 -1
  12. data/app/routes/hello.rb +1 -1
  13. data/bin/punk +5 -5
  14. data/env/defaults.sh +3 -0
  15. data/lib/punk.rb +8 -9
  16. data/lib/punk/actions/sessions/create.rb +3 -3
  17. data/lib/punk/actions/sessions/verify.rb +2 -2
  18. data/lib/punk/commands/auth.rb +4 -4
  19. data/lib/punk/commands/generate.rb +5 -5
  20. data/lib/punk/commands/http.rb +4 -4
  21. data/lib/punk/commands/list.rb +10 -10
  22. data/lib/punk/core/app.rb +41 -41
  23. data/lib/punk/core/boot.rb +5 -5
  24. data/lib/punk/core/cli.rb +3 -3
  25. data/lib/punk/core/commander.rb +28 -28
  26. data/lib/punk/core/commands.rb +8 -8
  27. data/lib/punk/core/env.rb +27 -27
  28. data/lib/punk/core/exec.rb +8 -8
  29. data/lib/punk/core/interface.rb +19 -19
  30. data/lib/punk/core/load.rb +2 -2
  31. data/lib/punk/core/logger.rb +3 -3
  32. data/lib/punk/core/monkey.rb +1 -1
  33. data/lib/punk/core/pry.rb +2 -2
  34. data/lib/punk/core/settings.rb +4 -4
  35. data/lib/punk/core/version.rb +1 -1
  36. data/lib/punk/core/worker.rb +6 -6
  37. data/lib/punk/framework/all.rb +8 -8
  38. data/lib/punk/framework/model.rb +6 -5
  39. data/lib/punk/framework/plugins/all.rb +1 -1
  40. data/lib/punk/framework/plugins/validation.rb +8 -8
  41. data/lib/punk/framework/service.rb +5 -3
  42. data/lib/punk/framework/worker.rb +3 -3
  43. data/lib/punk/helpers/all.rb +5 -5
  44. data/lib/punk/helpers/loggable.rb +3 -3
  45. data/lib/punk/helpers/publishable.rb +1 -1
  46. data/lib/punk/helpers/renderable.rb +10 -10
  47. data/lib/punk/helpers/validatable.rb +7 -6
  48. data/lib/punk/migrations/001_punk.rb +12 -12
  49. data/lib/punk/models/group.rb +1 -1
  50. data/lib/punk/models/identity.rb +1 -1
  51. data/lib/punk/models/session.rb +7 -7
  52. data/lib/punk/models/tenant.rb +1 -1
  53. data/lib/punk/models/user.rb +2 -2
  54. data/lib/punk/plugins/all.rb +2 -2
  55. data/lib/punk/plugins/cors.rb +2 -2
  56. data/lib/punk/plugins/ssl.rb +1 -1
  57. data/lib/punk/routes/groups.rb +1 -1
  58. data/lib/punk/routes/plivo.rb +1 -1
  59. data/lib/punk/routes/sessions.rb +2 -2
  60. data/lib/punk/routes/swagger.rb +2 -2
  61. data/lib/punk/routes/tenants.rb +1 -1
  62. data/lib/punk/routes/users.rb +1 -1
  63. data/lib/punk/services/challenge_claim.rb +5 -5
  64. data/lib/punk/services/generate_swagger.rb +6 -6
  65. data/lib/punk/services/prove_claim.rb +1 -1
  66. data/lib/punk/startup/cache.rb +3 -3
  67. data/lib/punk/startup/database.rb +4 -4
  68. data/lib/punk/startup/environment.rb +6 -6
  69. data/lib/punk/startup/logger.rb +2 -2
  70. data/lib/punk/startup/task.rb +5 -5
  71. data/lib/punk/views/fail.rb +2 -2
  72. data/lib/punk/views/groups/list.rb +2 -2
  73. data/lib/punk/views/info.rb +2 -2
  74. data/lib/punk/views/plivo_store.rb +2 -2
  75. data/lib/punk/views/sessions/list.rb +2 -2
  76. data/lib/punk/views/sessions/pending.rb +2 -2
  77. data/lib/punk/views/tenants/list.rb +2 -2
  78. data/lib/punk/views/users/list.rb +2 -2
  79. data/lib/punk/views/users/show.rb +2 -2
  80. data/lib/punk/workers/geocode_session_worker.rb +3 -3
  81. data/lib/punk/workers/identify_session_worker.rb +1 -1
  82. data/lib/punk/workers/send_email_worker.rb +3 -3
  83. data/lib/punk/workers/send_sms_worker.rb +3 -3
  84. data/punk.gemspec +33 -31
  85. data/spec/actions/groups/punk/list_groups_action_spec.rb +9 -9
  86. data/spec/actions/sessions/punk/clear_session_action_spec.rb +11 -11
  87. data/spec/actions/sessions/punk/create_session_action_spec.rb +9 -9
  88. data/spec/actions/sessions/punk/list_sessions_action_spec.rb +8 -8
  89. data/spec/actions/sessions/punk/verify_session_action_spec.rb +24 -24
  90. data/spec/actions/tenants/punk/list_tenants_action_spec.rb +6 -6
  91. data/spec/actions/users/punk/list_group_users_action_spec.rb +6 -6
  92. data/spec/actions/users/punk/list_tenant_users_action_spec.rb +6 -6
  93. data/spec/factories/group.rb +1 -1
  94. data/spec/factories/group_user_metadata.rb +1 -1
  95. data/spec/factories/identity.rb +4 -4
  96. data/spec/factories/session.rb +1 -1
  97. data/spec/factories/tenant.rb +1 -1
  98. data/spec/factories/tenant_user_metadata.rb +1 -1
  99. data/spec/factories/user.rb +1 -1
  100. data/spec/lib/commands/generate_spec.rb +2 -2
  101. data/spec/lib/commands/list_spec.rb +2 -2
  102. data/spec/lib/commands/swagger_spec.rb +2 -2
  103. data/spec/lib/engine/punk_env_spec.rb +4 -4
  104. data/spec/lib/engine/punk_exec_spec.rb +2 -2
  105. data/spec/lib/engine/punk_init_spec.rb +2 -2
  106. data/spec/lib/engine/punk_store_spec.rb +2 -2
  107. data/spec/models/punk/group_spec.rb +4 -4
  108. data/spec/models/punk/group_user_metadata_spec.rb +2 -2
  109. data/spec/models/punk/identity_spec.rb +17 -17
  110. data/spec/models/punk/session_spec.rb +4 -4
  111. data/spec/models/punk/tenant_spec.rb +3 -3
  112. data/spec/models/punk/tenant_user_metadata_spec.rb +2 -2
  113. data/spec/models/punk/user_spec.rb +9 -9
  114. data/spec/routes/groups/get_groups_spec.rb +4 -4
  115. data/spec/routes/plivo/get_plivo_spec.rb +1 -1
  116. data/spec/routes/sessions/delete_session_spec.rb +1 -1
  117. data/spec/routes/sessions/get_sessions_spec.rb +5 -5
  118. data/spec/routes/sessions/patch_session_spec.rb +1 -1
  119. data/spec/routes/sessions/post_session_spec.rb +1 -1
  120. data/spec/routes/swagger/get_swagger_spec.rb +1 -1
  121. data/spec/routes/tenants/get_tenants_spec.rb +5 -5
  122. data/spec/routes/users/get_users_spec.rb +6 -6
  123. data/spec/services/punk/challenge_claim_service_spec.rb +2 -2
  124. data/spec/services/punk/create_identities_service_spec.rb +1 -1
  125. data/spec/services/punk/generate_swagger_service_spec.rb +2 -2
  126. data/spec/services/punk/prove_claim_service_spec.rb +2 -2
  127. data/spec/services/punk/secret_service_spec.rb +2 -2
  128. data/spec/spec_helper.rb +27 -27
  129. data/spec/views/punk/plivo_store_spec.rb +2 -2
  130. data/spec/views/sessions/punk/list_sessions_view_spec.rb +2 -2
  131. data/spec/views/sessions/punk/pending_session_view_spec.rb +2 -2
  132. data/spec/views/tenants/punk/list_tenants_view_spec.rb +2 -2
  133. data/spec/views/users/punk/list_groups_view_spec.rb +2 -2
  134. data/spec/views/users/punk/list_users_view_spec.rb +2 -2
  135. data/spec/workers/punk/geocode_session_worker_spec.rb +2 -2
  136. data/spec/workers/punk/identify_session_worker_spec.rb +3 -3
  137. data/spec/workers/punk/send_email_worker_spec.rb +1 -1
  138. metadata +24 -22
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- 'tenants/list'
13
+ "tenants/list"
14
14
  end
15
15
 
16
16
  protected
17
17
 
18
18
  def _dir
19
- File.join(__dir__, '..', '..', 'templates')
19
+ File.join(__dir__, "..", "..", "templates")
20
20
  end
21
21
  end
22
22
  end
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- 'users/list'
13
+ "users/list"
14
14
  end
15
15
 
16
16
  protected
17
17
 
18
18
  def _dir
19
- File.join(__dir__, '..', '..', 'templates')
19
+ File.join(__dir__, "..", "..", "templates")
20
20
  end
21
21
  end
22
22
  end
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- 'users/show'
13
+ "users/show"
14
14
  end
15
15
 
16
16
  protected
17
17
 
18
18
  def _dir
19
- File.join(__dir__, '..', '..', 'templates')
19
+ File.join(__dir__, "..", "..", "templates")
20
20
  end
21
21
  end
22
22
  end
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- require 'ipstack'
13
+ require "ipstack"
14
14
 
15
15
  session = Session[session_id]
16
16
  return if session.blank?
17
17
 
18
18
  ip_address = session.remote_addr.to_s
19
- return if ip_address == '127.0.0.1'
19
+ return if ip_address == "127.0.0.1"
20
20
 
21
21
  return if PUNK.get.ipstack.api_key.blank?
22
22
  result = Ipstack::API.standard(ip_address).deep_symbolize_keys
@@ -42,7 +42,7 @@ module PUNK
42
42
  }
43
43
  ))
44
44
 
45
- session.save
45
+ session.save_changes
46
46
  end
47
47
  end
48
48
  end
@@ -10,7 +10,7 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- require 'userstack'
13
+ require "userstack"
14
14
 
15
15
  session = Session[session_id]
16
16
  return if session.blank?
@@ -17,11 +17,11 @@ module PUNK
17
17
  end
18
18
 
19
19
  def process
20
- require 'mailgun-ruby'
20
+ require "mailgun-ruby"
21
21
 
22
22
  client =
23
23
  if !PUNK.env.test? && PUNK.get.mailgun.mock
24
- Mailgun::Client.new(PUNK.get.mailgun.api_key, 'bin.mailgun.net', PUNK.get.mailgun.postbin, ssl=false) # rubocop:disable Lint/UselessAssignment,Layout/SpaceAroundOperators
24
+ Mailgun::Client.new(PUNK.get.mailgun.api_key, "bin.mailgun.net", PUNK.get.mailgun.postbin, ssl=false) # rubocop:disable Lint/UselessAssignment,Layout/SpaceAroundOperators
25
25
  else
26
26
  Mailgun::Client.new(PUNK.get.mailgun.api_key)
27
27
  end
@@ -44,7 +44,7 @@ module PUNK
44
44
 
45
45
  return unless !PUNK.env.test? && PUNK.get.mailgun.mock
46
46
 
47
- require 'launchy'
47
+ require "launchy"
48
48
  Launchy.open("http://bin.mailgun.net/#{PUNK.get.mailgun.postbin}")
49
49
  end
50
50
  end
@@ -25,13 +25,13 @@ module PUNK
25
25
  plivo.prepend(message)
26
26
  PUNK.cache.set(:plivo, plivo)
27
27
  unless PUNK.env.test?
28
- require 'launchy'
29
- Launchy.open("#{PUNK.get.app.url || 'http://localhost:3000'}/plivo.html")
28
+ require "launchy"
29
+ Launchy.open("#{PUNK.get.app.url || "http://localhost:3000"}/plivo.html")
30
30
  end
31
31
  return
32
32
  end
33
33
 
34
- require 'plivo'
34
+ require "plivo"
35
35
 
36
36
  client = Plivo::RestClient.new(PUNK.get.plivo.auth_id, PUNK.get.plivo.auth_token)
37
37
  client.messages.create(PUNK.get.plivo.number, [to], body)
data/punk.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: punk 0.3.2 ruby lib
5
+ # stub: punk 0.4.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "punk".freeze
9
- s.version = "0.3.2"
9
+ s.version = "0.4.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Lloyd Kranzky".freeze]
14
- s.date = "2021-01-25"
14
+ s.date = "2021-03-05"
15
15
  s.description = "".freeze
16
16
  s.email = "lloyd@kranzky.com".freeze
17
17
  s.executables = ["punk".freeze]
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  ".rgignore",
29
29
  ".rspec",
30
30
  ".rubocop.yml",
31
+ ".standard.yml",
31
32
  "Gemfile",
32
33
  "Gemfile.lock",
33
34
  "LICENSE",
@@ -38,6 +39,7 @@ Gem::Specification.new do |s|
38
39
  "app/routes/hello.rb",
39
40
  "bin/punk",
40
41
  "env/.gitignore",
42
+ "env/defaults.sh",
41
43
  "env/spec/test.sh",
42
44
  "env/test.sh",
43
45
  "lib/punk.rb",
@@ -222,7 +224,7 @@ Gem::Specification.new do |s|
222
224
  ]
223
225
  s.homepage = "https://github.com/kranzky/punk".freeze
224
226
  s.licenses = ["Unlicense".freeze]
225
- s.required_ruby_version = Gem::Requirement.new(">= 2.1".freeze)
227
+ s.required_ruby_version = Gem::Requirement.new(">= 2.6".freeze)
226
228
  s.rubygems_version = "2.7.6.2".freeze
227
229
  s.summary = "Punk! is an omakase web framework for rapid prototyping.".freeze
228
230
 
@@ -230,7 +232,7 @@ Gem::Specification.new do |s|
230
232
  s.specification_version = 4
231
233
 
232
234
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
233
- s.add_runtime_dependency(%q<bootsnap>.freeze, ["~> 1.5"])
235
+ s.add_runtime_dependency(%q<bootsnap>.freeze, ["~> 1.7"])
234
236
  s.add_runtime_dependency(%q<dim>.freeze, ["~> 1.2"])
235
237
  s.add_runtime_dependency(%q<wisper>.freeze, ["~> 2.0"])
236
238
  s.add_runtime_dependency(%q<papertrail>.freeze, ["~> 0.11"])
@@ -238,8 +240,8 @@ Gem::Specification.new do |s|
238
240
  s.add_runtime_dependency(%q<dotenv>.freeze, ["~> 2.7"])
239
241
  s.add_runtime_dependency(%q<dot_hash>.freeze, ["~> 1.1"])
240
242
  s.add_runtime_dependency(%q<commander>.freeze, ["~> 4.5"])
241
- s.add_runtime_dependency(%q<pry>.freeze, ["~> 0.13"])
242
- s.add_runtime_dependency(%q<puma>.freeze, ["~> 5.1"])
243
+ s.add_runtime_dependency(%q<pry>.freeze, ["~> 0.14"])
244
+ s.add_runtime_dependency(%q<puma>.freeze, ["~> 5.2"])
243
245
  s.add_runtime_dependency(%q<rack-cors>.freeze, ["~> 1.1"])
244
246
  s.add_runtime_dependency(%q<rack-protection>.freeze, ["~> 2.1"])
245
247
  s.add_runtime_dependency(%q<rack-ssl-enforcer>.freeze, ["~> 0.2"])
@@ -247,7 +249,7 @@ Gem::Specification.new do |s|
247
249
  s.add_runtime_dependency(%q<dalli>.freeze, ["~> 2.7"])
248
250
  s.add_runtime_dependency(%q<pg>.freeze, ["~> 1.2"])
249
251
  s.add_runtime_dependency(%q<sequel_pg>.freeze, ["~> 1.14"])
250
- s.add_runtime_dependency(%q<sequel>.freeze, ["~> 5.40"])
252
+ s.add_runtime_dependency(%q<sequel>.freeze, ["~> 5.42"])
251
253
  s.add_runtime_dependency(%q<aasm>.freeze, ["~> 5.1"])
252
254
  s.add_runtime_dependency(%q<http-accept>.freeze, ["~> 2.1"])
253
255
  s.add_runtime_dependency(%q<ipstack>.freeze, ["~> 0.1"])
@@ -256,8 +258,8 @@ Gem::Specification.new do |s|
256
258
  s.add_runtime_dependency(%q<sidekiq>.freeze, ["~> 6.1"])
257
259
  s.add_runtime_dependency(%q<sidekiq-cron>.freeze, ["~> 1.2"])
258
260
  s.add_runtime_dependency(%q<mailgun-ruby>.freeze, ["~> 1.2"])
259
- s.add_runtime_dependency(%q<plivo>.freeze, ["~> 4.15"])
260
- s.add_runtime_dependency(%q<roda>.freeze, ["~> 3.40"])
261
+ s.add_runtime_dependency(%q<plivo>.freeze, ["~> 4.16"])
262
+ s.add_runtime_dependency(%q<roda>.freeze, ["~> 3.41"])
261
263
  s.add_runtime_dependency(%q<roda-route_list>.freeze, ["~> 2.1"])
262
264
  s.add_runtime_dependency(%q<slim>.freeze, ["~> 4.1"])
263
265
  s.add_runtime_dependency(%q<jbuilder>.freeze, ["~> 2.11"])
@@ -266,8 +268,8 @@ Gem::Specification.new do |s|
266
268
  s.add_runtime_dependency(%q<rdoc>.freeze, ["~> 6.3"])
267
269
  s.add_runtime_dependency(%q<swagger_yard>.freeze, ["~> 1.0"])
268
270
  s.add_runtime_dependency(%q<activesupport>.freeze, ["~> 6.1"])
269
- s.add_runtime_dependency(%q<sentry-ruby>.freeze, ["~> 4.1"])
270
- s.add_runtime_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.1"])
271
+ s.add_runtime_dependency(%q<sentry-ruby>.freeze, ["~> 4.2"])
272
+ s.add_runtime_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.2"])
271
273
  s.add_runtime_dependency(%q<skylight>.freeze, ["~> 4.3"])
272
274
  s.add_runtime_dependency(%q<phony>.freeze, ["~> 2.18"])
273
275
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.17"])
@@ -276,9 +278,9 @@ Gem::Specification.new do |s|
276
278
  s.add_development_dependency(%q<amazing_print>.freeze, ["~> 1.2"])
277
279
  s.add_development_dependency(%q<byebug>.freeze, ["~> 11.1"])
278
280
  s.add_development_dependency(%q<launchy>.freeze, ["~> 2.5"])
279
- s.add_development_dependency(%q<pry-byebug>.freeze, ["~> 3.9"])
281
+ s.add_development_dependency(%q<standard>.freeze, ["~> 1.0"])
280
282
  else
281
- s.add_dependency(%q<bootsnap>.freeze, ["~> 1.5"])
283
+ s.add_dependency(%q<bootsnap>.freeze, ["~> 1.7"])
282
284
  s.add_dependency(%q<dim>.freeze, ["~> 1.2"])
283
285
  s.add_dependency(%q<wisper>.freeze, ["~> 2.0"])
284
286
  s.add_dependency(%q<papertrail>.freeze, ["~> 0.11"])
@@ -286,8 +288,8 @@ Gem::Specification.new do |s|
286
288
  s.add_dependency(%q<dotenv>.freeze, ["~> 2.7"])
287
289
  s.add_dependency(%q<dot_hash>.freeze, ["~> 1.1"])
288
290
  s.add_dependency(%q<commander>.freeze, ["~> 4.5"])
289
- s.add_dependency(%q<pry>.freeze, ["~> 0.13"])
290
- s.add_dependency(%q<puma>.freeze, ["~> 5.1"])
291
+ s.add_dependency(%q<pry>.freeze, ["~> 0.14"])
292
+ s.add_dependency(%q<puma>.freeze, ["~> 5.2"])
291
293
  s.add_dependency(%q<rack-cors>.freeze, ["~> 1.1"])
292
294
  s.add_dependency(%q<rack-protection>.freeze, ["~> 2.1"])
293
295
  s.add_dependency(%q<rack-ssl-enforcer>.freeze, ["~> 0.2"])
@@ -295,7 +297,7 @@ Gem::Specification.new do |s|
295
297
  s.add_dependency(%q<dalli>.freeze, ["~> 2.7"])
296
298
  s.add_dependency(%q<pg>.freeze, ["~> 1.2"])
297
299
  s.add_dependency(%q<sequel_pg>.freeze, ["~> 1.14"])
298
- s.add_dependency(%q<sequel>.freeze, ["~> 5.40"])
300
+ s.add_dependency(%q<sequel>.freeze, ["~> 5.42"])
299
301
  s.add_dependency(%q<aasm>.freeze, ["~> 5.1"])
300
302
  s.add_dependency(%q<http-accept>.freeze, ["~> 2.1"])
301
303
  s.add_dependency(%q<ipstack>.freeze, ["~> 0.1"])
@@ -304,8 +306,8 @@ Gem::Specification.new do |s|
304
306
  s.add_dependency(%q<sidekiq>.freeze, ["~> 6.1"])
305
307
  s.add_dependency(%q<sidekiq-cron>.freeze, ["~> 1.2"])
306
308
  s.add_dependency(%q<mailgun-ruby>.freeze, ["~> 1.2"])
307
- s.add_dependency(%q<plivo>.freeze, ["~> 4.15"])
308
- s.add_dependency(%q<roda>.freeze, ["~> 3.40"])
309
+ s.add_dependency(%q<plivo>.freeze, ["~> 4.16"])
310
+ s.add_dependency(%q<roda>.freeze, ["~> 3.41"])
309
311
  s.add_dependency(%q<roda-route_list>.freeze, ["~> 2.1"])
310
312
  s.add_dependency(%q<slim>.freeze, ["~> 4.1"])
311
313
  s.add_dependency(%q<jbuilder>.freeze, ["~> 2.11"])
@@ -314,8 +316,8 @@ Gem::Specification.new do |s|
314
316
  s.add_dependency(%q<rdoc>.freeze, ["~> 6.3"])
315
317
  s.add_dependency(%q<swagger_yard>.freeze, ["~> 1.0"])
316
318
  s.add_dependency(%q<activesupport>.freeze, ["~> 6.1"])
317
- s.add_dependency(%q<sentry-ruby>.freeze, ["~> 4.1"])
318
- s.add_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.1"])
319
+ s.add_dependency(%q<sentry-ruby>.freeze, ["~> 4.2"])
320
+ s.add_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.2"])
319
321
  s.add_dependency(%q<skylight>.freeze, ["~> 4.3"])
320
322
  s.add_dependency(%q<phony>.freeze, ["~> 2.18"])
321
323
  s.add_dependency(%q<bundler>.freeze, ["~> 1.17"])
@@ -324,10 +326,10 @@ Gem::Specification.new do |s|
324
326
  s.add_dependency(%q<amazing_print>.freeze, ["~> 1.2"])
325
327
  s.add_dependency(%q<byebug>.freeze, ["~> 11.1"])
326
328
  s.add_dependency(%q<launchy>.freeze, ["~> 2.5"])
327
- s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.9"])
329
+ s.add_dependency(%q<standard>.freeze, ["~> 1.0"])
328
330
  end
329
331
  else
330
- s.add_dependency(%q<bootsnap>.freeze, ["~> 1.5"])
332
+ s.add_dependency(%q<bootsnap>.freeze, ["~> 1.7"])
331
333
  s.add_dependency(%q<dim>.freeze, ["~> 1.2"])
332
334
  s.add_dependency(%q<wisper>.freeze, ["~> 2.0"])
333
335
  s.add_dependency(%q<papertrail>.freeze, ["~> 0.11"])
@@ -335,8 +337,8 @@ Gem::Specification.new do |s|
335
337
  s.add_dependency(%q<dotenv>.freeze, ["~> 2.7"])
336
338
  s.add_dependency(%q<dot_hash>.freeze, ["~> 1.1"])
337
339
  s.add_dependency(%q<commander>.freeze, ["~> 4.5"])
338
- s.add_dependency(%q<pry>.freeze, ["~> 0.13"])
339
- s.add_dependency(%q<puma>.freeze, ["~> 5.1"])
340
+ s.add_dependency(%q<pry>.freeze, ["~> 0.14"])
341
+ s.add_dependency(%q<puma>.freeze, ["~> 5.2"])
340
342
  s.add_dependency(%q<rack-cors>.freeze, ["~> 1.1"])
341
343
  s.add_dependency(%q<rack-protection>.freeze, ["~> 2.1"])
342
344
  s.add_dependency(%q<rack-ssl-enforcer>.freeze, ["~> 0.2"])
@@ -344,7 +346,7 @@ Gem::Specification.new do |s|
344
346
  s.add_dependency(%q<dalli>.freeze, ["~> 2.7"])
345
347
  s.add_dependency(%q<pg>.freeze, ["~> 1.2"])
346
348
  s.add_dependency(%q<sequel_pg>.freeze, ["~> 1.14"])
347
- s.add_dependency(%q<sequel>.freeze, ["~> 5.40"])
349
+ s.add_dependency(%q<sequel>.freeze, ["~> 5.42"])
348
350
  s.add_dependency(%q<aasm>.freeze, ["~> 5.1"])
349
351
  s.add_dependency(%q<http-accept>.freeze, ["~> 2.1"])
350
352
  s.add_dependency(%q<ipstack>.freeze, ["~> 0.1"])
@@ -353,8 +355,8 @@ Gem::Specification.new do |s|
353
355
  s.add_dependency(%q<sidekiq>.freeze, ["~> 6.1"])
354
356
  s.add_dependency(%q<sidekiq-cron>.freeze, ["~> 1.2"])
355
357
  s.add_dependency(%q<mailgun-ruby>.freeze, ["~> 1.2"])
356
- s.add_dependency(%q<plivo>.freeze, ["~> 4.15"])
357
- s.add_dependency(%q<roda>.freeze, ["~> 3.40"])
358
+ s.add_dependency(%q<plivo>.freeze, ["~> 4.16"])
359
+ s.add_dependency(%q<roda>.freeze, ["~> 3.41"])
358
360
  s.add_dependency(%q<roda-route_list>.freeze, ["~> 2.1"])
359
361
  s.add_dependency(%q<slim>.freeze, ["~> 4.1"])
360
362
  s.add_dependency(%q<jbuilder>.freeze, ["~> 2.11"])
@@ -363,8 +365,8 @@ Gem::Specification.new do |s|
363
365
  s.add_dependency(%q<rdoc>.freeze, ["~> 6.3"])
364
366
  s.add_dependency(%q<swagger_yard>.freeze, ["~> 1.0"])
365
367
  s.add_dependency(%q<activesupport>.freeze, ["~> 6.1"])
366
- s.add_dependency(%q<sentry-ruby>.freeze, ["~> 4.1"])
367
- s.add_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.1"])
368
+ s.add_dependency(%q<sentry-ruby>.freeze, ["~> 4.2"])
369
+ s.add_dependency(%q<sentry-sidekiq>.freeze, ["~> 4.2"])
368
370
  s.add_dependency(%q<skylight>.freeze, ["~> 4.3"])
369
371
  s.add_dependency(%q<phony>.freeze, ["~> 2.18"])
370
372
  s.add_dependency(%q<bundler>.freeze, ["~> 1.17"])
@@ -373,7 +375,7 @@ Gem::Specification.new do |s|
373
375
  s.add_dependency(%q<amazing_print>.freeze, ["~> 1.2"])
374
376
  s.add_dependency(%q<byebug>.freeze, ["~> 11.1"])
375
377
  s.add_dependency(%q<launchy>.freeze, ["~> 2.5"])
376
- s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.9"])
378
+ s.add_dependency(%q<standard>.freeze, ["~> 1.0"])
377
379
  end
378
380
  end
379
381
 
@@ -4,21 +4,21 @@ describe PUNK::ListGroupsAction do
4
4
  let(:user) { create(:user) }
5
5
  let(:tenant) { create(:tenant) }
6
6
 
7
- context 'with no user provided' do
8
- it 'returns a validation error' do
7
+ context "with no user provided" do
8
+ it "returns a validation error" do
9
9
  view = described_class.run(tenant: tenant).result.render(:json)
10
- expect(view).to match('user is not present')
10
+ expect(view).to match("user is not present")
11
11
  end
12
12
  end
13
13
 
14
- context 'with no tenant provided' do
15
- it 'returns a validation error' do
14
+ context "with no tenant provided" do
15
+ it "returns a validation error" do
16
16
  view = described_class.run(user: user).result.render(:json)
17
- expect(view).to match('tenant is not present')
17
+ expect(view).to match("tenant is not present")
18
18
  end
19
19
  end
20
20
 
21
- context 'with valid arguments' do
21
+ context "with valid arguments" do
22
22
  let(:groups) { create_list(:group, 3, tenant: tenant) }
23
23
 
24
24
  before do
@@ -27,10 +27,10 @@ describe PUNK::ListGroupsAction do
27
27
  groups[1].add_user(user)
28
28
  end
29
29
 
30
- it 'returns groups for the tenant that the user is a member of' do
30
+ it "returns groups for the tenant that the user is a member of" do
31
31
  expect(tenant.groups.count).to eq(3)
32
32
  view = JSON.parse(described_class.run(user: user, tenant: tenant).result.render(:json))
33
- expect(view.map { |h| h['id'] }.sort).to eq([groups[0].id, groups[1].id].sort)
33
+ expect(view.map { |h| h["id"] }.sort).to eq([groups[0].id, groups[1].id].sort)
34
34
  end
35
35
  end
36
36
  end
@@ -1,28 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::ClearSessionAction do
4
- context 'with no session provided' do
5
- it 'returns a validation error' do
4
+ context "with no session provided" do
5
+ it "returns a validation error" do
6
6
  view = described_class.run.result.render(:json)
7
- expect(view).to match('session is not present')
8
- expect(view).to match('session is empty')
7
+ expect(view).to match("session is not present")
8
+ expect(view).to match("session is empty")
9
9
  end
10
10
  end
11
11
 
12
- context 'with an inactive session provided' do
13
- it 'returns a validation error' do
12
+ context "with an inactive session provided" do
13
+ it "returns a validation error" do
14
14
  session = create(:session)
15
15
  view = described_class.run(session: session).result.render(:json)
16
- expect(view).to match('session is not in active state')
17
- expect(view).to match('session may not clear')
16
+ expect(view).to match("session is not in active state")
17
+ expect(view).to match("session may not clear")
18
18
  end
19
19
  end
20
20
 
21
- context 'with an active session provided' do
22
- it 'clears the session' do
21
+ context "with an active session provided" do
22
+ it "clears the session" do
23
23
  session = create(:session, state: :active)
24
24
  view = described_class.run(session: session).result.render(:json)
25
- expect(view).to match('You have been logged out')
25
+ expect(view).to match("You have been logged out")
26
26
  expect(session.deleted?).to be(true)
27
27
  end
28
28
  end
@@ -4,28 +4,28 @@ describe PUNK::CreateSessionAction do
4
4
  let(:remote_addr) { Faker::Internet.ip_v4_address }
5
5
  let(:user_agent) { Faker::Internet.user_agent }
6
6
 
7
- context 'with no claim provided' do
8
- it 'returns a validation error' do
7
+ context "with no claim provided" do
8
+ it "returns a validation error" do
9
9
  view = described_class.run(remote_addr: remote_addr, user_agent: user_agent).result.render(:json)
10
- expect(view).to match('claim is not present')
10
+ expect(view).to match("claim is not present")
11
11
  end
12
12
  end
13
13
 
14
- context 'with an email claim provided' do
15
- it 'created an identity and a session' do
14
+ context "with an email claim provided" do
15
+ it "created an identity and a session" do
16
16
  email = Faker::Internet.email
17
17
  view = described_class.run(claim: email, remote_addr: remote_addr, user_agent: user_agent).result.render(:json)
18
- session = PUNK::Session.find(slug: ActiveSupport::JSON.decode(view)['slug'])
18
+ session = PUNK::Session.find(slug: ActiveSupport::JSON.decode(view)["slug"])
19
19
  expect(session.identity.claim_type).to eq(:email)
20
20
  expect(session.identity.claim).to eq(email)
21
21
  end
22
22
  end
23
23
 
24
- context 'with a phone claim provided' do
25
- it 'created an identity and a session' do
24
+ context "with a phone claim provided" do
25
+ it "created an identity and a session" do
26
26
  phone = generate(:phone)
27
27
  view = described_class.run(claim: phone, remote_addr: remote_addr, user_agent: user_agent).result.render(:json)
28
- session = PUNK::Session.find(slug: ActiveSupport::JSON.decode(view)['slug'])
28
+ session = PUNK::Session.find(slug: ActiveSupport::JSON.decode(view)["slug"])
29
29
  expect(session.identity.claim_type).to eq(:phone)
30
30
  expect(session.identity.claim).to eq(phone)
31
31
  end