memory_record 0.0.6 → 0.0.7
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.org +20 -18
- data/examples/0240_attr_reader_option.rb +6 -6
- data/examples/0250_lookup_super_call.rb +19 -0
- data/lib/memory_record/memory_record.rb +4 -1
- data/lib/memory_record/version.rb +1 -1
- data/memory_record.gemspec +2 -2
- data/spec/memory_record_spec.rb +10 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a2317107890629490df470cd71e94e9f2b06d81
|
4
|
+
data.tar.gz: 0bd134e177bd057e4079e07fe63092dc60eb90d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 801976a4509a4aaccdce5f2b951221316690dc9d47ae650e535598e2029e00edf8d0d1619d32642eb1725cd601ed8b125aa42558607649a0ab7c5d7bcdddd6ee
|
7
|
+
data.tar.gz: c7f267a44e6fc507366af02895ffa5c0ae8f4134049948e3f5cc1f501afeb0784fcaed272c8c4013f24e388c80c908ba4e78944aac09ba4f146e74baf238a4c9
|
data/README.org
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
* MemoryRecord
|
2
2
|
|
3
|
-
A
|
3
|
+
A simple library that handles a few records easily
|
4
4
|
|
5
5
|
** Installation
|
6
6
|
|
@@ -44,23 +44,6 @@ Language.keys # => [:lisp, :c, :ruby]
|
|
44
44
|
Language.collect(&:author) # => ["John McCarthy", "Dennis Ritchie", "Yukihiro Matsumoto"]
|
45
45
|
#+END_SRC
|
46
46
|
|
47
|
-
*** How to decide =code= yourself?
|
48
|
-
|
49
|
-
#+BEGIN_SRC ruby
|
50
|
-
class Foo
|
51
|
-
include MemoryRecord
|
52
|
-
memory_record [
|
53
|
-
{code: 1, key: :a, name: "A"},
|
54
|
-
{code: 2, key: :b, name: "B"},
|
55
|
-
{code: 3, key: :c, name: "C"},
|
56
|
-
]
|
57
|
-
end
|
58
|
-
|
59
|
-
Foo.collect(&:code) # => [1, 2, 3]
|
60
|
-
#+END_SRC
|
61
|
-
|
62
|
-
It is used only when refactoring legacy code, when compatibility is required.
|
63
|
-
|
64
47
|
*** How to turn as an array?
|
65
48
|
|
66
49
|
=Enumerable= extended, so that =each= method is available
|
@@ -181,3 +164,22 @@ Foo.first.x rescue $! # => 1
|
|
181
164
|
Foo.first.y rescue $! # => #<NoMethodError: undefined method `y' for #<Foo:0x007ff033895e88>>
|
182
165
|
Foo.first.z rescue $! # => 1
|
183
166
|
#+END_SRC
|
167
|
+
|
168
|
+
*** How to decide =code= yourself?
|
169
|
+
|
170
|
+
#+BEGIN_SRC ruby
|
171
|
+
class Foo
|
172
|
+
include MemoryRecord
|
173
|
+
memory_record [
|
174
|
+
{code: 1, key: :a, name: "A"},
|
175
|
+
{code: 2, key: :b, name: "B"},
|
176
|
+
{code: 3, key: :c, name: "C"},
|
177
|
+
]
|
178
|
+
end
|
179
|
+
|
180
|
+
Foo.collect(&:code) # => [1, 2, 3]
|
181
|
+
#+END_SRC
|
182
|
+
|
183
|
+
It is not recommended to specify it explicitly.
|
184
|
+
It is useful only when refactoring legacy code with compatibility in mind.
|
185
|
+
|
@@ -10,9 +10,9 @@ class C1
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
C1.first.x rescue $! # => #<NoMethodError: undefined method `x' for #<C1:
|
14
|
-
C1.first.y rescue $! # => #<NoMethodError: undefined method `y' for #<C1:
|
15
|
-
C1.first.z rescue $! # => #<NoMethodError: undefined method `z' for #<C1:
|
13
|
+
C1.first.x rescue $! # => #<NoMethodError: undefined method `x' for #<C1:0x007ff28323d480>>
|
14
|
+
C1.first.y rescue $! # => #<NoMethodError: undefined method `y' for #<C1:0x007ff28323d480>>
|
15
|
+
C1.first.z rescue $! # => #<NoMethodError: undefined method `z' for #<C1:0x007ff28323d480>>
|
16
16
|
|
17
17
|
class C2
|
18
18
|
include MemoryRecord
|
@@ -23,9 +23,9 @@ class C2
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
C2.first.x rescue $! # => #<NoMethodError: undefined method `x' for #<C2:
|
26
|
+
C2.first.x rescue $! # => #<NoMethodError: undefined method `x' for #<C2:0x007ff2838d8880>>
|
27
27
|
C2.first.y rescue $! # => 1
|
28
|
-
C2.first.z rescue $! # => #<NoMethodError: undefined method `z' for #<C2:
|
28
|
+
C2.first.z rescue $! # => #<NoMethodError: undefined method `z' for #<C2:0x007ff2838d8880>>
|
29
29
|
|
30
30
|
class C3
|
31
31
|
include MemoryRecord
|
@@ -37,5 +37,5 @@ class C3
|
|
37
37
|
end
|
38
38
|
|
39
39
|
C3.first.x rescue $! # => 1
|
40
|
-
C3.first.y rescue $! # => #<NoMethodError: undefined method `y' for #<C3:
|
40
|
+
C3.first.y rescue $! # => #<NoMethodError: undefined method `y' for #<C3:0x007ff28321f7c8>>
|
41
41
|
C3.first.z rescue $! # => 1
|
@@ -0,0 +1,19 @@
|
|
1
|
+
$LOAD_PATH.unshift '../lib'
|
2
|
+
require 'memory_record'
|
3
|
+
|
4
|
+
class C
|
5
|
+
include MemoryRecord
|
6
|
+
memory_record [
|
7
|
+
{key: :alice}
|
8
|
+
]
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def self.lookup(v)
|
12
|
+
p __method__
|
13
|
+
super
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
C.lookup(:alice) # => #<C:0x007f954e834fb0 @attributes={:key=>:alice, :code=>0}>
|
19
|
+
C[:alice] # => #<C:0x007f954e834fb0 @attributes={:key=>:alice, :code=>0}>
|
data/memory_record.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.version = MemoryRecord::VERSION
|
8
8
|
spec.authors = ['akicho8']
|
9
9
|
spec.email = ['akicho8@gmail.com']
|
10
|
-
spec.description = %q{A
|
11
|
-
spec.summary = %q{A
|
10
|
+
spec.description = %q{A simple library that handles a few records easily}
|
11
|
+
spec.summary = %q{A simple library that handles a few records easily}
|
12
12
|
spec.homepage = ''
|
13
13
|
spec.license = 'MIT'
|
14
14
|
|
data/spec/memory_record_spec.rb
CHANGED
@@ -201,4 +201,14 @@ RSpec.describe MemoryRecord do
|
|
201
201
|
end
|
202
202
|
end
|
203
203
|
end
|
204
|
+
|
205
|
+
it "can call that lookup from foobar when updating inherited lookup" do
|
206
|
+
model = class_new [{key: :a}]
|
207
|
+
model.singleton_class.class_eval do
|
208
|
+
def lookup(*)
|
209
|
+
super.key
|
210
|
+
end
|
211
|
+
end
|
212
|
+
model[:a].should == :a
|
213
|
+
end
|
204
214
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akicho8
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
-
description: A
|
83
|
+
description: A simple library that handles a few records easily
|
84
84
|
email:
|
85
85
|
- akicho8@gmail.com
|
86
86
|
executables: []
|
@@ -109,6 +109,7 @@ files:
|
|
109
109
|
- examples/0220_when_key_like_numeric.rb
|
110
110
|
- examples/0230_with_use_activerecord_enum.rb
|
111
111
|
- examples/0240_attr_reader_option.rb
|
112
|
+
- examples/0250_lookup_super_call.rb
|
112
113
|
- lib/memory_record.rb
|
113
114
|
- lib/memory_record/memory_record.rb
|
114
115
|
- lib/memory_record/version.rb
|
@@ -138,7 +139,7 @@ rubyforge_project:
|
|
138
139
|
rubygems_version: 2.6.11
|
139
140
|
signing_key:
|
140
141
|
specification_version: 4
|
141
|
-
summary: A
|
142
|
+
summary: A simple library that handles a few records easily
|
142
143
|
test_files:
|
143
144
|
- spec/memory_record_spec.rb
|
144
145
|
- spec/spec_helper.rb
|