active_git 0.0.5 → 0.0.6

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.
data/active_git.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
16
  s.require_paths = ["lib"]
17
17
 
18
- s.add_dependency 'activerecord', '>= 3.0.0'
18
+ s.add_dependency 'activerecord', '~> 3.2'
19
19
  s.add_dependency 'git_wrapper', '~> 1.1'
20
20
  s.add_dependency 'activerecord-import'
21
21
  s.add_dependency 'easy_diff'
data/lib/active_git.rb CHANGED
@@ -3,6 +3,7 @@ require 'git_wrapper'
3
3
  require 'activerecord-import'
4
4
  require 'json'
5
5
  require 'easy_diff'
6
+ require 'set'
6
7
 
7
8
  require 'active_git/version'
8
9
  require 'active_git/synchronizer'
@@ -25,15 +26,15 @@ module ActiveGit
25
26
  extend Commands
26
27
 
27
28
  def self.configuration
28
- @@configuration ||= Configuration.new
29
+ @configuration ||= Configuration.new
29
30
  end
30
31
 
31
32
  def self.configure
32
- yield(configuration)
33
+ yield configuration
33
34
  end
34
35
 
35
36
  def self.models
36
- @@models ||= []
37
+ @models ||= Set.new
37
38
  end
38
39
 
39
40
  def self.repository
@@ -41,7 +42,31 @@ module ActiveGit
41
42
  @repository
42
43
  end
43
44
 
44
- end
45
+ def self.synchronize(*events)
46
+ if @batch_mode
47
+ enqueue events
48
+ else
49
+ Synchronizer.synchronize events
50
+ end
51
+ end
52
+
53
+ def self.batch(&block)
54
+ @batch_mode = true
55
+ begin
56
+ yield
57
+ Synchronizer.synchronize @events
58
+ ensure
59
+ @batch_mode = false
60
+ @events.clear
61
+ end
62
+ end
45
63
 
46
- ActiveRecord::Base.send :extend, ActiveGit::ActiveRecord::ClassMethods
64
+ private
65
+
66
+ def self.enqueue(*events)
67
+ @events = (@events || []) + events
68
+ end
69
+
70
+ end
47
71
 
72
+ ActiveRecord::Base.send :extend, ActiveGit::ActiveRecord::ClassMethods
@@ -7,11 +7,11 @@ module ActiveGit
7
7
  ActiveGit.models << self
8
8
 
9
9
  after_save do |record|
10
- Synchronizer.synchronize FileSave.new(record)
10
+ ActiveGit.synchronize FileSave.new(record)
11
11
  end
12
12
 
13
13
  after_destroy do |record|
14
- Synchronizer.synchronize FileDelete.new(record)
14
+ ActiveGit.synchronize FileDelete.new(record)
15
15
  end
16
16
 
17
17
  def from_json(json)
@@ -12,7 +12,7 @@ module ActiveGit
12
12
  end
13
13
 
14
14
  def run
15
- unless bulk_inserts.empty?
15
+ if bulk_inserts.any?
16
16
  define_job do
17
17
  bulk_inserts.each do |model, records|
18
18
  ActiveGit.configuration.logger.debug "[ActiveGit] Inserting #{model.model_name} models"
@@ -23,10 +23,9 @@ module ActiveGit
23
23
  end
24
24
 
25
25
  ::ActiveRecord::Base.transaction do
26
- jobs.each do |job|
27
- job.call
28
- end
26
+ jobs.each(&:call)
29
27
  end
28
+
30
29
  ActiveGit.add_all
31
30
  end
32
31
 
@@ -1,3 +1,3 @@
1
1
  module ActiveGit
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -18,7 +18,7 @@ describe ActiveGit::ActiveRecord do
18
18
  it 'Create' do
19
19
  language = Language.create! name: 'Spanish'
20
20
 
21
- File.exist?(git_filename(language)).should be_true
21
+ File.exist?(git_filename(language)).should be true
22
22
 
23
23
  json = JSON.parse(@file_helper.read_file(git_filename(language)))
