alba 2.4.2 → 2.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/alba/resource.rb +16 -4
- data/lib/alba/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d24d6ad9ef1b576685afb22e3f3c2033555afa358516204b42a31b11080d52b
|
4
|
+
data.tar.gz: 20cc1cb31b6cdfbb73ec87421d828ad274e4863e9156e0d22acb71d99ff0388b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbc694ec856084b9e008a9996b38aa52ae138cfc136c414002cdf375764501fc7ab37a1b72e433f743cddffa394e963e51070014954c273e7b02d8dfa894582a
|
7
|
+
data.tar.gz: 4dc0354d7b318a7f087bdcf4c9d32d5a6a2d956c5aea4783cdefbb587ab4e502b3f6d6e1becda772065978f64b9c463b69f7a41a8e1cab2f00e56ad1305f4036
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [2.4.3] 2024-10-31
|
10
|
+
|
11
|
+
### Fixed
|
12
|
+
|
13
|
+
- Resource method is those explicitly defined only [27996a04598c57943e184ee34224a2cee9bf2e9d]
|
14
|
+
|
9
15
|
## [2.4.2] 2023-10-11
|
10
16
|
|
11
17
|
### Fixed
|
data/lib/alba/resource.rb
CHANGED
@@ -11,7 +11,7 @@ module Alba
|
|
11
11
|
module Resource
|
12
12
|
# @!parse include InstanceMethods
|
13
13
|
# @!parse extend ClassMethods
|
14
|
-
DSLS = {_attributes: {}, _key: nil, _key_for_collection: nil, _meta: nil, _transform_type: :none, _transforming_root_key: false, _key_transformation_cascade: true, _on_error: nil, _on_nil: nil, _layout: nil, _collection_key: nil, _helper: nil}.freeze # rubocop:disable Layout/LineLength
|
14
|
+
DSLS = {_attributes: {}, _key: nil, _key_for_collection: nil, _meta: nil, _transform_type: :none, _transforming_root_key: false, _key_transformation_cascade: true, _on_error: nil, _on_nil: nil, _layout: nil, _collection_key: nil, _helper: nil, _resource_methods: []}.freeze # rubocop:disable Layout/LineLength
|
15
15
|
private_constant :DSLS
|
16
16
|
|
17
17
|
WITHIN_DEFAULT = Object.new.freeze
|
@@ -277,9 +277,15 @@ module Alba
|
|
277
277
|
end
|
278
278
|
|
279
279
|
def _fetch_attribute_from_resource_first(obj, attribute)
|
280
|
-
|
281
|
-
|
282
|
-
|
280
|
+
if @_resource_methods.include?(attribute)
|
281
|
+
begin
|
282
|
+
__send__(attribute, obj)
|
283
|
+
rescue NoMethodError
|
284
|
+
obj.__send__(attribute)
|
285
|
+
end
|
286
|
+
else
|
287
|
+
obj.__send__(attribute)
|
288
|
+
end
|
283
289
|
end
|
284
290
|
|
285
291
|
def nil_handler
|
@@ -314,6 +320,12 @@ module Alba
|
|
314
320
|
module ClassMethods
|
315
321
|
attr_reader(*DSLS.keys)
|
316
322
|
|
323
|
+
# This `method_added` is used for defining "resource methods"
|
324
|
+
def method_added(method_name)
|
325
|
+
_resource_methods << method_name.to_sym unless method_name.to_sym == :_setup
|
326
|
+
super
|
327
|
+
end
|
328
|
+
|
317
329
|
# @private
|
318
330
|
def inherited(subclass)
|
319
331
|
super
|
data/lib/alba/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alba
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OKURA Masafumi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Alba is the fastest JSON serializer for Ruby. It focuses on performance,
|
14
14
|
flexibility and usability.
|
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
|
-
rubygems_version: 3.
|
95
|
+
rubygems_version: 3.1.6
|
96
96
|
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: Alba is the fastest JSON serializer for Ruby.
|