sumaki 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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.