acts_as_has_many 0.1.1 → 0.1.2

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: e1c35cd5acfe03f30a446b4c904e38aef80461bc24907f66ad306a4b6dae967f
4
- data.tar.gz: 5a6a9d834a8c084e8bb787e950c4dee97f4d1df05de517facde27d70d8d12a5c
3
+ metadata.gz: 89714b7c2bb72bd9cf5a8b95895bcbd48feb8f0e426fb7c01ff0edfb8552eeb1
4
+ data.tar.gz: 53f475bb074fddb43bec43ce74bf34951bed0c0b641dd4ac489e44aa6dacfcc8
5
5
  SHA512:
6
- metadata.gz: 4cff1ccee79f5faaa58e80f43285de6a48ac87fe601751e52425af25844a49fee36e12a414abfe32ad60f8f7306532cc14fdfaa0e7b1db02bd2df9fa1aeb3e44
7
- data.tar.gz: d828ee4417df4a549e20aa68935ad52bb3caf4c9efefbacf3ced47c0f2e91ddbe8d0cc814e41554459ee073563f7095d30a91a2849809ed9779b76145fb66789
6
+ metadata.gz: c5a13ec57af88119d65819c5a7bead2ef862e9e28a73ecbb33f3fb53df0e3276894a49a2d6427af6547820b8352688b1645963a147e2405bf8e02670d15f6124
7
+ data.tar.gz: 822404ab0b79e862b1af93baa6eb6aed72db402b0a0c5ecd223826328181b6158301e0ac0b8f6007dbb78d67e4a5d31e2ae70d202219b8bf2e0be1b7a04fdaf8
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActsAsHasMany
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -14,18 +14,24 @@ module ActsAsHasMany
14
14
  column = options[:attribute].presence || attribute
15
15
  klass = options[:class_name].presence || attribute.classify
16
16
 
17
- define_method(attribute) do
17
+ define_method(attribute.to_sym) do
18
18
  @options ||= read_attribute(column).map do |option|
19
19
  klass.constantize.new(option)
20
20
  end
21
21
  end
22
22
 
23
23
  define_method("#{attribute}=".to_sym) do |value|
24
- write_attribute(attribute, value.as_json)
24
+ write_attribute(column, value.as_json)
25
25
  end
26
+ end
26
27
 
28
+ def acts_as_accepts_nested_attributes_for(attribute, options = {})
27
29
  define_method("#{attribute}_attributes=".to_sym) do |associates|
28
- write_attribute(attribute, associates.values)
30
+ writeable_associates = associates.values.filter_map do |associate|
31
+ associate.except('_destroy') unless associate['_destroy'].present?
32
+ end
33
+
34
+ public_send("#{attribute}=".to_sym, writeable_associates)
29
35
  end
30
36
  end
31
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_has_many
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pralish Kayastha
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-22 00:00:00.000000000 Z
11
+ date: 2023-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -36,11 +36,9 @@ files:
36
36
  - CHANGELOG.md
37
37
  - CODE_OF_CONDUCT.md
38
38
  - Gemfile
39
- - Gemfile.lock
40
39
  - LICENSE.txt
41
40
  - README.md
42
41
  - Rakefile
43
- - acts_as_has_many-0.1.0.gem
44
42
  - lib/acts_as_has_many.rb
45
43
  - lib/acts_as_has_many/version.rb
46
44
  - sig/acts_as_has_many.rbs
data/Gemfile.lock DELETED
@@ -1,38 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- acts_as_has_many (0.1.0)
5
- activerecord (>= 3.0.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activemodel (6.1.7.6)
11
- activesupport (= 6.1.7.6)
12
- activerecord (6.1.7.6)
13
- activemodel (= 6.1.7.6)
14
- activesupport (= 6.1.7.6)
15
- activesupport (6.1.7.6)
16
- concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 1.6, < 2)
18
- minitest (>= 5.1)
19
- tzinfo (~> 2.0)
20
- zeitwerk (~> 2.3)
21
- concurrent-ruby (1.2.2)
22
- i18n (1.14.1)
23
- concurrent-ruby (~> 1.0)
24
- minitest (5.20.0)
25
- rake (13.0.6)
26
- tzinfo (2.0.6)
27
- concurrent-ruby (~> 1.0)
28
- zeitwerk (2.6.12)
29
-
30
- PLATFORMS
31
- arm64-darwin-22
32
-
33
- DEPENDENCIES
34
- acts_as_has_many!
35
- rake (~> 13.0)
36
-
37
- BUNDLED WITH
38
- 2.3.26
Binary file