punk 0.3.6 → 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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +1 -1
  3. data/.rubocop.yml +1091 -93
  4. data/.standard.yml +2 -0
  5. data/Gemfile +60 -60
  6. data/Gemfile.lock +22 -17
  7. data/README.md +7 -3
  8. data/Rakefile +9 -7
  9. data/VERSION +1 -1
  10. data/app/migrations/001_lets_punk.rb +1 -1
  11. data/app/routes/hello.rb +1 -1
  12. data/bin/punk +5 -5
  13. data/lib/punk.rb +7 -7
  14. data/lib/punk/actions/sessions/create.rb +3 -3
  15. data/lib/punk/actions/sessions/verify.rb +2 -2
  16. data/lib/punk/commands/auth.rb +4 -4
  17. data/lib/punk/commands/generate.rb +5 -5
  18. data/lib/punk/commands/http.rb +4 -4
  19. data/lib/punk/commands/list.rb +10 -10
  20. data/lib/punk/core/app.rb +41 -41
  21. data/lib/punk/core/boot.rb +5 -5
  22. data/lib/punk/core/cli.rb +3 -3
  23. data/lib/punk/core/commander.rb +28 -28
  24. data/lib/punk/core/commands.rb +8 -8
  25. data/lib/punk/core/env.rb +27 -27
  26. data/lib/punk/core/exec.rb +8 -8
  27. data/lib/punk/core/interface.rb +19 -19
  28. data/lib/punk/core/load.rb +2 -2
  29. data/lib/punk/core/logger.rb +3 -3
  30. data/lib/punk/core/monkey.rb +1 -1
  31. data/lib/punk/core/pry.rb +2 -2
  32. data/lib/punk/core/settings.rb +4 -4
  33. data/lib/punk/core/version.rb +1 -1
  34. data/lib/punk/core/worker.rb +6 -6
  35. data/lib/punk/framework/all.rb +8 -8
  36. data/lib/punk/framework/model.rb +6 -5
  37. data/lib/punk/framework/plugins/all.rb +1 -1
  38. data/lib/punk/framework/plugins/validation.rb +8 -8
  39. data/lib/punk/framework/service.rb +5 -3
  40. data/lib/punk/framework/worker.rb +3 -3
  41. data/lib/punk/helpers/all.rb +5 -5
  42. data/lib/punk/helpers/loggable.rb +3 -3
  43. data/lib/punk/helpers/publishable.rb +1 -1
  44. data/lib/punk/helpers/renderable.rb +10 -10
  45. data/lib/punk/helpers/validatable.rb +7 -6
  46. data/lib/punk/migrations/001_punk.rb +12 -12
  47. data/lib/punk/models/group.rb +1 -1
  48. data/lib/punk/models/identity.rb +1 -1
  49. data/lib/punk/models/session.rb +7 -7
  50. data/lib/punk/models/tenant.rb +1 -1
  51. data/lib/punk/models/user.rb +2 -2
  52. data/lib/punk/plugins/all.rb +2 -2
  53. data/lib/punk/plugins/cors.rb +2 -2
  54. data/lib/punk/plugins/ssl.rb +1 -1
  55. data/lib/punk/routes/groups.rb +1 -1
  56. data/lib/punk/routes/plivo.rb +1 -1
  57. data/lib/punk/routes/sessions.rb +2 -2
  58. data/lib/punk/routes/swagger.rb +2 -2
  59. data/lib/punk/routes/tenants.rb +1 -1
  60. data/lib/punk/routes/users.rb +1 -1
  61. data/lib/punk/services/challenge_claim.rb +5 -5
  62. data/lib/punk/services/generate_swagger.rb +6 -6
  63. data/lib/punk/services/prove_claim.rb +1 -1
  64. data/lib/punk/startup/cache.rb +3 -3
  65. data/lib/punk/startup/database.rb +4 -4
  66. data/lib/punk/startup/environment.rb +6 -6
  67. data/lib/punk/startup/logger.rb +2 -2
  68. data/lib/punk/startup/task.rb +5 -5
  69. data/lib/punk/views/fail.rb +2 -2
  70. data/lib/punk/views/groups/list.rb +2 -2
  71. data/lib/punk/views/info.rb +2 -2
  72. data/lib/punk/views/plivo_store.rb +2 -2
  73. data/lib/punk/views/sessions/list.rb +2 -2
  74. data/lib/punk/views/sessions/pending.rb +2 -2
  75. data/lib/punk/views/tenants/list.rb +2 -2
  76. data/lib/punk/views/users/list.rb +2 -2
  77. data/lib/punk/views/users/show.rb +2 -2
  78. data/lib/punk/workers/geocode_session_worker.rb +3 -3
  79. data/lib/punk/workers/identify_session_worker.rb +1 -1
  80. data/lib/punk/workers/send_email_worker.rb +3 -3
  81. data/lib/punk/workers/send_sms_worker.rb +3 -3
  82. data/punk.gemspec +8 -4
  83. data/spec/actions/groups/punk/list_groups_action_spec.rb +9 -9
  84. data/spec/actions/sessions/punk/clear_session_action_spec.rb +11 -11
  85. data/spec/actions/sessions/punk/create_session_action_spec.rb +9 -9
  86. data/spec/actions/sessions/punk/list_sessions_action_spec.rb +8 -8
  87. data/spec/actions/sessions/punk/verify_session_action_spec.rb +24 -24
  88. data/spec/actions/tenants/punk/list_tenants_action_spec.rb +6 -6
  89. data/spec/actions/users/punk/list_group_users_action_spec.rb +6 -6
  90. data/spec/actions/users/punk/list_tenant_users_action_spec.rb +6 -6
  91. data/spec/factories/group.rb +1 -1
  92. data/spec/factories/group_user_metadata.rb +1 -1
  93. data/spec/factories/identity.rb +4 -4
  94. data/spec/factories/session.rb +1 -1
  95. data/spec/factories/tenant.rb +1 -1
  96. data/spec/factories/tenant_user_metadata.rb +1 -1
  97. data/spec/factories/user.rb +1 -1
  98. data/spec/lib/commands/generate_spec.rb +2 -2
  99. data/spec/lib/commands/list_spec.rb +2 -2
  100. data/spec/lib/commands/swagger_spec.rb +2 -2
  101. data/spec/lib/engine/punk_env_spec.rb +4 -4
  102. data/spec/lib/engine/punk_exec_spec.rb +2 -2
  103. data/spec/lib/engine/punk_init_spec.rb +2 -2
  104. data/spec/lib/engine/punk_store_spec.rb +2 -2
  105. data/spec/models/punk/group_spec.rb +4 -4
  106. data/spec/models/punk/group_user_metadata_spec.rb +2 -2
  107. data/spec/models/punk/identity_spec.rb +17 -17
  108. data/spec/models/punk/session_spec.rb +4 -4
  109. data/spec/models/punk/tenant_spec.rb +3 -3
  110. data/spec/models/punk/tenant_user_metadata_spec.rb +2 -2
  111. data/spec/models/punk/user_spec.rb +9 -9
  112. data/spec/routes/groups/get_groups_spec.rb +4 -4
  113. data/spec/routes/plivo/get_plivo_spec.rb +1 -1
  114. data/spec/routes/sessions/delete_session_spec.rb +1 -1
  115. data/spec/routes/sessions/get_sessions_spec.rb +5 -5
  116. data/spec/routes/sessions/patch_session_spec.rb +1 -1
  117. data/spec/routes/sessions/post_session_spec.rb +1 -1
  118. data/spec/routes/swagger/get_swagger_spec.rb +1 -1
  119. data/spec/routes/tenants/get_tenants_spec.rb +5 -5
  120. data/spec/routes/users/get_users_spec.rb +6 -6
  121. data/spec/services/punk/challenge_claim_service_spec.rb +2 -2
  122. data/spec/services/punk/create_identities_service_spec.rb +1 -1
  123. data/spec/services/punk/generate_swagger_service_spec.rb +2 -2
  124. data/spec/services/punk/prove_claim_service_spec.rb +2 -2
  125. data/spec/services/punk/secret_service_spec.rb +2 -2
  126. data/spec/spec_helper.rb +27 -27
  127. data/spec/views/punk/plivo_store_spec.rb +2 -2
  128. data/spec/views/sessions/punk/list_sessions_view_spec.rb +2 -2
  129. data/spec/views/sessions/punk/pending_session_view_spec.rb +2 -2
  130. data/spec/views/tenants/punk/list_tenants_view_spec.rb +2 -2
  131. data/spec/views/users/punk/list_groups_view_spec.rb +2 -2
  132. data/spec/views/users/punk/list_users_view_spec.rb +2 -2
  133. data/spec/workers/punk/geocode_session_worker_spec.rb +2 -2
  134. data/spec/workers/punk/identify_session_worker_spec.rb +3 -3
  135. data/spec/workers/punk/send_email_worker_spec.rb +1 -1
  136. metadata +18 -3
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # route: GET /swagger.json
4
- PUNK.route('swagger') do
4
+ PUNK.route("swagger") do
5
5
  result = PUNK::GenerateSwaggerService.run.result