24
24
 
@@ -41,11 +41,11 @@ describe ActiveGit::ActiveRecord do
41
41
  it 'Destroy' do
42
42
  language = Language.create! name: 'Spanish'
43
43
 
44
- File.exist?(git_filename(language)).should be_true
44
+ File.exist?(git_filename(language)).should be true
45
45
 
46
46
  language.destroy
47
47
 
48
- File.exist?(git_filename(language)).should be_false
48
+ File.exist?(git_filename(language)).should be false
49
49
  end
50
50
 
51
51
  it 'Load from json' do
@@ -0,0 +1,141 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveGit do
4
+
5
+ before :each do
6
+ @file_helper = FileHelper.new
7
+ end
8
+
9
+ after :each do
10
+ @file_helper.remove_temp_folders
11
+ end
12
+
13
+ context 'Manual synchornization' do
14
+
15
+ it 'Single model' do
16
+ argentina = Country.create! name: 'Argentina'
17
+ brasil = Country.create! name: 'Brasil'
18
+
19
+ working_path = @file_helper.create_temp_folder
20
+
21
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
22
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
23
+
24
+ ActiveGit.synchronize ActiveGit::FileSave.new(argentina, working_path)
25
+
26
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be true
27
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
28
+
29
+ ActiveGit.synchronize ActiveGit::FileSave.new(brasil, working_path)
30
+
31
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be true
32
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be true
33
+ end
34
+
35
+ it 'Batch mode' do
36
+ argentina = Country.create! name: 'Argentina'
37
+ brasil = Country.create! name: 'Brasil'
38
+
39
+ working_path = @file_helper.create_temp_folder
40
+
41
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
42
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
43
+
44
+ ActiveGit.batch do
45
+ ActiveGit.synchronize ActiveGit::FileSave.new(argentina, working_path)
46
+ ActiveGit.synchronize ActiveGit::FileSave.new(brasil, working_path)
47
+
48
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
49
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
50
+ end
51
+
52
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be true
53
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be true
54
+ end
55
+
56
+ it 'Handle exceptions' do
57
+ argentina = Country.create! name: 'Argentina'
58
+ brasil = Country.create! name: 'Brasil'
59
+
60
+ working_path = @file_helper.create_temp_folder
61
+
62
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
63
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
64
+
65
+ expect do
66
+ ActiveGit.batch do
67
+ ActiveGit.synchronize ActiveGit::FileSave.new(argentina, working_path)
68
+ ActiveGit.synchronize ActiveGit::FileSave.new(brasil, working_path)
69
+ raise 'Force error'
70
+ end
71
+ end.to raise_error
72
+
73
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
74
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
75
+
76
+ uruguay = Country.create! name: 'Uruguay'
77
+ ActiveGit.batch do
78
+ ActiveGit.synchronize ActiveGit::FileSave.new(uruguay, working_path)
79
+ end
80
+
81
+ File.exist?("#{working_path}/countries/#{argentina.id}.json").should be false
82
+ File.exist?("#{working_path}/countries/#{brasil.id}.json").should be false
83
+ File.exist?("#{working_path}/countries/#{uruguay.id}.json").should be true
84
+ end
85
+
86
+ end
87
+
88
+ context 'ActiveRecord synchornization' do
89
+
90
+ before :each do
91
+ ActiveGit.configuration.working_path = @file_helper.create_temp_folder
92
+ end
93
+
94
+ it 'Single model' do
95
+ language = Language.create! name: 'Spanish'
96
+
97
+ File.exist?(git_filename(language)).should be true
98
+ end
99
+
100
+ it 'Batch mode' do
101
+ spanish = nil
102
+ english = nil
103
+
104
+ ActiveGit.batch do
105
+ spanish = Language.create! name: 'Spanish'
106
+ english = Language.create! name: 'English'
107
+
108
+ File.exist?(git_filename(spanish)).should be false
109
+ File.exist?(git_filename(english)).should be false
110
+ end
111
+
112
+ File.exist?(git_filename(spanish)).should be true
113
+ File.exist?(git_filename(english)).should be true
114
+ end
115
+
116
+ it 'Handle exceptions' do
117
+ spanish = nil
118
+ english = nil
119
+ portuguese = nil
120
+
121
+ expect do
122
+ ActiveGit.batch do
123
+ spanish = Language.create! name: 'Spanish'
124
+ english = Language.create! name: 'English'
125
+
126
+ raise 'Force error'
127
+ end
128
+ end.to raise_error
129
+
130
+ ActiveGit.batch do
131
+ portuguese = Language.create! name: 'Portuguese'
132
+ end
133
+
134
+ File.exist?(git_filename(spanish)).should be false
135
+ File.exist?(git_filename(english)).should be false
136
+ File.exist?(git_filename(portuguese)).should be true
137
+ end
138
+
139
+ end
140
+
141
+ end
@@ -25,12 +25,12 @@ describe ActiveGit::Commands do
25
25
 
