acts_as_has_many 0.1.2 → 0.1.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: 89714b7c2bb72bd9cf5a8b95895bcbd48feb8f0e426fb7c01ff0edfb8552eeb1
4
- data.tar.gz: 53f475bb074fddb43bec43ce74bf34951bed0c0b641dd4ac489e44aa6dacfcc8
3
+ metadata.gz: f40c7648b7c3011fe987b13a9f8fb232b937fc1efd1540185f5450ca5e15d0d1
4
+ data.tar.gz: ffed6b529541f5d1fd815f137ce318b9f0b577defeec61bbb3d34e0feff57b54
5
5
  SHA512:
6
- metadata.gz: c5a13ec57af88119d65819c5a7bead2ef862e9e28a73ecbb33f3fb53df0e3276894a49a2d6427af6547820b8352688b1645963a147e2405bf8e02670d15f6124
7
- data.tar.gz: 822404ab0b79e862b1af93baa6eb6aed72db402b0a0c5ecd223826328181b6158301e0ac0b8f6007dbb78d67e4a5d31e2ae70d202219b8bf2e0be1b7a04fdaf8
6
+ metadata.gz: fdc6c46341b60b8888924f4ce96b015970039a45bde990e81c8d14790538e6370c8f5b764251597d9f6591b1c3f15c1d0f6f4bd1aaf541cc94e7eb3df0a6803c
7
+ data.tar.gz: 2321d11bb3def53af53e3d00d4a67bdb14aadfaaec8865c588a3d87064c820f1b805f630fc52d3bee4ffe5c3d2f4ca644e60c19c72b6fba885f5e49e830ae889
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --color
2
+ --warnings
3
+ --format progress
4
+ --require spec_helper
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  ## [Unreleased]
2
2
 
3
- ## [0.1.0] - 2023-10-22
3
+ ## [0.1.1]
4
4
 
5
5
  - Initial release
6
+
7
+ ## [0.1.2]
8
+
9
+ - separate method for acts_as_accepts_nested_attributes_for
10
+
11
+ ## [0.1.3]
12
+
13
+ - Added unit tests
14
+
15
+ - fix(): convert attribute to string before classifing
16
+
17
+ - Add changelogs
18
+
19
+ - fix lint issues with rubocop
20
+
21
+ - use map + compact instead of filter_map to support older versions of ruby
data/Gemfile CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in acts_as_has_many.gemspec
6
6
  gemspec
7
-
8
- gem "rake", "~> 13.0"
data/Rakefile CHANGED
@@ -1,4 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
4
- task default: %i[]
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ task default: :spec
7
+
8
+ desc 'Run specs'
9
+ RSpec::Core::RakeTask.new
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActsAsHasMany
4
- VERSION = "0.1.2"
4
+ VERSION = '0.1.3'
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "acts_as_has_many/version"
3
+ require_relative 'acts_as_has_many/version'
4
4
 
5
5
  module ActsAsHasMany
6
6
  def self.included(base)
@@ -12,8 +12,8 @@ module ActsAsHasMany
12
12
  validates attribute, associated: true
13
13
 
14
14
  column = options[:attribute].presence || attribute
15
- klass = options[:class_name].presence || attribute.classify
16
-
15
+ klass = options[:class_name].presence || attribute.to_s.classify
16
+
17
17
  define_method(attribute.to_sym) do
18
18
  @options ||= read_attribute(column).map do |option|
19
19
  klass.constantize.new(option)
@@ -25,11 +25,11 @@ module ActsAsHasMany
25
25
  end
26
26
  end
27
27
 
28
- def acts_as_accepts_nested_attributes_for(attribute, options = {})
28
+ def acts_as_accepts_nested_attributes_for(attribute, _options = {})
29
29
  define_method("#{attribute}_attributes=".to_sym) do |associates|
30
- writeable_associates = associates.values.filter_map do |associate|
30
+ writeable_associates = associates.values.map do |associate|
31
31
  associate.except('_destroy') unless associate['_destroy'].present?
32
- end
32
+ end.compact
33
33
 
34
34
  public_send("#{attribute}=".to_sym, writeable_associates)
35
35
  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.2
4
+ version: 0.1.3
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-23 00:00:00.000000000 Z
11
+ date: 2023-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,112 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: '6.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0
26
+ version: '6.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: appraisal
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
27
125
  description: acts_as_has_many is a gem that makes it easy to work with JSONB arrays
28
126
  as Active Record associations in your Ruby on Rails applications. It simplifies
29
127
  nested form handling.
@@ -33,6 +131,7 @@ executables: []
33
131
  extensions: []
34
132
  extra_rdoc_files: []
35
133
  files:
134
+ - ".rspec"
36
135
  - CHANGELOG.md
37
136
  - CODE_OF_CONDUCT.md
38
137
  - Gemfile