6
6
  response.status = 200
7
- response['Content-Type'] = 'application/json'
7
+ response["Content-Type"] = "application/json"
8
8
  result
9
9
  end
@@ -3,7 +3,7 @@
3
3
  # @resource Tenants
4
4
  #
5
5
  # All resources in the system are relative to a particular tenant application.
6
- PUNK.route('tenants') do
6
+ PUNK.route("tenants") do
7
7
  require_session!
8
8
 
9
9
  # Retrieve the list of tenants visible to the authenticated user.
@@ -3,7 +3,7 @@
3
3
  # @resource Users
4
4
  #
5
5
  # Users can belong to many tenants and many groups.
6
- PUNK.route('users') do
6
+ PUNK.route("users") do
7
7
  require_session!
8
8
  require_tenant!
9
9
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rbnacl'
3
+ require "rbnacl"
4
4
 
5
5
  module PUNK
6
6
  class ChallengeClaimService < Service
@@ -25,13 +25,13 @@ module PUNK
25
25
  case identity.claim_type
26
26
  when :email
27
27
  SendEmailWorker.perform_async(
28
- from: 'GroupFire Accounts <noreply@groupfire.com>',
28
+ from: "GroupFire Accounts <noreply@groupfire.com>",
29
29
  to: identity.claim,
30
- subject: '[GroupFire] Verification Code',
31
- template: 'verify',
30
+ subject: "[GroupFire] Verification Code",
31
+ template: "verify",
32
32
  tags: [:auth],
33
33
  variables: {
34
- name: identity.user&.name || 'New User',
34
+ name: identity.user&.name || "New User",
35
35
  secret: secret
36
36
  }
37
37
  )