26
26
  ActiveGit.dump_db
27
27
 
28
- File.exist?("#{ActiveGit.configuration.working_path}/test.txt").should be_false
28
+ File.exist?("#{ActiveGit.configuration.working_path}/test.txt").should be false
29
29
 
30
30
  Dir.glob("#{git_dirname(Language)}/*.json").should have(2).items
31
31
 
32
32
  languages.each do |language|
33
- File.exist?(git_filename(language)).should be_true
33
+ File.exist?(git_filename(language)).should be true
34
34
  json = JSON.parse(@file_helper.read_file(git_filename(language)))
35
35
  json['id'].should eq language.id
36
36
  json['name'].should eq language.name
@@ -43,17 +43,17 @@ describe ActiveGit::Commands do
43
43
 
44
44
  Dir["#{ActiveGit.configuration.working_path}/*"].each { |f| FileUtils.rm_rf f }
45
45
 
46
- Dir.exists?("#{ActiveGit.configuration.working_path}/languages").should be_false
47
- File.exists?("#{ActiveGit.configuration.working_path}/languages/#{language.id}.json").should be_false
48
- Dir.exists?("#{ActiveGit.configuration.working_path}/countries").should be_false
49
- File.exists?("#{ActiveGit.configuration.working_path}/countries/#{country.id}.json").should be_false
46
+ Dir.exists?("#{ActiveGit.configuration.working_path}/languages").should be false
47
+ File.exists?("#{ActiveGit.configuration.working_path}/languages/#{language.id}.json").should be false
48
+ Dir.exists?("#{ActiveGit.configuration.working_path}/countries").should be false
49
+ File.exists?("#{ActiveGit.configuration.working_path}/countries/#{country.id}.json").should be false
50
50
 
51
51
  ActiveGit.dump_db Language
52
52
 
53
- Dir.exists?("#{ActiveGit.configuration.working_path}/languages").should be_true
54
- File.exists?("#{ActiveGit.configuration.working_path}/languages/#{language.id}.json").should be_true
55
- Dir.exists?("#{ActiveGit.configuration.working_path}/countries").should be_false
56
- File.exists?("#{ActiveGit.configuration.working_path}/countries/#{country.id}.json").should be_false
53
+ Dir.exists?("#{ActiveGit.configuration.working_path}/languages").should be true
54
+ File.exists?("#{ActiveGit.configuration.working_path}/languages/#{language.id}.json").should be true
55
+ Dir.exists?("#{ActiveGit.configuration.working_path}/countries").should be false
56
+ File.exists?("#{ActiveGit.configuration.working_path}/countries/#{country.id}.json").should be false
57
57
  end
58
58
 
59
59
  it 'Load all files to db' do
@@ -65,7 +65,7 @@ describe ActiveGit::Commands do
65
65
  Language.first.delete
66
66
 
67
67
  languages.each do |language|
68
- File.exist?(git_filename(language)).should be_true
68
+ File.exist?(git_filename(language)).should be true
69
69
  end
70
70
 
71
71
  ActiveGit.load_files
