flipp 0.0.2.10 → 0.0.2.11
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/flipp.gemspec +1 -1
- data/lib/flipp/flipp.rb +3 -2
- data/lib/flipp/helpers/git_helper.rb +0 -26
- data/lib/flipp/railtie.rb +0 -4
- data/spec/lib/flipp/flipp_spec.rb +1 -1
- data/spec/lib/flipp/helpers/git_helper_spec.rb +0 -28
- metadata +5 -7
- data/lib/flipp/git_hooks/post-checkout +0 -9
- data/lib/flipp/tasks.rb +0 -15
data/Rakefile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
$:.unshift File.expand_path('..', __FILE__)
|
2
|
-
require 'lib/flipp/tasks'
|
2
|
+
# require 'lib/flipp/tasks'
|
data/flipp.gemspec
CHANGED
data/lib/flipp/flipp.rb
CHANGED
@@ -18,8 +18,9 @@ module Flipp
|
|
18
18
|
|
19
19
|
# Try connecting to the new database
|
20
20
|
begin
|
21
|
-
ActiveRecord::Base.establish_connection new_config
|
22
|
-
|
21
|
+
connection = ActiveRecord::Base.establish_connection new_config
|
22
|
+
connection.checkout
|
23
|
+
rescue
|
23
24
|
create_new_db_or_fallback current_config, new_config
|
24
25
|
end
|
25
26
|
end
|
@@ -3,32 +3,6 @@ require 'fileutils'
|
|
3
3
|
module Flipp
|
4
4
|
module Helpers
|
5
5
|
module GitHelper
|
6
|
-
def self.hook_installed?
|
7
|
-
File.exists? File.join(Rails.root, '.git/hooks/post-checkout')
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.install_hook
|
11
|
-
# Check for the .git directory
|
12
|
-
if File.directory? '.git'
|
13
|
-
unless File.directory? '.git/hooks'
|
14
|
-
# Create hooks directory
|
15
|
-
end
|
16
|
-
|
17
|
-
# Copy the file to the git hooks
|
18
|
-
puts 'Moving git hook into place...'
|
19
|
-
FileUtils.cp File.join(File.dirname(__FILE__), '..', 'git_hooks', 'post-checkout'), File.join(Rails.root, '.git/hooks/post-checkout')
|
20
|
-
# And give it execute permissions
|
21
|
-
FileUtils.chmod 0755, '.git/hooks/post-checkout'
|
22
|
-
else
|
23
|
-
puts "Can't find your .git directory. Are you at the root of your project?"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.uninstall_hook
|
28
|
-
puts 'Removing git hook...'
|
29
|
-
FileUtils.rm File.join(Rails.root, '.git/hooks/post-checkout')
|
30
|
-
end
|
31
|
-
|
32
6
|
def self.current_branch
|
33
7
|
`git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* /\1/'`.chomp[1..-1] # Remove control character
|
34
8
|
end
|
data/lib/flipp/railtie.rb
CHANGED
@@ -12,7 +12,7 @@ describe Flipp::Flipp do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'tries to connect to the new database' do
|
15
|
-
ActiveRecord::Base.should_receive(:establish_connection).with(an_instance_of(Hash))
|
15
|
+
ActiveRecord::Base.should_receive(:establish_connection).with(an_instance_of(Hash)).any_number_of_times
|
16
16
|
flipp.switch_databases
|
17
17
|
end
|
18
18
|
|
@@ -6,34 +6,6 @@ describe Flipp::Helpers::GitHelper do
|
|
6
6
|
Rails.stub(:root).and_return(File.join(File.dirname(__FILE__), '..', '..', '..', '..'))
|
7
7
|
end
|
8
8
|
|
9
|
-
describe '#hook_installed?' do
|
10
|
-
it 'returns true when the hook exists' do
|
11
|
-
FileUtils.touch '.git/hooks/post-checkout'
|
12
|
-
Flipp::Helpers::GitHelper.hook_installed?.should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'returns false when the hook does not exists' do
|
16
|
-
FileUtils.rm '.git/hooks/post-checkout'
|
17
|
-
Flipp::Helpers::GitHelper.hook_installed?.should be_false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
describe '#install_hook' do
|
22
|
-
it 'moves the git hook into place' do
|
23
|
-
Flipp::Helpers::GitHelper.install_hook
|
24
|
-
FileUtils.compare_file('.git/hooks/post-checkout', File.expand_path('../../../../../lib/flipp/git_hooks/post-checkout', __FILE__))
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe '#uninstall_hook' do
|
29
|
-
before { Flipp::Helpers::GitHelper.install_hook }
|
30
|
-
|
31
|
-
it 'remove the git hook' do
|
32
|
-
Flipp::Helpers::GitHelper.uninstall_hook
|
33
|
-
Flipp::Helpers::GitHelper.hook_installed?.should be_false
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
9
|
describe '#current_branch' do
|
38
10
|
it 'returns the name of the current git branch' do
|
39
11
|
`git checkout -b new_and_fun_branch`
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flipp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.2.
|
4
|
+
version: 0.0.2.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-13 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70199856728960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70199856728960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: database_exporter
|
27
|
-
requirement: &
|
27
|
+
requirement: &70199856727940 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70199856727940
|
36
36
|
description: To alleviate issues around highly divergent development databases on
|
37
37
|
feature/refactor branches, flipp helps switch databases upon new branch checkouts.
|
38
38
|
email:
|
@@ -47,9 +47,7 @@ files:
|
|
47
47
|
- lib/flipp/flipp.rb
|
48
48
|
- lib/flipp/helpers/git_helper.rb
|
49
49
|
- lib/flipp/railtie.rb
|
50
|
-
- lib/flipp/tasks.rb
|
51
50
|
- lib/flipp.rb
|
52
|
-
- lib/flipp/git_hooks/post-checkout
|
53
51
|
- spec/lib/flipp/flipp_spec.rb
|
54
52
|
- spec/lib/flipp/helpers/git_helper_spec.rb
|
55
53
|
- spec/spec_helper.rb
|
data/lib/flipp/tasks.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), '..', '..', 'lib/flipp/helpers/git_helper')
|
2
|
-
|
3
|
-
namespace :flipp do
|
4
|
-
desc 'Install flipp'
|
5
|
-
task :install do
|
6
|
-
# Move git hook into place
|
7
|
-
Flipp::Helpers::GitHelper.install_hook
|
8
|
-
end
|
9
|
-
|
10
|
-
desc 'Uninstall flipp'
|
11
|
-
task :uninstall do
|
12
|
-
# Remove git hook
|
13
|
-
Flipp::Helpers::GitHelper.uninstall_hook
|
14
|
-
end
|
15
|
-
end
|