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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1ff4966063583e1b982805aaa2cb70ca4a4489498892280850e43b608def31a
4
- data.tar.gz: 3efe77744703e2765bcc77f8e5888ba568ac5ba88ce29f7c1afaa13059e9fe86
3
+ metadata.gz: 6ea4b19f44ec42bc23b946b469ef2bee0d70e1a273b068e6be7e01072286ca6a
4
+ data.tar.gz: 5db265ef331c1fcd0d461dd15c8f95fdf822953eb273e35e8f18812ca4b291b5
5
5
  SHA512:
6
- metadata.gz: 34edd3b363bc9fe46aea07e9ea3626ece155a7cd5aefbafb90319a49a2d8c9a48dc7b23940478b40a19ea364a38ebe99e383ba9e620894dfa281e9f8c642b4ed
7
- data.tar.gz: 371a5cd5f00281683650b9614b036b0bb70d964e8cd24b5bd147ef62de988be36ebc8887bc54a8b60bc019d7389fcd05b85697cbaea7258eca03389252500a12
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.valid_key(:tomato) # => :tomato
172
- Palette.valid_key("tomato") # => :tomato
173
- Palette.valid_key(1) # => :tomato
174
- Palette.valid_key(:xxx) # => nil
175
- Palette.valid_key(:xxx, :tomato) # => :tomato
176
- Palette.valid_key(:xxx) { :tomato } # => :tomato
177
-
178
- Palette.valid_key(:xxx, :tomato) # => :tomato
179
- Palette.valid_key(:xxx, :black) rescue $! # => #<KeyError: Palette.fetch(:black) does not match anything
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.valid_key(params[:palette_key], :tomato)
185
+ palette_key = Palette.lookup_key(params[:palette_key], :tomato)
186
186
  ```
187
187
 
188
188
  ### How to refer to other keys
@@ -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.valid_key(:tomato) # => :tomato
32
- Palette.valid_key("tomato") # => :tomato
33
- Palette.valid_key(1) # => :tomato
34
- Palette.valid_key(:xxx) # => nil
35
- Palette.valid_key(:xxx, :tomato) # => :tomato
36
- Palette.valid_key(:xxx) { :tomato } # => :tomato
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.valid_key(:xxx, :tomato) # => :tomato
39
- Palette.valid_key(:xxx, :black) rescue $! # => #<KeyError: Palette.fetch(:black) does not match anything
38
+ Palette.lookup_key(:xxx, :tomato) # => :tomato
39
+ Palette.lookup_key(:xxx, :black) rescue $! # => #<KeyError: Palette.fetch(:black) does not match anything
@@ -8,8 +8,8 @@ class Color
8
8
  ]
9
9
  end
10
10
 
11
- Color.valid_key(:blue) # => :blue
12
- Color.valid_key(:unknown) # => nil
13
- Color.valid_key(:unknown, :blue) # => :blue
14
- Color.valid_key(:unknown) { :blue } # => :blue
15
- Color.valid_key(:unknown) { :xxx } rescue $! # => #<KeyError: Color.fetch(:xxx) does not match anything
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.valid_key(:blue) # => :blue
156
- # Color.valid_key(:unknown) # => nil
157
- # Color.valid_key(:unknown, :blue) # => :blue
158
- # Color.valid_key(:unknown) { :blue } # => :blue
159
- # Color.valid_key(:unknown) { :xxx } # => KeyError Exception
160
- def valid_key(key, default = nil, &block)
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
@@ -1,3 +1,3 @@
1
1
  module MemoryRecord
2
- VERSION = '0.0.19'
2
+ VERSION = '0.0.21'
3
3
  end
@@ -318,18 +318,18 @@ RSpec.describe MemoryRecord do
318
318
  # end
319
319
  # end
320
320
 
321
- describe "valid_key" do
321
+ describe "lookup_key" do
322
322
  it do
323
323
  model = class_new [
324
324
  { key: :blue },
325
325
  ]
326
- assert { model.valid_key(:blue) == :blue }
327
- assert { model.valid_key(:unknown) == nil }
328
- assert { model.valid_key(:unknown, :blue) == :blue }
329
- assert { model.valid_key(:unknown) { :blue } == :blue }
330
- assert { model.valid_key(:unknown) { :blue } == :blue }
331
- assert_raises(KeyError) { model.valid_key(:unknown) { :xxx } }
332
- assert_raises(KeyError) { model.valid_key(:unknown, :xxx) }
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.19
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: 2022-05-04 00:00:00.000000000 Z
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.3.4
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: