active_record-associated_object 0.7.1 → 0.8.0

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: 4b86335fcc0e7c367775d2f21fef7537a39c847022ef83feebc1bd68ed21baf1
4
- data.tar.gz: b2031efb700cccd28eb7b4414ee4bb8a4e45c4bd0912658f4d54301188987cec
3
+ metadata.gz: 3be47b7b9f9789e8fec3167c2ac7ef6cf48eb835b3750475d683330e2dc3a5ca
4
+ data.tar.gz: a9236b608d99c12701007dc4c65022f64a5e09400349f04cffbf2db863357c70
5
5
  SHA512:
6
- metadata.gz: 664b086f82fcaa6c7029d7e3b44cc4fb8cbeaa581761927054cf80bfddad26cd63b12504a380f00109926e23310ef7bcef4970f99acb5c6b7397080d0410b64d
7
- data.tar.gz: 0b3053a708426b83fcbe233394aed806347e8dc74d6305b2a19221de21b30f25e70a8c0e9918b62255639d6d6ac4e3f77a01a514efb98522bd1db78a5a217216
6
+ metadata.gz: eb726c3a240636a729997f51878a3228622d46e774a06cf6c32a8c5b2e0fea9de00066215bd2dd04af1e358aae137e34cbc96f9d89f3c7e27cf1af370c3ef21c
7
+ data.tar.gz: c2ffe5e84e7c0e1ae5666b37d326bf9400db5572aa74ec7872e4ef36acc96484c07f51b2688ed0ee533988798b127b7ce10ea6a3ae91954e63faff9279f128ab
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_record-associated_object (0.7.1)
4
+ active_record-associated_object (0.8.0)
5
5
  activerecord (>= 6.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -62,6 +62,9 @@ We've fixed this so you don't need to care, but this is what's happening.
62
62
  > [!TIP]
63
63
  > You can pass multiple names too: `has_object :publisher, :classified, :fortification`. I recommend `-[i]er`, `-[i]ed` and `-ion` as the general naming conventions for your Associated Objects.
64
64
 
65
+ > [!TIP]
66
+ > Plural Associated Object names are also supported: `Account.has_object :seats` will look up `Account::Seats`.
67
+
65
68
  See how we're always expecting a link to the model, here `post`?
66
69
 
67
70
  Because of that, you can rely on `post` from the associated object:
@@ -14,7 +14,7 @@ module ActiveRecord::AssociatedObject::ObjectAssociation
14
14
  module ClassMethods
15
15
  def has_object(*names, **callbacks)
16
16
  extend_source_from(names) do |name|
17
- "def #{name}; (@associated_objects ||= {})[:#{name}] ||= #{const_get(name.to_s.classify)}.new(self); end"
17
+ "def #{name}; (@associated_objects ||= {})[:#{name}] ||= #{const_get(name.to_s.camelize)}.new(self); end"
18
18
  end
19
19
 
20
20
  extend_source_from(names) do |name|
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  class AssociatedObject
5
- VERSION = "0.7.1"
5
+ VERSION = "0.8.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record-associated_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Timm Hansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-24 00:00:00.000000000 Z
11
+ date: 2024-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  requirements: []
68
- rubygems_version: 3.5.4
68
+ rubygems_version: 3.5.6
69
69
  signing_key:
70
70
  specification_version: 4
71
71
  summary: Associate a Ruby PORO with an Active Record class and have it quack like