codeword 0.1.1 → 0.2.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0df77c174f33909ed5e7f6b4168485dea5e4888098f2ca4c41c576b60b4da44a
4
- data.tar.gz: f0d1971d5214427371119fac86d8c63e0e40b76a23682a3cd766029e7e275460
3
+ metadata.gz: 58628581dfc6ebc297114f5d05ca82b625d1f777eb28fb66cb83caf818b5337b
4
+ data.tar.gz: a554b130eb17b6fe35e60ecb7bd6d318b1c43e61665ed8438e1b6476c4e4b985
5
5
  SHA512:
6
- metadata.gz: b833d1f568e8c6e1b138b42ec0b80c2645c4def43e22b3b362fa0078d285f50a0c84efe571bd213fc81e87a666f0d0dc15a6c9a69e0e94360ec85f033b47a94b
7
- data.tar.gz: 892591cc8b6feecccee50e0b6e084fb01f3f991f2eb21d23cef9f20a3177d517854964911c9eda0b79f7196cc76573732e01c39ee372719544a9030f5c0c11cc
6
+ metadata.gz: f76067c4a6e801c693e970c60ea94179fb35d8e4d03f1c52cd6fcfdf2735a87004357d4490d296d3ebcd380b859e89ce894165098a74a49aec39806b6e04caed
7
+ data.tar.gz: a3c85b0d037a52c7df10bbad807e2f05e6a71fd4e030f4dff514c93ddb5f7c6d20303235aed514064310d828878219d04385ec37ec84818e74add0a42a2b3a3a
data/.gitignore CHANGED
@@ -7,3 +7,6 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /Gemfile.lock
10
+
11
+ # macOS
12
+ .DS_Store
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.3
1
+ 3.4.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## [Unreleased]
2
2
 
3
+ - BREAKING: Deprecate Rails secrets in favor of Rails credentials
4
+ - BREAKING: Drop support for Rails < 6.0
5
+
3
6
  ## [0.1.1] - 2021-12-17
4
7
 
5
8
  - Fix unlocks
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Codeword
2
2
 