@@ -81,8 +81,8 @@ describe ActiveGit::Commands do
81
81
  language = Language.create! name: 'Spanish'
82
82
  brand = Brand.create! name: 'Coca Cola'
83
83
 
84
- File.exists?(git_filename(language)).should be_true
85
- File.exists?(git_filename(brand)).should be_true
84
+ File.exists?(git_filename(language)).should be true
85
+ File.exists?(git_filename(brand)).should be true
86
86
 
87
87
  language.delete
88
88
  brand.delete
@@ -138,12 +138,12 @@ describe ActiveGit::Commands do
138
138
 
139
139
  Language.count.should eq 2
140
140
 
141
- ActiveGit.pull('bare').should be_true
141
+ ActiveGit.pull('bare').should be true
142
142
 
143
143
  ActiveGit.log.first.subject.should eq 'Remote commit'
144
144
  Language.count.should eq 3
145
145
  ['Spanish 2', 'Portuguese', 'French'].each do |lang_name|
146
- File.exist?(git_filename(Language.find_by_name(lang_name))).should be_true
146
+ File.exist?(git_filename(Language.find_by_name(lang_name))).should be true
147
147
  end
148
148
  end
149
149
 
@@ -177,14 +177,14 @@ describe ActiveGit::Commands do
177
177
  ActiveGit.commit_all 'Commit 1'
178
178
 
179
179
  Language.count.should eq 2
180
- File.exist?(git_filename(spanish)).should be_true
181
- File.exist?(git_filename(english)).should be_true
180
+ File.exist?(git_filename(spanish)).should be true
181
+ File.exist?(git_filename(english)).should be true
182
182
 
183
183
  ActiveGit.reset ActiveGit.log.last.commit_hash
184
184
 
185
185
  Language.count.should eq 1
186
- File.exist?(git_filename(spanish)).should be_true
187
- File.exist?(git_filename(english)).should be_false
186
+ File.exist?(git_filename(spanish)).should be true
187
+ File.exist?(git_filename(english)).should be false
188
188
  end
189
189
 
190
190
  it 'Reset to HEAD' do
@@ -194,14 +194,14 @@ describe ActiveGit::Commands do
194
194
  english = Language.create! name: 'English'
195
195
 
196
196
  Language.count.should eq 2
197
- File.exist?(git_filename(spanish)).should be_true
198
- File.exist?(git_filename(english)).should be_true
197
+ File.exist?(git_filename(spanish)).should be true
198
+ File.exist?(git_filename(english)).should be true
199
199
 
200
200
  ActiveGit.reset
201
201
 
202
202
  Language.count.should eq 1
203
- File.exist?(git_filename(spanish)).should be_true
204
- File.exist?(git_filename(english)).should be_false
203
+ File.exist?(git_filename(spanish)).should be true
204
+ File.exist?(git_filename(english)).should be false
205
205
  end
206
206
 
207
207
  it 'Resolve version conflicts' do
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe 'ActiveGit::Synchronizers' do
3
+ describe ActiveGit::Synchronizer do
4
4
 
5
5
  before :each do
6
6
  @file_helper = FileHelper.new
@@ -17,11 +17,11 @@ describe 'ActiveGit::Synchronizers' do
17
17
 
18
18
  working_path = @file_helper.create_temp_folder
19
19
 
20
- File.exist?("#{working_path}/countries/#{country.id}.json").should be_false
20
+ File.exist?("#{working_path}/countries/#{country.id}.json").should be false
21
21
 
22
22
  ActiveGit::Synchronizer.synchronize ActiveGit::FileSave.new(country, working_path)
23
23
 
24
- File.exist?("#{working_path}/countries/#{country.id}.json").should be_true
24
+ File.exist?("#{working_path}/countries/#{country.id}.json").should be true
25
25
  end
26
26
 
27
27
  it 'Update' do
@@ -51,7 +51,7 @@ describe 'ActiveGit::Synchronizers' do
51
51
 