@@ -3,18 +3,18 @@
3
3
  module PUNK
4
4
  class GenerateSwaggerService < Service
5
5
  def process
6
- path = File.join(PUNK.get.app.path, '..', 'www', 'swagger.json')
7
- raise InternalServerError, 'swagger.json already exists' if File.exist?(path) && !PUNK.env.test?
8
- require 'swagger_yard'
9
- require_relative '../helpers/swagger'
6
+ path = File.join(PUNK.get.app.path, "..", "www", "swagger.json")
7
+ raise InternalServerError, "swagger.json already exists" if File.exist?(path) && !PUNK.env.test?
8
+ require "swagger_yard"
9
+ require_relative "../helpers/swagger"
10
10
  SwaggerYard.register_custom_yard_tags!
11
11
  SwaggerYard.configure do |config|
12
12
  config.api_version = PUNK.version
13
13
  config.title = PUNK.get.app.name
14
14
  config.description = PUNK.get.app.description
15
15
  config.api_base_path = PUNK.get.app.url
16
- config.controller_path = [File.join(PUNK.get.app.path, 'routes', '**', '*'), File.join(__dir__, '..', 'routes', '**', '*')]
17
- config.model_path = [File.join(__dir__, '..', 'models', '**', '*'), File.join(__dir__, '..', 'views', '**', '*'), File.join(PUNK.get.app.path, 'models', '**', '*')]
16
+ config.controller_path = [File.join(PUNK.get.app.path, "routes", "**", "*"), File.join(__dir__, "..", "routes", "**", "*")]
17
+ config.model_path = [File.join(__dir__, "..", "models", "**", "*"), File.join(__dir__, "..", "views", "**", "*"), File.join(PUNK.get.app.path, "models", "**", "*")]
18
18
  end
