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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23a3806fcf2a27686f82307a043ef96e36efc90fe73fa2f0da6bba0b1c4506dc
4
- data.tar.gz: 3602002eaab7328a7b331add996774487687aa310aa06bdea99e84746544fca1
3
+ metadata.gz: dc2e15ea308cacd7c524ba33698734f08020c2c9d6fb9b39accb4c79bc108a67
4
+ data.tar.gz: 1090e186dd028117e5f6cb7df816004dcc9508313757e6af8b802d6eeef74a2d
5
5
  SHA512:
6
- metadata.gz: 9c5104b11ef1d3029c8f3e0e5795279a9ae82061c61d2e6b15f4f9fb62629c4a99fb362ec4818959827da4a10034b4024442092c0f0aa0fb056cdae1c1333197
7
- data.tar.gz: f3e582ba5ccafc8a44f1ef66a48df31c2ea1b5e95ef434b958b42647218f5a593dfb13c9aa0cb899e63356313e7a42118ced4445a2a426d70438db3f5da0b70a
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.4.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.1.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
@@ -11,15 +11,14 @@ module Sumaki
11
11
  base.extend ClassMethods
12
12
  end
13
13
 
14
- module EnumAttrAccessor # :nodoc:
15
- def get(model, name)
16
- model.get(name)
14
+ class EnumAttrAccessor < Minenum::Enum::Adapter::Base # :nodoc:
15
+ def get
16
+ @enum_object.get(@name)
17
17
  end
18
18
 
19
- def set(model, name, value)
20
- model.set(name, value)
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, adapter: EnumAttrAccessor)
49
+ super(name, values, adapter_builder: EnumAttrAccessor)
51
50
  end
52
51
 
53
52
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sumaki
4
- VERSION = '0.4.0'
4
+ VERSION = '0.5.0'
5
5
  end
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.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-05-24 00:00:00.000000000 Z
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: '0'
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: '0'
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.