sumaki 0.4.0 → 0.5.0
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/Gemfile.lock +3 -3
- data/README.md +6 -0
- data/lib/sumaki/model/associations/reflection.rb +2 -2
- data/lib/sumaki/model/enum.rb +6 -7
- data/lib/sumaki/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc2e15ea308cacd7c524ba33698734f08020c2c9d6fb9b39accb4c79bc108a67
|
4
|
+
data.tar.gz: 1090e186dd028117e5f6cb7df816004dcc9508313757e6af8b802d6eeef74a2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 720e0a53bf096093e5e25c5b2dbd2d562666e696d274147d1b3634e49a350309be22b1ada5e069c43f23025e4fdeafbde25c7a9f0b8a4f2d05ffc47fcc7a25d6
|
7
|
+
data.tar.gz: e00e0ef3b7f0af18c438e680e4bfdc40aa83b3409853c5cc587c529b43c9c2f73cd9ad72d0e383d738fbe8879247a8f25beb829001daa3d397e836f1486850a6
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sumaki (0.
|
5
|
-
minenum
|
4
|
+
sumaki (0.5.0)
|
5
|
+
minenum (>= 0.2.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
@@ -19,7 +19,7 @@ GEM
|
|
19
19
|
reline (>= 0.4.2)
|
20
20
|
json (2.7.2)
|
21
21
|
language_server-protocol (3.17.0.3)
|
22
|
-
minenum (0.
|
22
|
+
minenum (0.2.0)
|
23
23
|
parallel (1.24.0)
|
24
24
|
parser (3.3.1.0)
|
25
25
|
ast (~> 2.4.1)
|
data/README.md
CHANGED
@@ -298,6 +298,12 @@ character.type.familier? #=> true
|
|
298
298
|
character = Character.new({})
|
299
299
|
character.type = 1
|
300
300
|
character.type.name #=> :vampire
|
301
|
+
|
302
|
+
character.type = :vampire_hunter
|
303
|
+
character.type.name #=> :vampire_hunter
|
304
|
+
|
305
|
+
character.type.familier!
|
306
|
+
character.type.name #=> :familier
|
301
307
|
```
|
302
308
|
|
303
309
|
|
@@ -18,8 +18,8 @@ module Sumaki
|
|
18
18
|
def model_class
|
19
19
|
@model_class ||= begin
|
20
20
|
basename = @class_name&.to_s || classify(@name.to_s)
|
21
|
-
klass = if @owner_class.const_defined?(basename)
|
22
|
-
@owner_class.const_get(basename)
|
21
|
+
klass = if @owner_class.const_defined?(basename, false)
|
22
|
+
@owner_class.const_get(basename, false)
|
23
23
|
else
|
24
24
|
@owner_class.const_set(basename, Class.new { include Model })
|
25
25
|
end
|
data/lib/sumaki/model/enum.rb
CHANGED
@@ -11,15 +11,14 @@ module Sumaki
|
|
11
11
|
base.extend ClassMethods
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
def get
|
16
|
-
|
14
|
+
class EnumAttrAccessor < Minenum::Enum::Adapter::Base # :nodoc:
|
15
|
+
def get
|
16
|
+
@enum_object.get(@name)
|
17
17
|
end
|
18
18
|
|
19
|
-
def set(
|
20
|
-
|
19
|
+
def set(value)
|
20
|
+
@enum_object.set(@name, value)
|
21
21
|
end
|
22
|
-
module_function :get, :set
|
23
22
|
end
|
24
23
|
|
25
24
|
module ClassMethods # :nodoc:
|
@@ -47,7 +46,7 @@ module Sumaki
|
|
47
46
|
# character.type = 1
|
48
47
|
# character.type.name #=> :vampire
|
49
48
|
def enum(name, values)
|
50
|
-
super(name, values,
|
49
|
+
super(name, values, adapter_builder: EnumAttrAccessor)
|
51
50
|
end
|
52
51
|
|
53
52
|
private
|
data/lib/sumaki/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sumaki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loose Coupling
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minenum
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.2.0
|
27
27
|
description: |
|
28
28
|
Sumaki is a wrapper for structured data like JSON.
|
29
29
|
Since Sumaki wraps the target data as it is, rather than parsing it using a schema, the original data can be referenced at any time.
|