amoeba 3.4.0 → 3.4.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: e23f137845db9ab5d966278ecc7310519e2194767cb156bd3b20063441d126e2
4
- data.tar.gz: b0006cfc924dc4d1f443b065ab0592719af14adf0b3a0d58e3f24e680ac404d5
3
+ metadata.gz: b56863bc615e6ae47326269f3bcc16a1803db51af1f94790a064bbc89ccf4aeb
4
+ data.tar.gz: 225866bf1cb1001a4902bbc538bf7d7263edc3fde2317be06ab232d45da5d065
5
5
  SHA512:
6
- metadata.gz: 9f49bff4617121516954f3423b512ef9ed0e7e4fe8cbb444c5d6faad681009882948332cd28907c3a194cb4fb18ee9472504b489f24295918b853ecdcdeeb37b
7
- data.tar.gz: a50ebd357ae15ca4ff5efb96b959e6fa5e3de692de6fd396dc6a64c6a0d188e4a7fa2237f61dc42b59da772320ff0ef8ed967980a9be550381eb89678227e794
6
+ metadata.gz: b41fb1914a1e2adfcffc2df6ce19d0dba862f593a2d84424e7eeb9c59e5523c06b6e8e6c356f9704b8181759335d55507c363cfdf29dda50b89b114731a89707
7
+ data.tar.gz: 6c8b4671c3f24d856ef2fc762272fd52eea67c31ca9f9ca7d7b15371db41c6aeba661818c0546ed6c59b0dd828ecbd4aab10771630ec9a5be8ececae4c4a75b6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 3.4.1
2
+
3
+ * Update minimum supported Ruby version to 3.2
4
+ * Update minimum supported Rails version to 7.1
5
+ * Tidy up Gemspec file. Various files, such as test files, are no longer bundled with the gem. The gem file is now 21K (unpacked to 128K) compared with 34K (unpacked to 292K) previously. [https://github.com/amoeba-rb/amoeba/pull/136]
6
+ * Fix `regex` raising `NoMethodError` when the field is nil.[https://github.com/amoeba-rb/amoeba/pull/138] Thanks @suryakant-source
7
+
1
8
  ### 3.4.0
2
9
 
3
10
  * Update test matrix for current version for Ruby and Rails. Drop support for Rails versions 5.2 and 6.0, and Ruby 2.5, 2.6 and 2.7. [https://github.com/amoeba-rb/amoeba/pull/120 and https://github.com/amoeba-rb/amoeba/pull/124]
data/lib/amoeba/cloner.rb CHANGED
@@ -158,6 +158,8 @@ module Amoeba
158
158
  def process_regexes
159
159
  # regex any fields that need changing
160
160
  amoeba.regexes.each do |field, action|
161
+ next if @new_object[field].nil?
162
+
161
163
  @new_object[field].gsub!(action[:replace], action[:with])
162
164
  end
163
165
  end
data/lib/amoeba/macros.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  module Amoeba
4
4
  module Macros
5
5
  extend self
6
+
6
7
  def list
7
8
  @list ||= {}
8
9
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Amoeba
4
- VERSION = '3.4.0'
4
+ VERSION = '3.4.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amoeba
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vaughn Draughon
@@ -11,112 +11,34 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 1980-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: 3.13.0
21
- type: :development
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: 3.13.0
28
- - !ruby/object:Gem::Dependency
29
- name: rubocop
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: 1.71.0
35
- type: :development
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: 1.71.0
42
- - !ruby/object:Gem::Dependency
43
- name: rubocop-rake
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: 0.6.0
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: 0.6.0
56
- - !ruby/object:Gem::Dependency
57
- name: rubocop-rspec
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: 2.27.1
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: 2.27.1
70
14
  - !ruby/object:Gem::Dependency
71
15
  name: activerecord
72
16
  requirement: !ruby/object:Gem::Requirement
73
17
  requirements:
74
18
  - - ">="
75
19
  - !ruby/object:Gem::Version
76
- version: 6.1.0
20
+ version: 7.1.0
77
21
  type: :runtime
78
22
  prerelease: false
79
23
  version_requirements: !ruby/object:Gem::Requirement
80
24
  requirements:
81
25
  - - ">="
82
26
  - !ruby/object:Gem::Version
83
- version: 6.1.0
84
- description: |
85
- An extension to ActiveRecord to allow the duplication method to also copy associated children, with recursive support for nested of grandchildren. The behavior is controllable with a simple DSL both on your rails models and on the fly, i.e. per instance. Numerous configuration styles and preprocessing directives are included for power and flexibility. Supports preprocessing of field values to prepend strings such as "Copy of ", to nullify or process field values with regular expressions. Supports most association types including has_one :through and has_many :through.
27
+ version: 7.1.0
28
+ description: 'Duplicate ActiveRecord models and their nested child associations with
29
+ configurable cloning behavior.
86
30
 
87
- Tags: copy child associations, copy nested children, copy associated child records, nested copy, copy associations, copy relations, copy relationships, duplicate associations, duplicate associated records, duplicate child records, duplicate children, copy all, duplicate all, clone child associations, clone nested children, clone associated child records, nested clone, clone associations, clone relations, clone relationships, cloning child associations, cloning nested children, cloning associated child records, deep_cloning, nested cloning, cloning associations, cloning relations, cloning relationships, cloning child associations, cloning nested children, cloning associated child records, nested cloning, cloning associations, cloning relations, cloning relationships, cloning child associations, cloning nested children, cloning associated child records, deep_cloning, nested cloning, cloning associations, cloning relations, cloning relationships, duplicate child associations, duplicate nested children, duplicate associated child records, nested duplicate, duplicate associations, duplicate relations, duplicate relationships, duplicate child associations, duplicate nested children, duplicate associated child records, deep_duplicate, nested duplicate, duplicate associations, duplicate relations, duplicate relationships, deep_copy, deep_clone, deep_cloning, deep clone, deep cloning, has_one, has_many, has_and_belongs_to_many
31
+ '
88
32
  email: josephhaig@gmail.com
89
33
  executables: []
90
34
  extensions: []
91
35
  extra_rdoc_files: []
92
36
  files:
93
- - ".cane"
94
- - ".github/workflows/activerecord_head.yml"
95
- - ".github/workflows/jruby.yml"
96
- - ".github/workflows/rspec.yml"
97
- - ".github/workflows/rubocop.yml"
98
- - ".gitignore"
99
- - ".rspec"
100
- - ".rubocop.yml"
101
- - ".rubocop_todo.yml"
102
- - Appraisals
103
37
  - CHANGELOG.md
104
- - Gemfile
105
38
  - LICENSE.md
106
39
  - README.md
107
- - Rakefile
108
- - amoeba.gemspec
109
- - defaults.reek
110
40
  - docs/contributing.md
111
41
  - docs/test_refactor.md
112
- - gemfiles/activerecord_6.1.gemfile
113
- - gemfiles/activerecord_7.0.gemfile
114
- - gemfiles/activerecord_7.1.gemfile
115
- - gemfiles/activerecord_8.0.gemfile
116
- - gemfiles/activerecord_8.1.gemfile
117
- - gemfiles/activerecord_head.gemfile
118
- - gemfiles/jruby_activerecord_7.0.gemfile
119
- - gemfiles/jruby_activerecord_head.gemfile
120
42
  - lib/amoeba.rb
121
43
  - lib/amoeba/class_methods.rb
122
44
  - lib/amoeba/cloner.rb
@@ -128,15 +50,14 @@ files:
128
50
  - lib/amoeba/macros/has_many.rb
129
51
  - lib/amoeba/macros/has_one.rb
130
52
  - lib/amoeba/version.rb
131
- - spec/lib/amoeba_spec.rb
132
- - spec/spec_helper.rb
133
- - spec/support/data.rb
134
- - spec/support/models.rb
135
- - spec/support/schema.rb
136
- homepage: http://github.com/amoeba-rb/amoeba
53
+ homepage: https://github.com/amoeba-rb/amoeba
137
54
  licenses:
138
55
  - BSD-2-Clause
139
- metadata: {}
56
+ metadata:
57
+ homepage_uri: https://github.com/amoeba-rb/amoeba
58
+ source_code_uri: https://github.com/amoeba-rb/amoeba
59
+ changelog_uri: https://github.com/amoeba-rb/amoeba/CHANGELOG.md
60
+ bug_tracker_uri: https://github.com/amoeba-rb/amoeba/issues
140
61
  rdoc_options: []
141
62
  require_paths:
142
63
  - lib
@@ -144,7 +65,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
65
  requirements:
145
66
  - - ">="
146
67
  - !ruby/object:Gem::Version
147
- version: '3.0'
68
+ version: '3.2'
148
69
  required_rubygems_version: !ruby/object:Gem::Requirement
149
70
  requirements:
150
71
  - - ">="
@@ -153,5 +74,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
74
  requirements: []
154
75
  rubygems_version: 4.0.16
155
76
  specification_version: 4
156
- summary: Easy copying of rails models and their child associations.
77
+ summary: Easy copying of ActiveRecord models and their child associations.
157
78
  test_files: []
data/.cane DELETED
@@ -1,4 +0,0 @@
1
- --no-doc
2
- --style-measure 99
3
- --abc-max 5
4
- --style-exclude spec/**/*
@@ -1,26 +0,0 @@
1
- name: Active Record head
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- strategy:
13
- matrix:
14
- ruby_version: [ 3.3, 3.4, '4.0', head ]
15
- env:
16
- BUNDLE_GEMFILE: gemfiles/activerecord_head.gemfile
17
- steps:
18
- - uses: actions/checkout@v4
19
- - name: Set up Ruby
20
- uses: ruby/setup-ruby@v1
21
- with:
22
- ruby-version: ${{ matrix.ruby_version }}
23
- bundler-cache: true
24
- - name: Run tests
25
- # Allow tests to run on Active Record head without failing the pipeline
26
- run: bundle exec rspec || true
@@ -1,30 +0,0 @@
1
- name: JRuby
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- strategy:
13
- matrix:
14
- gemfile: [ jruby_activerecord_7.0 ]
15
- env:
16
- BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
17
- JRUBY_OPTS: --debug
18
- steps:
19
- - uses: actions/checkout@v4
20
- - name: Set up Ruby
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- ruby-version: jruby
24
- bundler-cache: true
25
- - name: Run tests
26
- run: bundle exec rspec
27
- - name: Coveralls
28
- uses: coverallsapp/github-action@master
29
- with:
30
- github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,49 +0,0 @@
1
- name: Ruby
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
-
9
- jobs:
10
- test:
11
-
12
- runs-on: ubuntu-latest
13
- strategy:
14
- matrix:
15
- ruby_version: [ '3.0', 3.1, 3.2, 3.3, 3.4, '4.0', head ]
16
- gemfile: [ activerecord_6.1, activerecord_7.0, activerecord_7.1, activerecord_8.0, activerecord_8.1 ]
17
- exclude:
18
- # Active Record 6.1 - 7.1 tests require sqlite3 1.6.9 which is not supported in Ruby 4.1 onwards
19
- - ruby_version: head
20
- gemfile: activerecord_6.1
21
- - ruby_version: head
22
- gemfile: activerecord_7.0
23
- - ruby_version: head
24
- gemfile: activerecord_7.1
25
- - ruby_version: '3.0'
26
- gemfile: activerecord_8.0
27
- - ruby_version: '3.0'
28
- gemfile: activerecord_8.1
29
- - ruby_version: 3.1
30
- gemfile: activerecord_8.0
31
- - ruby_version: 3.1
32
- gemfile: activerecord_8.1
33
- - ruby_version: 3.2
34
- gemfile: activerecord_8.1
35
- env:
36
- BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
37
- steps:
38
- - uses: actions/checkout@v4
39
- - name: Set up Ruby
40
- uses: ruby/setup-ruby@v1
41
- with:
42
- ruby-version: ${{ matrix.ruby_version }}
43
- bundler-cache: true
44
- - name: Run tests
45
- run: bundle exec rspec
46
- - name: Coveralls
47
- uses: coverallsapp/github-action@master
48
- with:
49
- github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,20 +0,0 @@
1
- name: Rubocop
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v4
14
- - name: Set up Ruby
15
- uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: 3.0
18
- bundler-cache: true
19
- - name: Run Rubocop
20
- run: bundle exec rubocop -d
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile*.lock
4
- pkg/*
5
- spec/test.sqlite3
6
- coverage
7
- .idea
8
- gemfiles/*.lock
9
- .ruby-version
10
- tmp/**/*
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --format progress
data/.rubocop.yml DELETED
@@ -1,21 +0,0 @@
1
- require:
2
- - rubocop-rspec
3
- - rubocop-rake
4
-
5
- inherit_from: .rubocop_todo.yml
6
-
7
- AllCops:
8
- TargetRubyVersion: 2.7
9
- NewCops: enable
10
- Layout/LineLength:
11
- Max: 120
12
- Naming/FileName:
13
- Enabled: false
14
- Style/ModuleFunction:
15
- Enabled: false
16
- Style/Encoding:
17
- Enabled: false
18
- Style/Documentation:
19
- Enabled: false
20
- Metrics/MethodLength:
21
- Max: 15
data/.rubocop_todo.yml DELETED
@@ -1,149 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2025-12-14 18:27:46 UTC using RuboCop version 1.71.2.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # This cop supports safe autocorrection (--autocorrect).
11
- # Configuration parameters: Severity, Include.
12
- # Include: **/*.gemspec
13
- Gemspec/DeprecatedAttributeAssignment:
14
- Exclude:
15
- - 'amoeba.gemspec'
16
-
17
- # Offense count: 7
18
- # Configuration parameters: EnforcedStyle, AllowedGems, Include.
19
- # SupportedStyles: Gemfile, gems.rb, gemspec
20
- # Include: **/*.gemspec, **/Gemfile, **/gems.rb
21
- Gemspec/DevelopmentDependencies:
22
- Exclude:
23
- - 'amoeba.gemspec'
24
-
25
- # Offense count: 1
26
- # This cop supports safe autocorrection (--autocorrect).
27
- # Configuration parameters: Severity, Include.
28
- # Include: **/*.gemspec
29
- Gemspec/RequireMFA:
30
- Exclude:
31
- - 'amoeba.gemspec'
32
-
33
- # Offense count: 1
34
- # Configuration parameters: Severity, Include.
35
- # Include: **/*.gemspec
36
- Gemspec/RequiredRubyVersion:
37
- Exclude:
38
- - 'amoeba.gemspec'
39
-
40
- # Offense count: 1
41
- # Configuration parameters: AllowedParentClasses.
42
- Lint/MissingSuper:
43
- Exclude:
44
- - 'lib/amoeba/macros/base.rb'
45
-
46
- # Offense count: 17
47
- # This cop supports safe autocorrection (--autocorrect).
48
- # Configuration parameters: AutoCorrect.
49
- Lint/UselessAssignment:
50
- Exclude:
51
- - 'spec/support/data.rb'
52
-
53
- # Offense count: 2
54
- # Configuration parameters: CountComments, CountAsOne.
55
- Metrics/ClassLength:
56
- Max: 130
57
-
58
- # Offense count: 3
59
- # Configuration parameters: ForbiddenDelimiters.
60
- # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
61
- Naming/HeredocDelimiterNaming:
62
- Exclude:
63
- - 'lib/amoeba/config.rb'
64
-
65
- # Offense count: 2
66
- # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
67
- # SupportedStyles: snake_case, normalcase, non_integer
68
- # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
69
- Naming/VariableNumber:
70
- Exclude:
71
- - 'spec/support/data.rb'
72
-
73
- # Offense count: 1
74
- RSpec/BeforeAfterAll:
75
- Exclude:
76
- - '**/spec/spec_helper.rb'
77
- - '**/spec/rails_helper.rb'
78
- - '**/spec/support/**/*.rb'
79
- - 'spec/lib/amoeba_spec.rb'
80
-
81
- # Offense count: 12
82
- # Configuration parameters: Prefixes, AllowedPatterns.
83
- # Prefixes: when, with, without
84
- RSpec/ContextWording:
85
- Exclude:
86
- - 'spec/lib/amoeba_spec.rb'
87
-
88
- # Offense count: 1
89
- # Configuration parameters: IgnoredMetadata.
90
- RSpec/DescribeClass:
91
- Exclude:
92
- - '**/spec/features/**/*'
93
- - '**/spec/requests/**/*'
94
- - '**/spec/routing/**/*'
95
- - '**/spec/system/**/*'
96
- - '**/spec/views/**/*'
97
- - 'spec/lib/amoeba_spec.rb'
98
-
99
- # Offense count: 2
100
- # Configuration parameters: CountAsOne.
101
- RSpec/ExampleLength:
102
- Max: 29
103
-
104
- # Offense count: 1
105
- # Configuration parameters: .
106
- # SupportedStyles: have_received, receive
107
- RSpec/MessageSpies:
108
- EnforcedStyle: receive
109
-
110
- # Offense count: 6
111
- RSpec/MultipleExpectations:
112
- Max: 17
113
-
114
- # Offense count: 18
115
- # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
116
- # SupportedStyles: always, named_only
117
- RSpec/NamedSubject:
118
- Exclude:
119
- - 'spec/lib/amoeba_spec.rb'
120
-
121
- # Offense count: 3
122
- # Configuration parameters: AllowedGroups.
123
- RSpec/NestedGroups:
124
- Max: 4
125
-
126
- # Offense count: 1
127
- # This cop supports unsafe autocorrection (--autocorrect-all).
128
- # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
129
- # SupportedStyles: inflected, explicit
130
- RSpec/PredicateMatcher:
131
- Exclude:
132
- - 'spec/lib/amoeba_spec.rb'
133
-
134
- # Offense count: 25
135
- # This cop supports safe autocorrection (--autocorrect).
136
- Style/RedundantConstantBase:
137
- Exclude:
138
- - 'spec/lib/amoeba_spec.rb'
139
- - 'spec/spec_helper.rb'
140
- - 'spec/support/models.rb'
141
-
142
- # Offense count: 5
143
- # This cop supports unsafe autocorrection (--autocorrect-all).
144
- # Configuration parameters: Mode.
145
- Style/StringConcatenation:
146
- Exclude:
147
- - 'spec/lib/amoeba_spec.rb'
148
- - 'spec/spec_helper.rb'
149
- - 'spec/support/models.rb'
data/Appraisals DELETED
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- appraise 'activerecord-6.1' do
4
- gem 'activerecord', '~> 6.1.0'
5
- gem 'concurrent-ruby', '<= 1.3.4'
6
- gem 'mutex_m'
7
- gem 'base64'
8
- gem 'bigdecimal'
9
- gem 'logger'
10
- gem 'benchmark'
11
- group :development, :test do
12
- gem 'sqlite3', '~> 1.6.0'
13
- end
14
- end
15
-
16
- appraise 'activerecord-7.0' do
17
- gem 'activerecord', '~> 7.0.0'
18
- gem 'concurrent-ruby', '<= 1.3.4'
19
- group :development, :test do
20
- gem 'sqlite3', '~> 1.6.0'
21
- end
22
- end
23
-
24
- appraise 'activerecord-7.1' do
25
- gem 'activerecord', '~> 7.1.0'
26
- group :development, :test do
27
- gem 'sqlite3', '~> 1.6.0'
28
- end
29
- end
30
-
31
- appraise 'activerecord-8.0' do
32
- gem 'activerecord', '~> 8.0.0'
33
- group :development, :test do
34
- gem 'sqlite3', '~> 2.1.0'
35
- end
36
- end
37
-
38
- appraise 'activerecord-8.1' do
39
- gem 'activerecord', '~> 8.1.0'
40
- group :development, :test do
41
- gem 'sqlite3', '~> 2.1.0'
42
- end
43
- end
44
-
45
- appraise 'jruby-activerecord-7.0' do
46
- gem 'activerecord', '~> 7.0.0'
47
- end
48
-
49
- appraise 'activerecord-head' do
50
- git 'https://github.com/rails/rails.git', branch: 'main' do
51
- gem 'activerecord'
52
- end
53
- group :development, :test do
54
- gem 'sqlite3', '~> 2.1.0'
55
- end
56
- end
57
-
58
- appraise 'jruby-activerecord-head' do
59
- git 'https://github.com/rails/rails.git', branch: 'main' do
60
- gem 'activerecord'
61
- end
62
- group :development, :test do
63
- git 'https://github.com/jruby/activerecord-jdbc-adapter' do
64
- gem 'activerecord-jdbc-adapter'
65
- gem 'activerecord-jdbcsqlite3-adapter',
66
- glob: 'activerecord-jdbcsqlite3-adapter/activerecord-jdbcsqlite3-adapter.gemspec'
67
- end
68
- end
69
- end
data/Gemfile DELETED
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
- gemspec
5
-
6
- group :development, :test do
7
- gem 'rake'
8
- gem 'simplecov', '~> 0.21.2'
9
- gem 'simplecov-lcov', '~> 0.8.0'
10
- gem 'sqlite3', '~> 1.6'
11
- end
12
-
13
- group :local_development do
14
- gem 'appraisal'
15
- gem 'pry'
16
- end
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task default: :spec
data/amoeba.gemspec DELETED
@@ -1,40 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- # frozen_string_literal: true
3
-
4
- $LOAD_PATH.push File.expand_path('lib', __dir__)
5
- require 'amoeba/version'
6
-
7
- Gem::Specification.new do |s|
8
- s.name = 'amoeba'
9
- s.version = Amoeba::VERSION
10
- s.authors = ['Vaughn Draughon', 'Oleksandr Simonov', 'Joseph Haig']
11
- s.email = 'josephhaig@gmail.com'
12
- s.homepage = 'http://github.com/amoeba-rb/amoeba'
13
- s.license = 'BSD-2-Clause'
14
- s.summary = 'Easy copying of rails models and their child associations.'
15
- s.required_ruby_version = '>= 3.0'
16
-
17
- s.description = <<~DESCRIPTION
18
- An extension to ActiveRecord to allow the duplication method to also copy associated children, with recursive support for nested of grandchildren. The behavior is controllable with a simple DSL both on your rails models and on the fly, i.e. per instance. Numerous configuration styles and preprocessing directives are included for power and flexibility. Supports preprocessing of field values to prepend strings such as "Copy of ", to nullify or process field values with regular expressions. Supports most association types including has_one :through and has_many :through.
19
-
20
- Tags: copy child associations, copy nested children, copy associated child records, nested copy, copy associations, copy relations, copy relationships, duplicate associations, duplicate associated records, duplicate child records, duplicate children, copy all, duplicate all, clone child associations, clone nested children, clone associated child records, nested clone, clone associations, clone relations, clone relationships, cloning child associations, cloning nested children, cloning associated child records, deep_cloning, nested cloning, cloning associations, cloning relations, cloning relationships, cloning child associations, cloning nested children, cloning associated child records, nested cloning, cloning associations, cloning relations, cloning relationships, cloning child associations, cloning nested children, cloning associated child records, deep_cloning, nested cloning, cloning associations, cloning relations, cloning relationships, duplicate child associations, duplicate nested children, duplicate associated child records, nested duplicate, duplicate associations, duplicate relations, duplicate relationships, duplicate child associations, duplicate nested children, duplicate associated child records, deep_duplicate, nested duplicate, duplicate associations, duplicate relations, duplicate relationships, deep_copy, deep_clone, deep_cloning, deep clone, deep cloning, has_one, has_many, has_and_belongs_to_many
21
- DESCRIPTION
22
-
23
- s.files = `git ls-files`.split("\n")
24
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
26
- s.require_paths = ['lib']
27
-
28
- # specify any dependencies here; for example:
29
- s.add_development_dependency 'rspec', '~> 3.13.0'
30
- s.add_development_dependency 'rubocop', '~> 1.71.0'
31
- s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
32
- s.add_development_dependency 'rubocop-rspec', '~> 2.27.1'
33
-
34
- if RUBY_PLATFORM == 'java'
35
- s.add_development_dependency 'activerecord-jdbc-adapter', '= 70.1'
36
- s.add_development_dependency 'activerecord-jdbcsqlite3-adapter', '= 70.1'
37
- end
38
-
39
- s.add_dependency 'activerecord', '>= 6.1.0'
40
- end