3
- A simple gem to more elegantly place a staging server or other in-progress rails application behind a basic codeword. It’s easy to implement, share with clients/collaborators, and more beautiful than the typical password-protection sheet. This is a fork of [lockup](https://github.com/interdiscipline/lockup).
3
+ A simple gem to more elegantly place a staging server or other in-progress Ruby on Rails application behind a basic codeword. It’s easy to implement, share with clients/collaborators, and more beautiful than the typical password-protection sheet.
4
+
5
+ ![Screenshot](./screenshot.png)
4
6
 
5
7
  ## Installation
6
8
 
@@ -32,14 +34,14 @@ If you think you might need a hint:
32
34
  ENV['CODEWORD_HINT'] = 'Something that you do not tell everyone.'
33
35
  ```
34
36
 
35
- If you’re using Rails >= 4.1 or Rails >= 5.2, you can add your Codeword Codeword via Rails Secrets or Rails Credentials functionality in your `secrets.yml` or `credentials.yml.enc` file, respectively:
37
+ You can add your codeword via Rails credentials in your `credentials.yml.enc` file (`$ bin/rails credentials:edit`):
36
38
 
37
39
  ```yml
38
40
  codeword: 'love'
39
41
  codeword_hint: 'Pepé Le Pew'
40
42
  ```
41
43
 
42
- Alternately, Rails Credentials in >= 5.2 may be organized under the `codeword` namespace:
44
+ Alternately, credentials in Rails >= 5.2 may be organized under the `codeword` namespace:
43
45
 
44
46
  ```yml
45
47
  codeword:
@@ -47,13 +49,6 @@ codeword:
47
49
  hint: 'Pepé Le Pew'
48
50
  ```
49
51
 
50
- If you’re using [Figaro](https://github.com/laserlemon/figaro), set your Codeword codeword and hint (optional) in your application.yml file:
51
-
52
- ```yml
53
- codeword: 'love'
54
- codeword_hint: 'Pepé Le Pew'
55
- ```
56
-
57
52
  **Codewords are not case-sensitive, by design. Keep it simple.**
58
53
 
59
54
  ## Advanced Usage
@@ -100,10 +95,6 @@ If you would like to change the content or design of the codeword page, you can
100
95
 
101
96
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
102
97
 
103
- ## Contributing
104
-
105
- Bug reports and pull requests are welcome on GitHub at https://github.com/dankimio/codeword.
106
-
107
- ## License
98
+ ## Acknowledgements
108
99
 
109
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
100
+ Codeword is a fork of [lockup](https://github.com/interdiscipline/lockup).
@@ -6,7 +6,7 @@ module Codeword
6
6
 
7
7
  def unlock
8
8
  user_agent = request.env['HTTP_USER_AGENT'].presence
9
- if user_agent && user_agent.downcase.match(CRAWLER_REGEX)
9
+ if user_agent&.downcase&.match(CRAWLER_REGEX)
10
10
  head :ok
11
11
  return
12
12
  end
@@ -3,11 +3,7 @@
3
3
  module Codeword
4
4
  module CodewordHelper
5
5
  def codeword_hint
6
- @codeword_hint ||=
7
- ENV['CODEWORD_HINT'] ||
8
- ENV['codeword_hint'] ||
9
- ::Codeword.from_config(:hint, :secrets) ||
10
- ::Codeword.from_config(:hint)
6
+ @codeword_hint ||= ENV['CODEWORD_HINT'] || ENV['codeword_hint'] || ::Codeword.from_config(:hint)
11
7
  end
12
8
  end
13
9
  end
@@ -1,3 +1,4 @@
1
+ <style>
1
2
  body {
2
3
  color: #1a202c;
3
4
  background-color: #f7fafc;
@@ -95,3 +96,4 @@ form input[type="password"].nope {
95
96
  color: #718096;
96
97
  margin-top: 0.5rem;
97
98
  }
99
+ </style>
@@ -1,3 +1,4 @@
1
+ <style>
1
2
  html {
2
3
  font-family: sans-serif;
3
4
  line-height: 1.15;
@@ -55,3 +56,4 @@ button:-moz-focusring,
55
56
  textarea {
56
57
  overflow: auto;
57
58
  }
59
+ </style>
@@ -8,10 +8,8 @@
8
8
 
9
9
  <title>Please enter the code word to continue…</title>
10
10
 
11
- <style>
12
- <%= render partial: 'layouts/codeword/normalize' %>
13
- <%= render partial: 'layouts/codeword/inline_css' %>
14
- </style>
11
+ <%= render partial: 'layouts/codeword/normalize' %>
12
+ <%= render partial: 'layouts/codeword/inline_css' %>
15
13
  </head>
16
14
 
17
15
  <body>
data/codeword.gemspec CHANGED
@@ -21,10 +21,10 @@ Gem::Specification.new do |spec|
21
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
22
  end
23
23
 
24
- spec.add_dependency 'rails', '>= 6'
24
+ spec.add_dependency 'rails', '>= 6.1'
25
25
 
26
26
  spec.add_development_dependency 'capybara', '~> 2.9'
27
27
  spec.add_development_dependency 'debug'
28
28
  spec.add_development_dependency 'launchy', '~> 2.4'
29
- spec.add_development_dependency 'rspec-rails', '~> 4.0'
29
+ spec.add_development_dependency 'rspec-rails', '~> 6.0'
30
30
  end
@@ -1,3 +1,3 @@
1
1
  module Codeword
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0.beta2'.freeze
3
3
  end
data/lib/codeword.rb CHANGED
@@ -6,13 +6,11 @@ module Codeword
6
6
  extend ActiveSupport::Concern
7
7
 
8
8
  included do
9
- before_action :check_for_codeword, except: ['unlock']
9
+ before_action :check_for_codeword
10
10
  end
11
11
 
12
- def self.from_config(setting, secrets_or_credentials = :credentials)
13
- return unless Rails.application.respond_to?(secrets_or_credentials)
14
-
15
- store = Rails.application.public_send(secrets_or_credentials)
12
+ def self.from_config(setting)
13
+ store = Rails.application.credentials
16
14
 
17
15
  store.codeword.respond_to?(:fetch) &&
18
16
  store.codeword.fetch(setting, store.public_send("codeword_#{setting}")) ||
@@ -35,21 +33,16 @@ module Codeword
35
33
  @cookie_lifetime ||=
36
34
  ENV['COOKIE_LIFETIME_IN_WEEKS'] ||
37
35
  ENV['cookie_lifetime_in_weeks'] ||
38
- Codeword.from_config(:cookie_lifetime_in_weeks, :secrets) ||
39
36
  Codeword.from_config(:cookie_lifetime_in_weeks)
40
37
  end
41
38
 
42
39
  def codeword_code
43
- @codeword_code ||=
44
- ENV['CODEWORD'] ||
45
- ENV['codeword'] ||
46
- Codeword.from_config(:codeword, :secrets) ||
47
- Codeword.from_config(:codeword)
40
+ @codeword_code ||= ENV['CODEWORD'] || ENV['codeword'] || Codeword.from_config(:codeword)
48
41
  end
49
42
 
50
43
  def codeword_cookie_lifetime
51
44
  seconds = (cookie_lifetime.to_f * 1.week).to_i
52
- if seconds > 0
45
+ if seconds.positive?
53
46
  seconds
54
47
  else
55
48
  5.years
data/screenshot.png ADDED
Binary file
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codeword
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Kim
8
8
  - gb Studio
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2021-12-17 00:00:00.000000000 Z
11
+ date: 2025-02-05 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
@@ -17,14 +16,14 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '6'
19
+ version: '6.1'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: '6'
26
+ version: '6.1'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: capybara
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +72,14 @@ dependencies:
73
72
  requirements:
74
73
  - - "~>"
75
74
  - !ruby/object:Gem::Version
76
- version: '4.0'
75
+ version: '6.0'
77
76
  type: :development
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
80
  - - "~>"
82
81
  - !ruby/object:Gem::Version
83
- version: '4.0'
82
+ version: '6.0'
84
83
  description: A simple gem to more elegantly place a staging server or other in-progress
85
84
  application behind a basic codeword. It’s easy to implement, share with clients/collaborators,
86
85
  and more beautiful than the typical password-protection sheet.
@@ -110,6 +109,7 @@ files:
110
109
  - lib/codeword.rb
111
110
  - lib/codeword/engine.rb
112
111
  - lib/codeword/version.rb
112
+ - screenshot.png
113
113
  - script/rails
114
114
  homepage: https://github.com/dankimio/codeword
115
115
  licenses:
@@ -118,7 +118,6 @@ metadata:
118
118
  homepage_uri: https://github.com/dankimio/codeword
119
119
  source_code_uri: https://github.com/dankimio/codeword
120
120
  changelog_uri: https://github.com/dankimio/codeword/CHANGELOG.md
121
- post_install_message:
122
121
  rdoc_options: []
123
122
  require_paths:
124
123
  - lib
@@ -133,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
132
  - !ruby/object:Gem::Version
134
133
  version: '0'
135
134
  requirements: []
136
- rubygems_version: 3.2.32
137
- signing_key:
135
+ rubygems_version: 3.6.2
138
136
  specification_version: 4
139
137
  summary: Lock staging servers from search engines and prying eyespec.
140
138
  test_files: []