52
52
  ActiveGit::Synchronizer.synchronize ActiveGit::FileDelete.new(country, working_path)
53
53
 
54
- File.exist?("#{working_path}/countries/#{country.id}.json").should be_false
54
+ File.exist?("#{working_path}/countries/#{country.id}.json").should be false
55
55
  end
56
56
 
57
57
  end
metadata CHANGED
@@ -1,190 +1,176 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_git
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.5
4
+ version: 0.0.6
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Gabriel Naiman
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-02 00:00:00.000000000 Z
12
+ date: 2013-08-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- version_requirements: !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
17
18
  requirements:
18
- - - ! '>='
19
+ - - ~>
19
20
  - !ruby/object:Gem::Version
20
- version: 3.0.0
21
+ version: '3.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
21
25
  none: false
22
- requirement: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ! '>='
27
+ - - ~>
25
28
  - !ruby/object:Gem::Version
26
- version: 3.0.0
27
- none: false
28
- prerelease: false
29
- type: :runtime
29
+ version: '3.2'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: git_wrapper
32
- version_requirements: !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
33
34
  requirements:
34
35
  - - ~>
35
36
  - !ruby/object:Gem::Version
36
37
  version: '1.1'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
37
41
  none: false
38
- requirement: !ruby/object:Gem::Requirement
39
42
  requirements:
40
43
  - - ~>
41
44
  - !ruby/object:Gem::Version
42
45
  version: '1.1'
43
- none: false
44
- prerelease: false
45
- type: :runtime
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: activerecord-import
48
- version_requirements: !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
49
50
  requirements:
50
51
  - - ! '>='
51
52
  - !ruby/object:Gem::Version
52
- version: !binary |-
53
- MA==
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
54
57
  none: false
55
- requirement: !ruby/object:Gem::Requirement
56
58
  requirements:
57
59
  - - ! '>='
58
60
  - !ruby/object:Gem::Version
59
- version: !binary |-
60
- MA==
61
- none: false
62
- prerelease: false
63
- type: :runtime
61
+ version: '0'
64
62
  - !ruby/object:Gem::Dependency
65
63
  name: easy_diff
66
- version_requirements: !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
67
66
  requirements:
68
67
  - - ! '>='
69
68
  - !ruby/object:Gem::Version
70
- version: !binary |-
71
- MA==
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
72
73
  none: false
73
- requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: !binary |-
78
- MA==
79
- none: false
80
- prerelease: false
81
- type: :runtime
77
+ version: '0'
82
78
  - !ruby/object:Gem::Dependency
83
79
  name: bundler
84
- version_requirements: !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
85
82
  requirements:
86
83
  - - ~>
87
84
  - !ruby/object:Gem::Version
88
85
  version: '1.3'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
- requirement: !ruby/object:Gem::Requirement
91
90
  requirements:
92
91
  - - ~>
93
92
  - !ruby/object:Gem::Version
94
93
  version: '1.3'
95
- none: false
96
- prerelease: false
97
- type: :development
98
94
  - !ruby/object:Gem::Dependency
99
95
  name: rake
100
- version_requirements: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ! '>='
103
- - !ruby/object:Gem::Version
104
- version: !binary |-
105
- MA==
106
- none: false
107
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
108
98
  requirements:
109
99
  - - ! '>='
110
100
  - !ruby/object:Gem::Version
111
- version: !binary |-
112
- MA==
113
- none: false
114
- prerelease: false
101
+ version: '0'
115
102
  type: :development
116
- - !ruby/object:Gem::Dependency
117
- name: rspec
103
+ prerelease: false
118
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
119
106
  requirements:
120
107
  - - ! '>='
121
108
  - !ruby/object:Gem::Version
122
- version: !binary |-
123
- MA==
124
- none: false
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
125
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
126
114
  requirements:
127
115
  - - ! '>='
128
116
  - !ruby/object:Gem::Version
129
- version: !binary |-
130
- MA==
131
- none: false
132
- prerelease: false
117
+ version: '0'
133
118
  type: :development
