activerecord_cloneable 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/activerecord_cloneable.gemspec +5 -1
- data/lib/active_record/cloneable.rb +1 -1
- data/test/test_helper.rb +5 -4
- metadata +33 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da04b762a1a159af54394a77038fd8e3a5a77157
|
4
|
+
data.tar.gz: dd1085b167a63e5446b4ed158b38ab12eff44b21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd4b38700053d17cfb03fabf9ce48f611cdb7d8377cbc6189e554b13df298575e57a74d9b5d7ea899f77015b990cfd3bdecf8f77639d17927ddf661266a70a69
|
7
|
+
data.tar.gz: 6e6276a08d4f67324e0265ee8ddafe474122e530e341411d6bef3085b69311e59de69c4b3b4bb0eb0d04526c53daace3e75957ad122dfd9fdd1b14634385b3bd
|
data/Rakefile
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'activerecord_cloneable'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.2.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
7
|
s.date = %q{2013-08-16}
|
8
|
+
s.licenses = ['MIT']
|
9
|
+
s.homepage = 'http://github.com/apalmblad/activerecord_cloneble'
|
10
|
+
s.add_dependency( "activerecord", "<4")
|
11
|
+
s.add_development_dependency "sqlite3"
|
8
12
|
s.description = %q{A tool to help with cloning of active record objects.}
|
9
13
|
s.files= ['MIT-LICENSE', 'README', 'Rakefile', 'activerecord_cloneable.gemspec',
|
10
14
|
'test/activerecord_cloneable_test.rb', 'test/test_helper.rb',
|
@@ -97,7 +97,7 @@ module ActiveRecord::Cloneable
|
|
97
97
|
data[v.macro] ||= []
|
98
98
|
data[v.macro] << v
|
99
99
|
end
|
100
|
-
belongs_to_keys = ( data[:belongs_to] || [] ).map{ |x| x.
|
100
|
+
belongs_to_keys = ( data[:belongs_to] || [] ).map{ |x| x.association_primary_key }
|
101
101
|
|
102
102
|
clone_belongs_to_relations( data[:belongs_to], cloned_record, args )
|
103
103
|
clone_basic_details( cloned_record, belongs_to_keys, args )
|
data/test/test_helper.rb
CHANGED
@@ -5,15 +5,13 @@ require 'active_support/test_case'
|
|
5
5
|
require 'active_record'
|
6
6
|
require 'active_record/cloneable'
|
7
7
|
ActiveRecord::Base.send( :include, ActiveRecord::Cloneable )
|
8
|
-
ActiveRecord::Base.establish_connection(:adapter
|
9
|
-
|
10
|
-
:username => 'root' )
|
8
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3",
|
9
|
+
:database => ':memory:' )
|
11
10
|
class DoSetup < ActiveRecord::Migration
|
12
11
|
def self.up
|
13
12
|
create_table :breads do |t|
|
14
13
|
t.column :banana_id, :integer
|
15
14
|
end
|
16
|
-
drop_table :non_cloneable_things
|
17
15
|
create_table :non_cloneable_things do |t|
|
18
16
|
t.column :apple_id,:integer
|
19
17
|
end
|
@@ -26,10 +24,13 @@ class DoSetup < ActiveRecord::Migration
|
|
26
24
|
|
27
25
|
def self.down
|
28
26
|
drop_table :bananas
|
27
|
+
drop_table :non_cloneale_things
|
29
28
|
drop_table :apples
|
30
29
|
end
|
31
30
|
end
|
32
31
|
begin
|
33
32
|
DoSetup.up
|
34
33
|
rescue ActiveRecord::StatementInvalid => e
|
34
|
+
DoSetup.down
|
35
|
+
raise e
|
35
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord_cloneable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Palmblad
|
@@ -9,7 +9,35 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2013-08-16 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "<"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sqlite3
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
description: A tool to help with cloning of active record objects.
|
14
42
|
email: apalmblad@gmail.com
|
15
43
|
executables: []
|
@@ -23,8 +51,9 @@ files:
|
|
23
51
|
- lib/active_record/cloneable.rb
|
24
52
|
- test/activerecord_cloneable_test.rb
|
25
53
|
- test/test_helper.rb
|
26
|
-
homepage:
|
27
|
-
licenses:
|
54
|
+
homepage: http://github.com/apalmblad/activerecord_cloneble
|
55
|
+
licenses:
|
56
|
+
- MIT
|
28
57
|
metadata: {}
|
29
58
|
post_install_message:
|
30
59
|
rdoc_options: []
|