19
19
  spec = SwaggerYard::OpenAPI.new
20
20
  blob = JSON.pretty_generate(spec.to_h)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rbnacl'
3
+ require "rbnacl"
4
4
 
5
5
  module PUNK
6
6
  class ProveClaimService < Service
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'dalli'
3
+ require "dalli"
4
4
 
5
5
  PUNK::Interface.register(:cache) do
6
- PUNK.profile_debug('cache_connect', servers: PUNK.get.cache.servers) do
7
- Dalli::Client.new(PUNK.get.cache.servers.split(','), PUNK.get.cache.options)
6
+ PUNK.profile_debug("cache_connect", servers: PUNK.get.cache.servers) do
7
+ Dalli::Client.new(PUNK.get.cache.servers.split(","), PUNK.get.cache.options)
8
8
  end
9
9
  end
10
10
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'sequel'
3
+ require "sequel"
4
4
 
5
5
  module Sequel
6
6
  def self.json_parser_error_class
@@ -12,7 +12,7 @@ module Sequel
12
12
  end
13
13
 
14
14
  class Database
15
- def log_connection_yield(sql, conn, args=nil, &block)
15
+ def log_connection_yield(sql, conn, args = nil, &block)
16
16
  return unless @loggers.first
17
17
  if conn && log_connection_info
18
18
  @loggers.first.tagged(conn.__id__) do
@@ -46,8 +46,8 @@ module PUNK
46
46
  end
47
47
 
48
48
  PUNK::Interface.register(:db) do
49
- PUNK.profile_debug('db_connect', url: PUNK.get.db.url) do
50
- pg = Sequel.connect(PUNK.get.db.url, logger: SemanticLogger['PUNK::SQL'])
49
+ PUNK.profile_debug("db_connect", url: PUNK.get.db.url) do
50
+ pg = Sequel.connect(PUNK.get.db.url, logger: SemanticLogger["PUNK::SQL"])
51
51
  pg.extension :pg_enum, :pg_range, :pg_array, :pg_json, :pg_row, :pg_timestamptz, :pg_inet
52
52
  Sequel.extension :pg_array_ops, :pg_range_ops, :pg_json_ops, :pg_row_ops, :named_timezones, :thread_local_timezones
53
53
  pg
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  case PUNK.env
4
- when 'test', 'development'
5
- require 'amazing_print'
6
- require 'byebug'
7
- require 'rubocop'
8
- require 'rubocop-rspec'
9
- require 'rubocop-sequel'
4
+ when "test", "development"
5
+ require "amazing_print"
6
+ require "byebug"
7
+ require "rubocop"
8
+ require "rubocop-rspec"
9
+ require "rubocop-sequel"
10
10
  end
@@ -10,8 +10,8 @@ if PUNK.get.log.enabled?
10
10
  $stdout.sync = true
11
11
  SemanticLogger.add_appender(io: $stdout, formatter: :color)
12
12
  when :file
13
- subdir = PUNK.task.server? ? '.' : PUNK.task
14
- path = PUNK.get.log.path || File.join(PUNK.get.app.path, '..', 'log', subdir, "#{PUNK.env}.log")
13
+ subdir = PUNK.task.server? ? "." : PUNK.task
14
+ path = PUNK.get.log.path || File.join(PUNK.get.app.path, "..", "log", subdir, "#{PUNK.env}.log")
15
15
  FileUtils.mkdir_p(File.dirname(path))
16
16
  SemanticLogger.add_appender(file_name: path, formatter: :color)
17
17
  else
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  case PUNK.task
4
- when 'spec'
5
- require 'rspec'
6
- require 'rspec/its'
7
- require 'sidekiq/testing'
8
- when 'console'
4
+ when "spec"
5
+ require "rspec"
6
+ require "rspec/its"
7
+ require "sidekiq/testing"
8
+ when "console"
9
9
  AwesomePrint.pry! if defined?(AwesomePrint)