134
- - !ruby/object:Gem::Dependency
135
- name: simplecov
119
+ prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
137
122
  requirements:
138
123
  - - ! '>='
139
124
  - !ruby/object:Gem::Version
140
- version: !binary |-
141
- MA==
142
- none: false
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: simplecov
143
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
144
130
  requirements:
145
131
  - - ! '>='
146
132
  - !ruby/object:Gem::Version
147
- version: !binary |-
148
- MA==
149
- none: false
150
- prerelease: false
133
+ version: '0'
151
134
  type: :development
152
- - !ruby/object:Gem::Dependency
153
- name: activerecord-jdbcsqlite3-adapter
135
+ prerelease: false
154
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
155
138
  requirements:
156
139
  - - ! '>='
157
140
  - !ruby/object:Gem::Version
158
- version: !binary |-
159
- MA==
160
- none: false
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: sqlite3
161
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
162
146
  requirements:
163
147
  - - ! '>='
164
148
  - !ruby/object:Gem::Version
165
- version: !binary |-
166
- MA==
167
- none: false
168
- prerelease: false
149
+ version: '0'
169
150
  type: :development
170
- - !ruby/object:Gem::Dependency
171
- name: activerecord-jdbcpostgresql-adapter
151
+ prerelease: false
172
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
173
154
  requirements:
174
155
  - - ! '>='
175
156
  - !ruby/object:Gem::Version
176
- version: !binary |-
177
- MA==
178
- none: false
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: pg
179
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
180
162
  requirements:
181
163
  - - ! '>='
182
164
  - !ruby/object:Gem::Version
183
- version: !binary |-
184
- MA==
185
- none: false
186
- prerelease: false
165
+ version: '0'
187
166
  type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
188
174
  description: DB and GIT synchronization via ActiveRecord and GitWrapper
189
175
  email:
190
176
  - gabynaiman@gmail.com
@@ -218,6 +204,7 @@ files:
218
204
  - lib/active_git/synchronizer.rb
219
205
  - lib/active_git/version.rb
220
206
  - spec/active_record_extension_spec.rb
207
+ - spec/batch_synchronization_spec.rb
221
208
  - spec/commands_spec.rb
222
209
  - spec/coverage_helper.rb
223
210
  - spec/inflector_spec.rb
@@ -234,38 +221,37 @@ files:
234
221
  - spec/synchronization_spec.rb
235
222
  homepage: https://github.com/gabynaiman/active_git
236
223
  licenses: []
237
- post_install_message:
224
+ post_install_message:
238
225
  rdoc_options: []
239
226
  require_paths:
240
227
  - lib
241
228
  required_ruby_version: !ruby/object:Gem::Requirement
229
+ none: false
242
230
  requirements:
243
231
  - - ! '>='
244
232
  - !ruby/object:Gem::Version
233
+ version: '0'
245
234
  segments:
246
235
  - 0
247
- hash: 2
248
- version: !binary |-
249
- MA==
250
- none: false
236
+ hash: -181325600156632224
251
237
  required_rubygems_version: !ruby/object:Gem::Requirement
238
+ none: false
252
239
  requirements:
253
240
  - - ! '>='
254
241
  - !ruby/object:Gem::Version
242
+ version: '0'
255
243
  segments:
256
244
  - 0
257
- hash: 2
258
- version: !binary |-
259
- MA==
260
- none: false
245
+ hash: -181325600156632224
261
246
  requirements: []
262
- rubyforge_project:
263
- rubygems_version: 1.8.24
264
- signing_key:
247
+ rubyforge_project:
248
+ rubygems_version: 1.8.25
249
+ signing_key:
265
250
  specification_version: 3
266
251
  summary: DB and GIT synchronization via ActiveRecord and GitWrapper
267
252
  test_files:
268
253
  - spec/active_record_extension_spec.rb
254
+ - spec/batch_synchronization_spec.rb
269
255
  - spec/commands_spec.rb
270
256
  - spec/coverage_helper.rb
271
257
  - spec/inflector_spec.rb