memory_record 0.0.19 → 0.0.21
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.
- checksums.yaml +4 -4
- data/README.md +10 -10
- data/examples/0100_basic.rb +8 -8
- data/examples/0370_valid_key.rb +5 -5
- data/lib/memory_record/memory_record.rb +12 -6
- data/lib/memory_record/version.rb +1 -1
- data/spec/memory_record_spec.rb +8 -8
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ea4b19f44ec42bc23b946b469ef2bee0d70e1a273b068e6be7e01072286ca6a
|
4
|
+
data.tar.gz: 5db265ef331c1fcd0d461dd15c8f95fdf822953eb273e35e8f18812ca4b291b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50fc1685ab78df635e4c271e0c583d6e81556605200d088118c09c88e503fa0717219068ea30fda3ba65fd714fb2c31aa79d28396983c631be402617fd34fb46
|
7
|
+
data.tar.gz: 2b03f781e310197f53f2be4fb0c6dea1d55245c3ad1de292c9e575c369434efd9a0c395ad4a32c767761c7ac5c52d32a50c0ec67f0b3a0a8efc9db2d98d711b8
|
data/README.md
CHANGED
@@ -168,21 +168,21 @@ Palette.fetch_if(:xxx) # => <KeyError: ...>
|
|
168
168
|
### Key validation
|
169
169
|
|
170
170
|
```ruby
|
171
|
-
Palette.
|
172
|
-
Palette.
|
173
|
-
Palette.
|
174
|
-
Palette.
|
175
|
-
Palette.
|
176
|
-
Palette.
|
177
|
-
|
178
|
-
Palette.
|
179
|
-
Palette.
|
171
|
+
Palette.lookup_key(:tomato) # => :tomato
|
172
|
+
Palette.lookup_key("tomato") # => :tomato
|
173
|
+
Palette.lookup_key(1) # => :tomato
|
174
|
+
Palette.lookup_key(:xxx) # => nil
|
175
|
+
Palette.lookup_key(:xxx, :tomato) # => :tomato
|
176
|
+
Palette.lookup_key(:xxx) { :tomato } # => :tomato
|
177
|
+
|
178
|
+
Palette.lookup_key(:xxx, :tomato) # => :tomato
|
179
|
+
Palette.lookup_key(:xxx, :black) rescue $! # => #<KeyError: Palette.fetch(:black) does not match anything
|
180
180
|
```
|
181
181
|
|
182
182
|
#### A common example in Rails
|
183
183
|
|
184
184
|
```ruby
|
185
|
-
palette_key = Palette.
|
185
|
+
palette_key = Palette.lookup_key(params[:palette_key], :tomato)
|
186
186
|
```
|
187
187
|
|
188
188
|
### How to refer to other keys
|
data/examples/0100_basic.rb
CHANGED
@@ -28,12 +28,12 @@ Palette[:tomato].rgb # => [255, 99, 71]
|
|
28
28
|
Palette[:tomato].hex # => "#FF6347"
|
29
29
|
Palette.collect(&:hex) # => ["#FF7F00", "#FF6347", "#FFD700"]
|
30
30
|
|
31
|
-
Palette.
|
32
|
-
Palette.
|
33
|
-
Palette.
|
34
|
-
Palette.
|
35
|
-
Palette.
|
36
|
-
Palette.
|
31
|
+
Palette.lookup_key(:tomato) # => :tomato
|
32
|
+
Palette.lookup_key("tomato") # => :tomato
|
33
|
+
Palette.lookup_key(1) # => :tomato
|
34
|
+
Palette.lookup_key(:xxx) # => nil
|
35
|
+
Palette.lookup_key(:xxx, :tomato) # => :tomato
|
36
|
+
Palette.lookup_key(:xxx) { :tomato } # => :tomato
|
37
37
|
|
38
|
-
Palette.
|
39
|
-
Palette.
|
38
|
+
Palette.lookup_key(:xxx, :tomato) # => :tomato
|
39
|
+
Palette.lookup_key(:xxx, :black) rescue $! # => #<KeyError: Palette.fetch(:black) does not match anything
|
data/examples/0370_valid_key.rb
CHANGED
@@ -8,8 +8,8 @@ class Color
|
|
8
8
|
]
|
9
9
|
end
|
10
10
|
|
11
|
-
Color.
|
12
|
-
Color.
|
13
|
-
Color.
|
14
|
-
Color.
|
15
|
-
Color.
|
11
|
+
Color.lookup_key(:blue) # => :blue
|
12
|
+
Color.lookup_key(:unknown) # => nil
|
13
|
+
Color.lookup_key(:unknown, :blue) # => :blue
|
14
|
+
Color.lookup_key(:unknown) { :blue } # => :blue
|
15
|
+
Color.lookup_key(:unknown) { :xxx } rescue $! # => #<KeyError: Color.fetch(:xxx) does not match anything
|
@@ -111,6 +111,8 @@ module MemoryRecord
|
|
111
111
|
return key
|
112
112
|
end
|
113
113
|
|
114
|
+
key = key_cast(key)
|
115
|
+
|
114
116
|
case key
|
115
117
|
when Symbol, String
|
116
118
|
@values_hash[:key][key.to_sym]
|
@@ -119,6 +121,10 @@ module MemoryRecord
|
|
119
121
|
end
|
120
122
|
end
|
121
123
|
|
124
|
+
def key_cast(key)
|
125
|
+
key
|
126
|
+
end
|
127
|
+
|
122
128
|
def [](*v)
|
123
129
|
lookup(*v)
|
124
130
|
end
|
@@ -152,12 +158,12 @@ module MemoryRecord
|
|
152
158
|
end
|
153
159
|
end
|
154
160
|
|
155
|
-
# Color.
|
156
|
-
# Color.
|
157
|
-
# Color.
|
158
|
-
# Color.
|
159
|
-
# Color.
|
160
|
-
def
|
161
|
+
# Color.lookup_key(:blue) # => :blue
|
162
|
+
# Color.lookup_key(:unknown) # => nil
|
163
|
+
# Color.lookup_key(:unknown, :blue) # => :blue
|
164
|
+
# Color.lookup_key(:unknown) { :blue } # => :blue
|
165
|
+
# Color.lookup_key(:unknown) { :xxx } # => KeyError Exception
|
166
|
+
def lookup_key(key, default = nil, &block)
|
161
167
|
if block_given? && default
|
162
168
|
raise ArgumentError, "Can't use default and block together"
|
163
169
|
end
|
data/spec/memory_record_spec.rb
CHANGED
@@ -318,18 +318,18 @@ RSpec.describe MemoryRecord do
|
|
318
318
|
# end
|
319
319
|
# end
|
320
320
|
|
321
|
-
describe "
|
321
|
+
describe "lookup_key" do
|
322
322
|
it do
|
323
323
|
model = class_new [
|
324
324
|
{ key: :blue },
|
325
325
|
]
|
326
|
-
assert { model.
|
327
|
-
assert { model.
|
328
|
-
assert { model.
|
329
|
-
assert { model.
|
330
|
-
assert { model.
|
331
|
-
assert_raises(KeyError) { model.
|
332
|
-
assert_raises(KeyError) { model.
|
326
|
+
assert { model.lookup_key(:blue) == :blue }
|
327
|
+
assert { model.lookup_key(:unknown) == nil }
|
328
|
+
assert { model.lookup_key(:unknown, :blue) == :blue }
|
329
|
+
assert { model.lookup_key(:unknown) { :blue } == :blue }
|
330
|
+
assert { model.lookup_key(:unknown) { :blue } == :blue }
|
331
|
+
assert_raises(KeyError) { model.lookup_key(:unknown) { :xxx } }
|
332
|
+
assert_raises(KeyError) { model.lookup_key(:unknown, :xxx) }
|
333
333
|
end
|
334
334
|
end
|
335
335
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memory_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akicho8
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rake
|
@@ -147,7 +146,6 @@ homepage: ''
|
|
147
146
|
licenses:
|
148
147
|
- MIT
|
149
148
|
metadata: {}
|
150
|
-
post_install_message:
|
151
149
|
rdoc_options: []
|
152
150
|
require_paths:
|
153
151
|
- lib
|
@@ -162,8 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
160
|
- !ruby/object:Gem::Version
|
163
161
|
version: '0'
|
164
162
|
requirements: []
|
165
|
-
rubygems_version: 3.
|
166
|
-
signing_key:
|
163
|
+
rubygems_version: 3.6.8
|
167
164
|
specification_version: 4
|
168
165
|
summary: A simple library that handles a few records easily
|
169
166
|
test_files:
|