10
10
  end
@@ -9,13 +9,13 @@ module PUNK
9
9
 
10
10
  def process
11
11
  logger.warn "#{message} (#{status}): #{error_messages.to_sentence}"
12
- 'fail'
12
+ "fail"
13
13
  end
14
14
 
15
15
  protected
16
16
 
17
17
  def _dir
18
- File.join(__dir__, '..', 'templates')
18
+ File.join(__dir__, "..", "templates")
19
19
  end
20
20
  end
21
21
  end
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- 'groups/list'
13
+ "groups/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
@@ -8,13 +8,13 @@ module PUNK
8
8
 
9
9
  def process
10
10
  logger.info message
11
- 'info'
11
+ "info"
12
12
  end
13
13
 
14
14
  protected
15
15
 
16
16
  def _dir
17
- File.join(__dir__, '..', 'templates')
17
+ File.join(__dir__, "..", "templates")
18
18
  end
19
19
  end
20
20
  end
@@ -3,13 +3,13 @@
3
3
  module PUNK
4
4
  class PlivoStore < View
5
5
  def process
6
- 'plivo'
6
+ "plivo"
7
7
  end
8
8
 
9
9
  protected
10
10
 
11
11
  def _dir
12
- File.join(__dir__, '..', 'templates')
12
+ File.join(__dir__, "..", "templates")
13
13
  end
14
14
  end
15
15
  end
@@ -10,13 +10,13 @@ module PUNK
10
10
  end
11
11
 
12
12
  def process
13
- 'sessions/list'
13
+ "sessions/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
@@ -16,13 +16,13 @@ module PUNK
16
16
  end
17
17
 
18
18
  def process
19
- 'sessions/pending'
19
+ "sessions/pending"
20
20
  end
21
21
 
22
22
  protected
23
23
 
24
24
  def _dir
25
- File.join(__dir__, '..', '..', 'templates')
25
+ File.join(__dir__, "..", "..", "templates")
26
26
  end
27
27
  end
28
28
  end
@@ -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.6 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.6"
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-03-02"
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",
@@ -223,7 +224,7 @@ Gem::Specification.new do |s|
223
224
  ]
224
225
  s.homepage = "https://github.com/kranzky/punk".freeze
225
226
  s.licenses = ["Unlicense".freeze]
226
- s.required_ruby_version = Gem::Requirement.new(">= 2.1".freeze)
227
+ s.required_ruby_version = Gem::Requirement.new(">= 2.6".freeze)
227
228
  s.rubygems_version = "2.7.6.2".freeze
228
229
  s.summary = "Punk! is an omakase web framework for rapid prototyping.".freeze
229
230
 
@@ -277,6 +278,7 @@ Gem::Specification.new do |s|
277
278
  s.add_development_dependency(%q<amazing_print>.freeze, ["~> 1.2"])
278
279
  s.add_development_dependency(%q<byebug>.freeze, ["~> 11.1"])
279
280
  s.add_development_dependency(%q<launchy>.freeze, ["~> 2.5"])
281
+ s.add_development_dependency(%q<standard>.freeze, ["~> 1.0"])
280
282
  else
281
283
  s.add_dependency(%q<bootsnap>.freeze, ["~> 1.7"])
282
284
  s.add_dependency(%q<dim>.freeze, ["~> 1.2"])
@@ -324,6 +326,7 @@ 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"])
329
+ s.add_dependency(%q<standard>.freeze, ["~> 1.0"])
327
330
  end
328
331
  else
329
332
  s.add_dependency(%q<bootsnap>.freeze, ["~> 1.7"])
@@ -372,6 +375,7 @@ Gem::Specification.new do |s|
372
375
  s.add_dependency(%q<amazing_print>.freeze, ["~> 1.2"])
373
376
  s.add_dependency(%q<byebug>.freeze, ["~> 11.1"])
374
377
  s.add_dependency(%q<launchy>.freeze, ["~> 2.5"])
378
+ s.add_dependency(%q<standard>.freeze, ["~> 1.0"])
375
379
  end
376
380
  end
377
381