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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e96e153192419f36d10cdd2377720a4d818bd935e8b4d7364e0272f460f74c30
4
- data.tar.gz: 2ca78d61d8e01c1655f294f1836c386bb561db3fca45e964bd3c2b0023912b03
3
+ metadata.gz: 1d24d6ad9ef1b576685afb22e3f3c2033555afa358516204b42a31b11080d52b
4
+ data.tar.gz: 20cc1cb31b6cdfbb73ec87421d828ad274e4863e9156e0d22acb71d99ff0388b
5
5
  SHA512:
6
- metadata.gz: 45c70af557b2fcb5ec1e8e7d2269fa6639e086d506b5b8706361a208c24a436ce61807d5d6466accfc516c4f1e556d23a3535236ed2d9047f3c72491702028bb
7
- data.tar.gz: 148818585445adde1fa4f992df975400863856e227e12fe706f241523a06901e34d099511d13ae5fff4cbd5a9ea29c659551034ffb188bc1cc3d519c72e2a88e
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
- __send__(attribute, obj)
281
- rescue NoMethodError
282
- obj.__send__(attribute)
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
@@ -1,3 +1,3 @@
1
1
  module Alba
2
- VERSION = '2.4.2'.freeze
2
+ VERSION = '2.4.3'.freeze
3
3
  end
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.2
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: 2023-10-11 00:00:00.000000000 Z
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.4.14
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.