active_hash 3.2.0 → 3.2.1

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: 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: []