activerecord_cloneable 0.2.2 → 0.3.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
  SHA1:
3
- metadata.gz: 640cf07596ad8a8fb51e9fa951baec93bb859e41
4
- data.tar.gz: 2734002279fdb3d5902358f257e2265258a7782d
3
+ metadata.gz: 39591d76cb96d3686c7bf93ac6390c38abcfc9a2
4
+ data.tar.gz: 7d3b7ca6b8e37e715c4baac4300dc0e91440404e
5
5
  SHA512:
6
- metadata.gz: 2c6cdc3ef4365174c9f7a223e82275f4e922ea4a3d82f0ecabb50dedd91d2b02c9068041513cc55e02b7bbc5301b7cfd792185bba43e4b42cec8e6295aa20606
7
- data.tar.gz: 5eb7ce04063b86a9c27f5e8bade3e27336fa1995ebda3ff68560dafaf250dc327424b5fd4deeacd10adb52af1d4d6e2737254aa18fa52955562467a8057410fb
6
+ metadata.gz: 64e5083d511fdd929c6997a162748f660ff71b4e6e1b817777e04ea0138a6a9ad9b902a8b469864437be4320d435efa17971967e1385f5c3764c4b2cbc184bf2
7
+ data.tar.gz: f6235ab99f3c2b1e2f98f1f889bef218d521ec04dec3d315e90119e11a1441f26db580f925bba140507d2b0c0c2371998f7457774b185110bb24bc142112c241
@@ -1,14 +1,15 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'activerecord_cloneable'
3
- s.version = '0.2.2'
3
+ s.version = '0.3.0'
4
4
  s.summary = "A library to help clone active records - that is, generate active new record objects with the data copied from an existing record."
5
5
  s.authors = ["Adam Palmblad"]
6
6
  s.email = 'apalmblad@gmail.com'
7
- s.date = %q{2013-08-16}
7
+ s.date = %q{2015-02-11}
8
8
  s.licenses = ['MIT']
9
9
  s.homepage = 'http://github.com/apalmblad/activerecord_cloneble'
10
- s.add_dependency( "activerecord", "<4")
11
- s.add_development_dependency "sqlite3"
10
+ s.add_dependency( "activerecord", "<4.2")
11
+ s.add_development_dependency "sqlite3", '~> 0'
12
+ s.add_development_dependency "minitest", '~> 5', '> 5'
12
13
  s.description = %q{A tool to help with cloning of active record objects.}
13
14
  s.files= ['MIT-LICENSE', 'README', 'Rakefile', 'activerecord_cloneable.gemspec',
14
15
  'test/activerecord_cloneable_test.rb', 'test/test_helper.rb',
@@ -54,7 +54,7 @@ module ActiveRecord::Cloneable
54
54
  :skipped_parent_relations => find_applicable_clone_args( parent_relation.name, args[:skipped_parent_relations] ),
55
55
  :shared_parent_relations => find_applicable_clone_args( parent_relation.name, args[:shared_parent_relations] )
56
56
  )
57
- rescue NoMethodError => e
57
+ rescue NoMethodError
58
58
  raise "#{obj.class.name} objects do not know how to clone themselves; they should be marked as cloneable or skipped."
59
59
  end
60
60
  cloned_record.send( "#{parent_relation.name}=", rec )
@@ -107,8 +107,7 @@ module ActiveRecord::Cloneable
107
107
  next if !clone_child_relation?( child_relation.name, args[:skipped_child_relations] )
108
108
  kids = send( child_relation.name )
109
109
  next if kids.nil?
110
- records = kids.find( :all )
111
- records.each do |child_record|
110
+ kids.each do |child_record|
112
111
  next if args[:skipped_children].include?( child_record )
113
112
  cloned_child_record = kids.build
114
113
  child_args = { :cloned_parents => args[:cloned_parents] + [self], :attributes => {}, :object => cloned_child_record,
@@ -119,7 +118,7 @@ module ActiveRecord::Cloneable
119
118
  begin
120
119
  cloned_child_record = child_record.clone_record( child_args )
121
120
  cloned_record.send( child_relation.name ) << cloned_child_record
122
- rescue NoMethodError => e
121
+ rescue NoMethodError
123
122
  raise "#{child_record.class.name} objects do not know how to clone themselves; they should be marked as cloneable or skipped. (#{self.class.name} / #{child_relation.name}"
124
123
  end
125
124
  end
@@ -137,7 +136,7 @@ module ActiveRecord::Cloneable
137
136
  begin
138
137
  cloned_child_record = kid.clone_record( child_args )
139
138
  cloned_record.send( "#{child_relation.name}=", cloned_child_record )
140
- rescue NoMethodError => e
139
+ rescue NoMethodError
141
140
  raise "#{kid.class.name} objects do not know how to clone themselves; they should be marked as cloneable or skipped. (#{self.class.name} / #{child_relation.name}"
142
141
  end
143
142
  end
data/test/test_helper.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  require 'rubygems'
2
- require 'test/unit'
2
+ require 'minitest/autorun'
3
3
  require 'active_support'
4
4
  require 'active_support/test_case'
5
5
  require 'active_record'
6
- require 'activerecord_cloneable'
6
+ require File.join( File.expand_path( File.dirname( __FILE__ ) ), '../lib/activerecord_cloneable' )
7
7
  ActiveRecord::Base.send( :include, ActiveRecord::Cloneable )
8
8
  ActiveRecord::Base.establish_connection(:adapter => "sqlite3",
9
9
  :database => ':memory:' )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_cloneable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Palmblad
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-16 00:00:00.000000000 Z
11
+ date: 2015-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,28 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '4'
19
+ version: '4.2'
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: '4'
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5'
48
+ - - ">"
49
+ - !ruby/object:Gem::Version
50
+ version: '5'
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '5'
58
+ - - ">"
59
+ - !ruby/object:Gem::Version
60
+ version: '5'
41
61
  description: A tool to help with cloning of active record objects.
42
62
  email: apalmblad@gmail.com
43
63
  executables: []
@@ -72,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
92
  version: '0'
73
93
  requirements: []
74
94
  rubyforge_project:
75
- rubygems_version: 2.2.1
95
+ rubygems_version: 2.4.3
76
96
  signing_key:
77
97
  specification_version: 4
78
98
  summary: A library to help clone active records - that is, generate active new record