activerecord_cloneable 0.2.2 → 0.3.0

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
  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