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
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::PlivoStore do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::ListSessionsView do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::PendingSessionView do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::ListTenantsView do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::ListGroupsView do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::ListUsersView do
4
- context 'when no spec has been written' do
5
- it 'shows a warning'
4
+ context "when no spec has been written" do
5
+ it "shows a warning"
6
6
  end
7
7
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::GeocodeSessionWorker, :vcr do
4
- let(:remote_addr) { '42.221.129.61' }
4
+ let(:remote_addr) { "42.221.129.61" }
5
5
  let(:session) { create(:session, remote_addr: remote_addr) }
6
6
 
7
- it 'updates the session data' do
7
+ it "updates the session data" do
8
8
  expect(session.data).to eq({})
9
9
  described_class.perform_async(session_id: session.id)
10
10
  described_class.drain
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  describe PUNK::IdentifySessionWorker, :vcr do
4
- let(:user_agent) { 'Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0' }
5
- let(:remote_addr) { '92.177.45.168' }
4
+ let(:user_agent) { "Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0" }
5
+ let(:remote_addr) { "92.177.45.168" }
6
6
  let(:session) { create(:session, user_agent: user_agent, remote_addr: remote_addr) }
7
7
 
8
- it 'updates the session data' do
8
+ it "updates the session data" do
9
9
  expect(session.data).to eq({})
10
10
  described_class.perform_async(session_id: session.id)
11
11
  described_class.drain
@@ -7,7 +7,7 @@ describe PUNK::SendEmailWorker do
7
7
  let(:template) { Faker::Alphanumeric.alpha }
8
8
 
9
9
  before do
10
- require 'mailgun-ruby'
10
+ require "mailgun-ruby"
11
11
  Mailgun::Client.deliveries.clear
12
12
  end
13
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: punk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lloyd Kranzky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-25 00:00:00.000000000 Z
11
+ date: 2021-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: '1.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.5'
26
+ version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dim
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +128,28 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.13'
131
+ version: '0.14'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0.13'
138
+ version: '0.14'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: puma
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '5.1'
145
+ version: '5.2'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '5.1'
152
+ version: '5.2'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rack-cors
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -254,14 +254,14 @@ dependencies:
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: '5.40'
257
+ version: '5.42'
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: '5.40'
264
+ version: '5.42'
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: aasm
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -380,28 +380,28 @@ dependencies:
380
380
  requirements:
381
381
  - - "~>"
382
382
  - !ruby/object:Gem::Version
383
- version: '4.15'
383
+ version: '4.16'
384
384
  type: :runtime
385
385
  prerelease: false
386
386
  version_requirements: !ruby/object:Gem::Requirement
387
387
  requirements:
388
388
  - - "~>"
389
389
  - !ruby/object:Gem::Version
390
- version: '4.15'
390
+ version: '4.16'
391
391
  - !ruby/object:Gem::Dependency
392
392
  name: roda
393
393
  requirement: !ruby/object:Gem::Requirement
394
394
  requirements:
395
395
  - - "~>"
396
396
  - !ruby/object:Gem::Version
397
- version: '3.40'
397
+ version: '3.41'
398
398
  type: :runtime
399
399
  prerelease: false
400
400
  version_requirements: !ruby/object:Gem::Requirement
401
401
  requirements:
402
402
  - - "~>"
403
403
  - !ruby/object:Gem::Version
404
- version: '3.40'
404
+ version: '3.41'
405
405
  - !ruby/object:Gem::Dependency
406
406
  name: roda-route_list
407
407
  requirement: !ruby/object:Gem::Requirement
@@ -520,28 +520,28 @@ dependencies:
520
520
  requirements:
521
521
  - - "~>"
522
522
  - !ruby/object:Gem::Version
523
- version: '4.1'
523
+ version: '4.2'
524
524
  type: :runtime
525
525
  prerelease: false
526
526
  version_requirements: !ruby/object:Gem::Requirement
527
527
  requirements:
528
528
  - - "~>"
529
529
  - !ruby/object:Gem::Version
530
- version: '4.1'
530
+ version: '4.2'
531
531
  - !ruby/object:Gem::Dependency
532
532
  name: sentry-sidekiq
533
533
  requirement: !ruby/object:Gem::Requirement
534
534
  requirements:
535
535
  - - "~>"
536
536
  - !ruby/object:Gem::Version
537
- version: '4.1'
537
+ version: '4.2'
538
538
  type: :runtime
539
539
  prerelease: false
540
540
  version_requirements: !ruby/object:Gem::Requirement
541
541
  requirements:
542
542
  - - "~>"
543
543
  - !ruby/object:Gem::Version
544
- version: '4.1'
544
+ version: '4.2'
545
545
  - !ruby/object:Gem::Dependency
546
546
  name: skylight
547
547
  requirement: !ruby/object:Gem::Requirement
@@ -655,19 +655,19 @@ dependencies:
655
655
  - !ruby/object:Gem::Version
656
656
  version: '2.5'
657
657
  - !ruby/object:Gem::Dependency
658
- name: pry-byebug
658
+ name: standard
659
659
  requirement: !ruby/object:Gem::Requirement
660
660
  requirements:
661
661
  - - "~>"
662
662
  - !ruby/object:Gem::Version
663
- version: '3.9'
663
+ version: '1.0'
664
664
  type: :development
665
665
  prerelease: false
666
666
  version_requirements: !ruby/object:Gem::Requirement
667
667
  requirements:
668
668
  - - "~>"
669
669
  - !ruby/object:Gem::Version
670
- version: '3.9'
670
+ version: '1.0'
671
671
  description: ''
672
672
  email: lloyd@kranzky.com
673
673
  executables:
@@ -685,6 +685,7 @@ files:
685
685
  - ".rgignore"
686
686
  - ".rspec"
687
687
  - ".rubocop.yml"
688
+ - ".standard.yml"
688
689
  - Gemfile
689
690
  - Gemfile.lock
690
691
  - LICENSE
@@ -695,6 +696,7 @@ files:
695
696
  - app/routes/hello.rb
696
697
  - bin/punk
697
698
  - env/.gitignore
699
+ - env/defaults.sh
698
700
  - env/spec/test.sh
699
701
  - env/test.sh
700
702
  - lib/punk.rb
@@ -888,7 +890,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
888
890
  requirements:
889
891
  - - ">="
890
892
  - !ruby/object:Gem::Version
891
- version: '2.1'
893
+ version: '2.6'
892
894
  required_rubygems_version: !ruby/object:Gem::Requirement
893
895
  requirements:
894
896
  - - ">="