active_hash 3.2.0 → 3.2.1

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: 11f2e4807b50cf0708d0a9ca9bea56e9a26bc9b7ca7eb2e81e0a93f88c333c7e
4
- data.tar.gz: ba9dee0fea4fa0e02b8ebc2eae74839e72f1e2ea1fd262606561e42aac10ecf1
3
+ metadata.gz: 993ef228f8c89c89dc8f18087b7ed609dc575e3e6031abd82d18673322d42d0d
4
+ data.tar.gz: 8871a88db27cc363de8d813d98a1d3f354d83c0cc76c0f0a03fb093e5d8a5226
5
5
  SHA512:
6
- metadata.gz: 1f7d4c59c9087aaddd26c05295507850f9720ba14b60cdfeb4c77bfbcefd43d982fb052212dc89e6fd5c0d753de047d512d1ce7d5ce3644dc9dd89efa166066d
7
- data.tar.gz: ec31d53f5622c6b2a8958656b9ac035d00c2484b7d7ee8cd6b486ad6a9c1351ad1d55fbda487025b268ee708688ba832b0513189b91db773956eaea5ba2c2737
6
+ metadata.gz: e4c19f95913358f7a7c46e76871bd3845e7e61d82515e725933f162d5735b5fae5f52aeb376b7a61ae9459640692b335f11312b2ae00d43ba353b55cd3358638
7
+ data.tar.gz: 07a92392da1c142801aa2f5ed60ffa0b1e7ee8a8638096b7f4dd707d4d98c767082e95cfbc3cebce0da7e189a71246bb7d1a349a730d11cf8e146171cea060e2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # active_hash Changelog
2
2
 
3
- ## Version [3.2.0] - <sub><sup>2022-07-14</sup></sub>
3
+ ## Version [3.2.1] - <sub><sup>2023-08-31</sup></sub>
4
+
5
+ ### Added
6
+
7
+ - Improve `pp` output for `ActiveHash::Relation`. [#288](https://github.com/active-hash/active_hash/pull/288) @flavorjones
8
+
9
+ ### Fixed
10
+
11
+ - Fix relation matching when attribute name collides with a method. [#281](https://github.com/active-hash/active_hash/pull/281) @flavorjones
12
+ - Fix association reflection in applications that don't use ActiveHash::Associations. [#286](https://github.com/active-hash/active_hash/pull/286) @iberianpig
13
+ - Fix `ActiveHash::Relation#method_missing` and `#respond_to_missing?` without scopes. [#278](https://github.com/active-hash/active_hash/pull/278) @julianrubisch
14
+
15
+
16
+ ## Version [3.2.0] - <sub><sup>2023-05-06</sup></sub>
4
17
 
5
18
  - Add Ruby 3.2 to the CI matrix [#275](https://github.com/active-hash/active_hash/pull/275) @petergoldstein
6
19
  - Handle default value of `false` [#274](https://github.com/active-hash/active_hash/pull/274) @ihollander
@@ -19,7 +19,7 @@ class ActiveHash::Relation::Condition
19
19
  expectation_method = inverted ? :any? : :all?
20
20
 
21
21
  constraints.send(expectation_method) do |attribute, expected|
22
- value = record.public_send(attribute)
22
+ value = record.read_attribute(attribute)
23
23
 
24
24
  matches_value?(value, expected)
25
25
  end
@@ -41,4 +41,4 @@ class ActiveHash::Relation::Condition
41
41
  def normalize(value)
42
42
  value.respond_to?(:to_s) ? value.to_s : value
43
43
  end
44
- end
44
+ end
@@ -22,6 +22,10 @@ module ActiveHash
22
22
  spawn.where!(conditions_hash)
23
23
  end
24
24
 
25
+ def pretty_print(pp)
26
+ pp.pp(entries.to_ary)
27
+ end
28
+
25
29
  class WhereChain
26
30
  attr_reader :relation
27
31
 
@@ -164,13 +168,13 @@ module ActiveHash
164
168
  end
165
169
 
166
170
  def method_missing(method_name, *args)
167
- return super unless klass.scopes.key?(method_name)
171
+ return super unless klass.scopes&.key?(method_name)
168
172
 
169
173
  instance_exec(*args, &klass.scopes[method_name])
170
174
  end
171
175
 
172
176
  def respond_to_missing?(method_name, include_private = false)
173
- klass.scopes.key?(method_name) || super
177
+ klass.scopes&.key?(method_name) || super
174
178
  end
175
179
 
176
180
  private
@@ -1,5 +1,5 @@
1
1
  module ActiveHash
2
2
  module Gem
3
- VERSION = "3.2.0"
3
+ VERSION = "3.2.1"
4
4
  end
5
5
  end
@@ -3,6 +3,10 @@ module ActiveHash
3
3
 
4
4
  module ActiveRecordExtensions
5
5
 
6
+ def self.extended(base)
7
+ require_relative 'reflection_extensions'
8
+ end
9
+
6
10
  def belongs_to(name, scope = nil, **options)
7
11
  klass_name = options.key?(:class_name) ? options[:class_name] : name.to_s.camelize
8
12
  klass =
@@ -92,7 +96,6 @@ module ActiveHash
92
96
  end
93
97
 
94
98
  def self.included(base)
95
- require_relative "reflection_extensions"
96
99
  base.extend Methods
97
100
  end
98
101
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dean
@@ -26,10 +26,10 @@ authors:
26
26
  - Brett Richardson
27
27
  - Rachel Heaton
28
28
  - Keisuke Izumiya
29
- autorequire:
29
+ autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2023-05-06 00:00:00.000000000 Z
32
+ date: 2023-10-12 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: activesupport
@@ -93,7 +93,7 @@ metadata:
93
93
  changelog_uri: https://github.com/active-hash/active_hash/blob/master/CHANGELOG.md
94
94
  source_code_uri: http://github.com/active-hash/active_hash
95
95
  bug_tracker_uri: https://github.com/active-hash/active_hash/issues
96
- post_install_message:
96
+ post_install_message:
97
97
  rdoc_options: []
98
98
  require_paths:
99
99
  - lib
@@ -108,8 +108,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.2.33
112
- signing_key:
111
+ rubygems_version: 3.4.19
112
+ signing_key:
113
113
  specification_version: 4
114
114
  summary: An ActiveRecord-like model that uses a hash or file as a datasource
115
115
  test_files: []