ar_merge 0.3.0 → 0.3.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.
@@ -8,6 +8,8 @@ gemfile:
8
8
  - gemfiles/activerecord_4.0.gemfile
9
9
  matrix:
10
10
  exclude:
11
+ - rvm: 1.8.7
12
+ gemfile: gemfiles/activerecord_4.0.gemfile
11
13
  - rvm: 2.0
12
- gemfile: gemfiles/activerecord-2.3.gemfile
14
+ gemfile: gemfiles/activerecord_2.3.gemfile
13
15
  script: "rake spec"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ar_merge (0.3.0)
4
+ ar_merge (0.3.1)
5
5
  activerecord
6
6
 
7
7
  GEM
data/Readme.md CHANGED
@@ -37,10 +37,6 @@ Merge duplicates
37
37
  User.merge_duplicates!(User.find_all_by_status('new')) , :compare=>:email)
38
38
  ```
39
39
 
40
- TODO
41
- ====
42
- - 1 counter test fails on rails 4 (search for pending)
43
-
44
40
  AUTHOR
45
41
  ======
46
42
  [Michael Grosser](grosser.it)</br>
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/mgrosser/code/tools/ar_merge
3
3
  specs:
4
- ar_merge (0.2.0)
4
+ ar_merge (0.3.0)
5
5
  activerecord
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/mgrosser/code/tools/ar_merge
3
3
  specs:
4
- ar_merge (0.2.0)
4
+ ar_merge (0.3.0)
5
5
  activerecord
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/mgrosser/code/tools/ar_merge
3
3
  specs:
4
- ar_merge (0.2.0)
4
+ ar_merge (0.3.0)
5
5
  activerecord
6
6
 
7
7
  GEM
@@ -9,14 +9,14 @@ module ARMerge
9
9
 
10
10
  #merge associations
11
11
  (options[:associations]||[]).each do |association_name|
12
- other.send(association_name).each do |associated|
13
- send(association_name) << associated
14
- end
12
+ send(association_name).concat other.send(association_name)
15
13
 
16
- #update counters, this is very basic/hacky/not secure for customized counters...
17
- counter = "#{association_name}_count"
18
- next unless other.respond_to?(counter) and respond_to?("#{counter}=")
19
- self.class.update_counters(id, counter => other.send(counter))
14
+ if ActiveRecord::VERSION::MAJOR < 4
15
+ #update counters, this is very basic/hacky/not secure for customized counters...
16
+ counter = "#{association_name}_count"
17
+ next unless other.respond_to?(counter) and respond_to?("#{counter}=")
18
+ self.class.update_counters(id, counter => other.send(counter))
19
+ end
20
20
  end
21
21
 
22
22
  #merge attributes
@@ -1,3 +1,3 @@
1
1
  module ARMerge
2
- VERSION = Version = '0.3.0'
2
+ VERSION = Version = '0.3.1'
3
3
  end
@@ -7,7 +7,7 @@ describe ARMerge do
7
7
  @u2 = User.create!(:name=>'y')
8
8
  end
9
9
 
10
- describe :removal do
10
+ describe "removal" do
11
11
  it "removes the merged user" do
12
12
  @user.merge!(@u2)
13
13
  lambda{@u2.reload}.should raise_error(ActiveRecord::RecordNotFound)
@@ -19,7 +19,7 @@ describe ARMerge do
19
19
  end
20
20
  end
21
21
 
22
- describe :attributes do
22
+ describe "attributes" do
23
23
  it "merges and overtakes attributes" do
24
24
  @user.name = ''
25
25
  @user.merge!(@u2,:attributes=>['name'])
@@ -32,7 +32,7 @@ describe ARMerge do
32
32
  end
33
33
  end
34
34
 
35
- describe :associations do
35
+ describe "associations" do
36
36
  before do
37
37
  Movie.delete_all
38
38
  @user.movies << Movie.new
@@ -50,7 +50,6 @@ describe ARMerge do
50
50
  end
51
51
 
52
52
  it "keeps counters in sync" do
53
- pending if ActiveRecord::VERSION::MAJOR == 4
54
53
  user, merged_user = CountingUser.create!, CountingUser.create!
55
54
  user.movies_count.should == 0
56
55
  merged_user.movies << Movie.new
@@ -105,6 +104,5 @@ describe ARMerge do
105
104
  ARMerge::VERSION.should_not == ActiveRecord::VERSION
106
105
  defined?(ActiveRecord::Version).should == nil
107
106
  defined?(ActiveRecord::Base::Version).should == nil
108
- defined?(ActiveRecord::Base::VERSION).should == nil
109
107
  end
110
108
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar_merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-17 00:00:00.000000000 Z
12
+ date: 2013-05-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -66,7 +66,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
66
66
  version: '0'
67
67
  segments:
68
68
  - 0
69
- hash: -2239147174191176291
69
+ hash: -3638300009276460742
70
70
  required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  none: false
72
72
  requirements:
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  version: '0'
76
76
  segments:
77
77
  - 0
78
- hash: -2239147174191176291
78
+ hash: -3638300009276460742
79
79
  requirements: []
80
80
  rubyforge_project:
81
81
  rubygems_version: 1.8.25