crypt_ident 0.2.2 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Gemfile.lock +13 -12
- data/HISTORY.md +20 -2
- data/README.md +1 -3
- data/crypt_ident.gemspec +3 -3
- data/docs/CryptIdent.html +3 -3
- data/docs/_index.html +2 -2
- data/docs/file.CODE_OF_CONDUCT.html +2 -2
- data/docs/file.HISTORY.html +14 -4
- data/docs/file.LICENSE.html +2 -2
- data/docs/file.README.html +4 -6
- data/docs/index.html +4 -6
- data/docs/top-level-namespace.html +2 -2
- data/lib/crypt_ident/config.rb +10 -6
- data/lib/crypt_ident/version.rb +1 -1
- data/scripts/build-gem-list.rb +3 -3
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d6bb754cc3af965374d5a7ec4d1fb6ac051371c3039b37d39eaa1c12060bd07
|
4
|
+
data.tar.gz: 90a9a43a28041fc8bcf93bfed3da46429da069ea75efc5f937cfd295d276db00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd64a7c418d3a02ccbb0204debdc4e94c26b03877e9896b770522a474a62b649014b615c88ef8c8ccd582f6392593bba0019a4bec59a59dbb45ab88aa4fd9725
|
7
|
+
data.tar.gz: 4682a09477c11c74c45314f08b9776540f4f4c15bb99ac28f5e3bfc8ed16f83c03441c8d6a6bf25673d38532b6533c1fc5e95fde34251aec07bf5294063d9ae0
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.6.
|
1
|
+
2.6.1
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
crypt_ident (0.2.
|
4
|
+
crypt_ident (0.2.5)
|
5
5
|
bcrypt
|
6
6
|
dry-matcher
|
7
7
|
dry-monads
|
@@ -18,7 +18,7 @@ GEM
|
|
18
18
|
thread_safe (~> 0.3, >= 0.3.1)
|
19
19
|
bcrypt (3.1.12)
|
20
20
|
builder (3.2.3)
|
21
|
-
byebug (
|
21
|
+
byebug (11.0.0)
|
22
22
|
codeclimate-engine-rb (0.4.1)
|
23
23
|
virtus (~> 1.0)
|
24
24
|
coderay (1.1.2)
|
@@ -28,7 +28,7 @@ GEM
|
|
28
28
|
descendants_tracker (0.0.4)
|
29
29
|
thread_safe (~> 0.3, >= 0.3.1)
|
30
30
|
docile (1.3.1)
|
31
|
-
dry-configurable (0.8.
|
31
|
+
dry-configurable (0.8.2)
|
32
32
|
concurrent-ruby (~> 1.0)
|
33
33
|
dry-core (~> 0.4, >= 0.4.7)
|
34
34
|
dry-container (0.7.0)
|
@@ -115,7 +115,7 @@ GEM
|
|
115
115
|
yard (~> 0.9.12)
|
116
116
|
inflecto (0.0.2)
|
117
117
|
jaro_winkler (1.5.2)
|
118
|
-
json (2.
|
118
|
+
json (2.2.0)
|
119
119
|
kwalify (0.7.2)
|
120
120
|
listen (3.1.5)
|
121
121
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
@@ -133,13 +133,13 @@ GEM
|
|
133
133
|
builder
|
134
134
|
minitest (>= 5.0)
|
135
135
|
ruby-progressbar
|
136
|
-
minitest-tagz (1.
|
136
|
+
minitest-tagz (1.7.0)
|
137
137
|
minitest (~> 5)
|
138
138
|
nenv (0.3.0)
|
139
139
|
notiffany (0.1.1)
|
140
140
|
nenv (~> 0.1)
|
141
141
|
shellany (~> 0.0)
|
142
|
-
parallel (1.
|
142
|
+
parallel (1.14.0)
|
143
143
|
parser (2.6.0.0)
|
144
144
|
ast (~> 2.4.0)
|
145
145
|
path_expander (1.0.3)
|
@@ -147,8 +147,8 @@ GEM
|
|
147
147
|
pry (0.12.2)
|
148
148
|
coderay (~> 1.1.0)
|
149
149
|
method_source (~> 0.9.0)
|
150
|
-
pry-byebug (3.
|
151
|
-
byebug (~>
|
150
|
+
pry-byebug (3.7.0)
|
151
|
+
byebug (~> 11.0)
|
152
152
|
pry (~> 0.10)
|
153
153
|
pry-doc (1.0.0)
|
154
154
|
pry (~> 0.11)
|
@@ -188,11 +188,12 @@ GEM
|
|
188
188
|
dry-types (~> 0.11.0)
|
189
189
|
rom (~> 3.2, >= 3.2.2)
|
190
190
|
sequel (~> 4.43)
|
191
|
-
rubocop (0.
|
191
|
+
rubocop (0.65.0)
|
192
192
|
jaro_winkler (~> 1.5.1)
|
193
193
|
parallel (~> 1.10)
|
194
194
|
parser (>= 2.5, != 2.5.1.1)
|
195
195
|
powerpack (~> 0.1)
|
196
|
+
psych (>= 3.1.0)
|
196
197
|
rainbow (>= 2.2.2, < 4.0)
|
197
198
|
ruby-progressbar (~> 1.7)
|
198
199
|
unicode-display_width (~> 1.4.0)
|
@@ -246,13 +247,13 @@ DEPENDENCIES
|
|
246
247
|
minitest-hooks (= 1.5.0)
|
247
248
|
minitest-matchers (= 1.4.1)
|
248
249
|
minitest-reporters (= 1.3.6)
|
249
|
-
minitest-tagz (= 1.
|
250
|
-
pry-byebug (= 3.
|
250
|
+
minitest-tagz (= 1.7.0)
|
251
|
+
pry-byebug (= 3.7.0)
|
251
252
|
pry-doc (= 1.0.0)
|
252
253
|
rake (>= 12.3.2)
|
253
254
|
redcarpet (= 3.4.0)
|
254
255
|
reek (= 5.3.1)
|
255
|
-
rubocop (= 0.
|
256
|
+
rubocop (= 0.65.0)
|
256
257
|
simplecov (= 0.16.1)
|
257
258
|
sqlite3
|
258
259
|
timecop (= 0.9.1)
|
data/HISTORY.md
CHANGED
@@ -1,10 +1,28 @@
|
|
1
1
|
# CryptIdent Version History
|
2
2
|
|
3
|
-
## 0.2.
|
3
|
+
## 0.2.5 (1 March 2019)
|
4
|
+
|
5
|
+
This is what should have been 0.2.3. That version attempted to resolve `UserRepository`, used in the `CryptIdent.included` method, at `require` time; instead, by using `Object#const_get`, we now do it at the time the module is included in another (by which time `UserRepository` can be expected to be defined). Meh.
|
6
|
+
|
7
|
+
## 0.2.4 (28 February 2019)
|
8
|
+
|
9
|
+
Yanked. Disregard.
|
10
|
+
|
11
|
+
## 0.2.3 (28 February 2019)
|
12
|
+
|
13
|
+
Beginning with this release, you do not need to (and ordinarily should not) assign to `config.repository` in order for `config.guest_user` to work (or vice versa). This eliminates a noisome bit of ceremony from using the config. See Issue [#29](https://github.com/jdickey/crypt_ident/issues/29).
|
14
|
+
|
15
|
+
## 0.2.2 (21 February 2019)
|
16
|
+
|
17
|
+
First off, note that all 2019 releases are actually *marked* as 2019 releases now.
|
18
|
+
|
19
|
+
This release closes Issue [#28](https://github.com/jdickey/crypt_ident/issues/28), wherein we note that Version 0.2.1 and prior would have catastrophic breakage in `#update_session_expiry` when called with a `session_data` parameter that was "insufficiently Hash-like"; i.e., it did not support the `#merge` method. Examples of such not-quite-Hashes include `Hanami::Action::Session` which, rather obviously, is Important. 😞
|
20
|
+
|
21
|
+
## 0.2.1 (16 February 2019)
|
4
22
|
|
5
23
|
To commemorate The Valentine's Day Massacre, we've just re-discovered that Rack (the server protocol underlying all reasonably-modern Ruby Web frameworks) doesn't deal nicely with objects stored in `session` data (which is, by default, persisted in a cookie). If you assign, say, a `Hanami::Entity`-subclass instance to `session[:current_user]` (where `session` is Hanami's access to `Rack::Session`), when you later read from `session[:current_user]`, you'll be handed back a `Hash` of the Entity's attributes. Entity semantics specify that any two instances of the same Entity class with the sasme attribute values refer to _the same value_ of the Entity, not merely equal values, so converting back to an Entity is harmless. You just need to remember to do it and, as of 0.2.0, we didn't. That is fixed here, throughout the published API.
|
6
24
|
|
7
|
-
## 0.2.0 (2 February
|
25
|
+
## 0.2.0 (2 February 2019)
|
8
26
|
|
9
27
|
Initial *confident* public (pre-)release.
|
10
28
|
|
data/README.md
CHANGED
@@ -19,8 +19,6 @@ It *does not* implement features such as
|
|
19
19
|
|
20
20
|
These either violate current best-practice recommendations from security leaders (e.g., NIST and others no longer recommend password ageing as a defence against cracking) or have other Gems that focus on the features in question (e.g., [`bdmac/strong_password`](https://github.com/bdmac/strong_password)).
|
21
21
|
|
22
|
-
**NOTE:** One feature of this Gem is that most of the [configuration](#configuration) *should* Work Just Fine for most use cases. However, you **must** explicitly initialise the `:repository` configuration item prior to using the configuration data for the `repository` or the `guest_user` entries. We **recommend** assigning this once, during application startup when other configuration setup is being completed.
|
23
|
-
|
24
22
|
# Installation
|
25
23
|
|
26
24
|
Add this line to your application's Gemfile:
|
@@ -95,7 +93,7 @@ For example
|
|
95
93
|
config.hashing_cost = 6 # less secure and less resource-intensive
|
96
94
|
config.token_bytes = 20
|
97
95
|
config.reset_expiry = 7200 # two hours; "we run a tight ship here"
|
98
|
-
config.guest_user = MainApp::Repositories::User.new.guest_user
|
96
|
+
config.guest_user = MainApp::Repositories::User.new.guest_user # Likewise, *not* conventional
|
99
97
|
end
|
100
98
|
```
|
101
99
|
|
data/crypt_ident.gemspec
CHANGED
@@ -57,14 +57,14 @@ Gem::Specification.new do |spec|
|
|
57
57
|
spec.add_development_dependency 'minitest-hooks', '1.5.0'
|
58
58
|
spec.add_development_dependency 'minitest-matchers', '1.4.1'
|
59
59
|
spec.add_development_dependency 'minitest-reporters', '1.3.6'
|
60
|
-
spec.add_development_dependency 'minitest-tagz', '1.
|
60
|
+
spec.add_development_dependency 'minitest-tagz', '1.7.0'
|
61
61
|
# XXX: Great idea; useful; but we've found a way to work around what we were
|
62
62
|
# looking to use this Gem to help with.
|
63
63
|
# spec.add_development_dependency 'monotime' #, '0.6.1'
|
64
|
-
spec.add_development_dependency 'pry-byebug', '3.
|
64
|
+
spec.add_development_dependency 'pry-byebug', '3.7.0'
|
65
65
|
spec.add_development_dependency 'pry-doc', '1.0.0'
|
66
66
|
spec.add_development_dependency 'reek', '5.3.1'
|
67
|
-
spec.add_development_dependency 'rubocop', '0.
|
67
|
+
spec.add_development_dependency 'rubocop', '0.65.0'
|
68
68
|
spec.add_development_dependency 'simplecov', '0.16.1'
|
69
69
|
spec.add_development_dependency 'timecop', '0.9.1'
|
70
70
|
spec.add_development_dependency 'yard', '0.9.18'
|
data/docs/CryptIdent.html
CHANGED
@@ -157,7 +157,7 @@ data, which is quite theoretically possible in an Interactor but practically
|
|
157
157
|
|
158
158
|
</div>
|
159
159
|
</dt>
|
160
|
-
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>0.2.
|
160
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>0.2.3</span><span class='tstring_end'>'</span></span></pre></dd>
|
161
161
|
|
162
162
|
</dl>
|
163
163
|
|
@@ -2266,9 +2266,9 @@ Registered User, or the Guest User otherwise.</p>
|
|
2266
2266
|
</div>
|
2267
2267
|
|
2268
2268
|
<div id="footer">
|
2269
|
-
Generated on Thu Feb
|
2269
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
2270
2270
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2271
|
-
0.9.18 (ruby-2.6.
|
2271
|
+
0.9.18 (ruby-2.6.1).
|
2272
2272
|
</div>
|
2273
2273
|
|
2274
2274
|
</div>
|
data/docs/_index.html
CHANGED
@@ -106,9 +106,9 @@
|
|
106
106
|
</div>
|
107
107
|
|
108
108
|
<div id="footer">
|
109
|
-
Generated on Thu Feb
|
109
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
110
110
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
111
|
-
0.9.18 (ruby-2.6.
|
111
|
+
0.9.18 (ruby-2.6.1).
|
112
112
|
</div>
|
113
113
|
|
114
114
|
</div>
|
@@ -135,9 +135,9 @@ available at <a href="http://contributor-covenant.org/version/1/4/">http://contr
|
|
135
135
|
</div></div>
|
136
136
|
|
137
137
|
<div id="footer">
|
138
|
-
Generated on Thu Feb
|
138
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
139
139
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
140
|
-
0.9.18 (ruby-2.6.
|
140
|
+
0.9.18 (ruby-2.6.1).
|
141
141
|
</div>
|
142
142
|
|
143
143
|
</div>
|
data/docs/file.HISTORY.html
CHANGED
@@ -59,11 +59,21 @@
|
|
59
59
|
|
60
60
|
<div id="content"><div id='filecontents'><h1>CryptIdent Version History</h1>
|
61
61
|
|
62
|
-
<h2>0.2.
|
62
|
+
<h2>0.2.3 (28 February 2019)</h2>
|
63
|
+
|
64
|
+
<p>Beginning with this release, you do not need to (and ordinarily should not) assign to <code>config.repository</code> in order for <code>config.guest_user</code> to work (or vice versa). This eliminates a noisome bit of ceremony from using the config. See Issue <a href="https://github.com/jdickey/crypt_ident/issues/29">#29</a>.</p>
|
65
|
+
|
66
|
+
<h2>0.2.2 (21 February 2019)</h2>
|
67
|
+
|
68
|
+
<p>First off, note that all 2019 releases are actually <em>marked</em> as 2019 releases now.</p>
|
69
|
+
|
70
|
+
<p>This release closes Issue <a href="https://github.com/jdickey/crypt_ident/issues/28">#28</a>, wherein we note that Version 0.2.1 and prior would have catastrophic breakage in <code>#update_session_expiry</code> when called with a <code>session_data</code> parameter that was "insufficiently Hash-like"; i.e., it did not support the <code>#merge</code> method. Examples of such not-quite-Hashes include <code>Hanami::Action::Session</code> which, rather obviously, is Important. 😞</p>
|
71
|
+
|
72
|
+
<h2>0.2.1 (16 February 2019)</h2>
|
63
73
|
|
64
74
|
<p>To commemorate The Valentine's Day Massacre, we've just re-discovered that Rack (the server protocol underlying all reasonably-modern Ruby Web frameworks) doesn't deal nicely with objects stored in <code>session</code> data (which is, by default, persisted in a cookie). If you assign, say, a <code>Hanami::Entity</code>-subclass instance to <code>session[:current_user]</code> (where <code>session</code> is Hanami's access to <code>Rack::Session</code>), when you later read from <code>session[:current_user]</code>, you'll be handed back a <code>Hash</code> of the Entity's attributes. Entity semantics specify that any two instances of the same Entity class with the sasme attribute values refer to <em>the same value</em> of the Entity, not merely equal values, so converting back to an Entity is harmless. You just need to remember to do it and, as of 0.2.0, we didn't. That is fixed here, throughout the published API.</p>
|
65
75
|
|
66
|
-
<h2>0.2.0 (2 February
|
76
|
+
<h2>0.2.0 (2 February 2019)</h2>
|
67
77
|
|
68
78
|
<p>Initial <em>confident</em> public (pre-)release.</p>
|
69
79
|
|
@@ -81,9 +91,9 @@
|
|
81
91
|
</div></div>
|
82
92
|
|
83
93
|
<div id="footer">
|
84
|
-
Generated on Thu Feb
|
94
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
85
95
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
86
|
-
0.9.18 (ruby-2.6.
|
96
|
+
0.9.18 (ruby-2.6.1).
|
87
97
|
</div>
|
88
98
|
|
89
99
|
</div>
|
data/docs/file.LICENSE.html
CHANGED
@@ -60,9 +60,9 @@
|
|
60
60
|
<div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2018 Jeff Dickey<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the "Software"), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in<br/>all copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br/>THE SOFTWARE.</div></div>
|
61
61
|
|
62
62
|
<div id="footer">
|
63
|
-
Generated on Thu Feb
|
63
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
64
64
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
65
|
-
0.9.18 (ruby-2.6.
|
65
|
+
0.9.18 (ruby-2.6.1).
|
66
66
|
</div>
|
67
67
|
|
68
68
|
</div>
|
data/docs/file.README.html
CHANGED
@@ -82,8 +82,6 @@
|
|
82
82
|
|
83
83
|
<p>These either violate current best-practice recommendations from security leaders (e.g., NIST and others no longer recommend password ageing as a defence against cracking) or have other Gems that focus on the features in question (e.g., <a href="https://github.com/bdmac/strong_password"><code>bdmac/strong_password</code></a>).</p>
|
84
84
|
|
85
|
-
<p><strong>NOTE:</strong> One feature of this Gem is that most of the <a href="#configuration">configuration</a> <em>should</em> Work Just Fine for most use cases. However, you <strong>must</strong> explicitly initialise the <code>:repository</code> configuration item prior to using the configuration data for the <code>repository</code> or the <code>guest_user</code> entries. We <strong>recommend</strong> assigning this once, during application startup when other configuration setup is being completed.</p>
|
86
|
-
|
87
85
|
<h1>Installation</h1>
|
88
86
|
|
89
87
|
<p>Add this line to your application's Gemfile:</p>
|
@@ -224,8 +222,8 @@
|
|
224
222
|
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_hashing_cost'>hashing_cost</span> <span class='op'>=</span> <span class='int'>6</span> <span class='comment'># less secure and less resource-intensive
|
225
223
|
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_token_bytes'>token_bytes</span> <span class='op'>=</span> <span class='int'>20</span>
|
226
224
|
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_reset_expiry'>reset_expiry</span> <span class='op'>=</span> <span class='int'>7200</span> <span class='comment'># two hours; "we run a tight ship here"
|
227
|
-
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='op'>=</span> <span class='const'>MainApp</span><span class='op'>::</span><span class='const'>Repositories</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span>
|
228
|
-
<span class='kw'>end</span>
|
225
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='op'>=</span> <span class='const'>MainApp</span><span class='op'>::</span><span class='const'>Repositories</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='comment'># Likewise, *not* conventional
|
226
|
+
</span> <span class='kw'>end</span>
|
229
227
|
</code></pre>
|
230
228
|
|
231
229
|
<p>would change the configuration as you would expect whenever that code was run. (We <strong>recommend</strong> that this be done inside the <code>controller.prepare</code> block of your Hanami <code>web</code> (or equivalent) app's <code>application.rb</code> file.)</p>
|
@@ -682,9 +680,9 @@
|
|
682
680
|
</div></div>
|
683
681
|
|
684
682
|
<div id="footer">
|
685
|
-
Generated on Thu Feb
|
683
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
686
684
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
687
|
-
0.9.18 (ruby-2.6.
|
685
|
+
0.9.18 (ruby-2.6.1).
|
688
686
|
</div>
|
689
687
|
|
690
688
|
</div>
|
data/docs/index.html
CHANGED
@@ -82,8 +82,6 @@
|
|
82
82
|
|
83
83
|
<p>These either violate current best-practice recommendations from security leaders (e.g., NIST and others no longer recommend password ageing as a defence against cracking) or have other Gems that focus on the features in question (e.g., <a href="https://github.com/bdmac/strong_password"><code>bdmac/strong_password</code></a>).</p>
|
84
84
|
|
85
|
-
<p><strong>NOTE:</strong> One feature of this Gem is that most of the <a href="#configuration">configuration</a> <em>should</em> Work Just Fine for most use cases. However, you <strong>must</strong> explicitly initialise the <code>:repository</code> configuration item prior to using the configuration data for the <code>repository</code> or the <code>guest_user</code> entries. We <strong>recommend</strong> assigning this once, during application startup when other configuration setup is being completed.</p>
|
86
|
-
|
87
85
|
<h1>Installation</h1>
|
88
86
|
|
89
87
|
<p>Add this line to your application's Gemfile:</p>
|
@@ -224,8 +222,8 @@
|
|
224
222
|
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_hashing_cost'>hashing_cost</span> <span class='op'>=</span> <span class='int'>6</span> <span class='comment'># less secure and less resource-intensive
|
225
223
|
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_token_bytes'>token_bytes</span> <span class='op'>=</span> <span class='int'>20</span>
|
226
224
|
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_reset_expiry'>reset_expiry</span> <span class='op'>=</span> <span class='int'>7200</span> <span class='comment'># two hours; "we run a tight ship here"
|
227
|
-
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='op'>=</span> <span class='const'>MainApp</span><span class='op'>::</span><span class='const'>Repositories</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span>
|
228
|
-
<span class='kw'>end</span>
|
225
|
+
</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='op'>=</span> <span class='const'>MainApp</span><span class='op'>::</span><span class='const'>Repositories</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_guest_user'>guest_user</span> <span class='comment'># Likewise, *not* conventional
|
226
|
+
</span> <span class='kw'>end</span>
|
229
227
|
</code></pre>
|
230
228
|
|
231
229
|
<p>would change the configuration as you would expect whenever that code was run. (We <strong>recommend</strong> that this be done inside the <code>controller.prepare</code> block of your Hanami <code>web</code> (or equivalent) app's <code>application.rb</code> file.)</p>
|
@@ -682,9 +680,9 @@
|
|
682
680
|
</div></div>
|
683
681
|
|
684
682
|
<div id="footer">
|
685
|
-
Generated on Thu Feb
|
683
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
686
684
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
687
|
-
0.9.18 (ruby-2.6.
|
685
|
+
0.9.18 (ruby-2.6.1).
|
688
686
|
</div>
|
689
687
|
|
690
688
|
</div>
|
@@ -100,9 +100,9 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
<div id="footer">
|
103
|
-
Generated on Thu Feb
|
103
|
+
Generated on Thu Feb 28 01:49:08 2019 by
|
104
104
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
|
-
0.9.18 (ruby-2.6.
|
105
|
+
0.9.18 (ruby-2.6.1).
|
106
106
|
</div>
|
107
107
|
|
108
108
|
</div>
|
data/lib/crypt_ident/config.rb
CHANGED
@@ -17,6 +17,15 @@ module CryptIdent
|
|
17
17
|
#
|
18
18
|
extend Dry::Configurable
|
19
19
|
|
20
|
+
def self.included(base)
|
21
|
+
super
|
22
|
+
configure do |conf|
|
23
|
+
repo_class = Object.const_get(:UserRepository)
|
24
|
+
conf.repository = repo_class.new
|
25
|
+
conf.guest_user = conf.repository.guest_user
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
20
29
|
# Flash index to use for error messages.
|
21
30
|
setting :error_key, :error, reader: true
|
22
31
|
setting :guest_user, reader: true
|
@@ -27,12 +36,7 @@ module CryptIdent
|
|
27
36
|
# Hanami Repository instance to use for accessing User data.
|
28
37
|
# NOTE: This *does not* have a default. It is the responsibility of the client
|
29
38
|
# code to *always* assign this before use.
|
30
|
-
|
31
|
-
# assigned. If anyone knows a better way to accomplish this, PRs welcome.
|
32
|
-
setting(:repository, reader: true) do |value|
|
33
|
-
config.guest_user = value.guest_user if value
|
34
|
-
value
|
35
|
-
end
|
39
|
+
setting :repository, reader: true
|
36
40
|
# Password-reset expiry in seconds; defaults to 24 hours.
|
37
41
|
setting :reset_expiry, (24 * 60 * 60), reader: true
|
38
42
|
# Authentication session expiry in seconds; defaults to 15 minutes.
|
data/lib/crypt_ident/version.rb
CHANGED
data/scripts/build-gem-list.rb
CHANGED
@@ -61,17 +61,17 @@ list = [
|
|
61
61
|
'minitest-hooks:1.5.0',
|
62
62
|
'minitest-matchers:1.4.1',
|
63
63
|
'minitest-reporters:1.3.6',
|
64
|
-
'minitest-tagz:1.
|
64
|
+
'minitest-tagz:1.7.0',
|
65
65
|
'minitest:5.11.3',
|
66
66
|
# XXX: A useful Gem, but not needed for what we were considering using it for
|
67
67
|
# immediately.
|
68
68
|
# 'monotime:0.6.1',
|
69
|
-
'pry-byebug:3.
|
69
|
+
'pry-byebug:3.7.0',
|
70
70
|
'pry-doc:1.0.0',
|
71
71
|
'rake:12.3.2',
|
72
72
|
'redcarpet:3.4.0',
|
73
73
|
'reek:5.3.1',
|
74
|
-
'rubocop:0.
|
74
|
+
'rubocop:0.65.0',
|
75
75
|
'simplecov:0.16.1',
|
76
76
|
'timecop:0.9.1',
|
77
77
|
'yard-classmethods:1.0.0',
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crypt_ident
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Dickey
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bcrypt
|
@@ -212,28 +212,28 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - '='
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 1.
|
215
|
+
version: 1.7.0
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - '='
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 1.
|
222
|
+
version: 1.7.0
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: pry-byebug
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - '='
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: 3.
|
229
|
+
version: 3.7.0
|
230
230
|
type: :development
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - '='
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: 3.
|
236
|
+
version: 3.7.0
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: pry-doc
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,14 +268,14 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - '='
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: 0.
|
271
|
+
version: 0.65.0
|
272
272
|
type: :development
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - '='
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version: 0.
|
278
|
+
version: 0.65.0
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: simplecov
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|