farfugl 0.0.3 → 0.0.4

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: 06f69a09026186b20885bb77f1e68839fde9de47
4
- data.tar.gz: 09e54b5957b3204bd8c085a7789289ba4e52d889
3
+ metadata.gz: 7116238b0be5b5478c2cb4707ee16825647d60f5
4
+ data.tar.gz: 1a1467abc1660f2a312a7f75c13937f6ec28779c
5
5
  SHA512:
6
- metadata.gz: 660480eddd6a164ed5e2525e9a4c606b97da4d3c0a3bf835ee0601291d3636737c66e8eec5bf75c23e94ada74b02fd9beca9809b7c1cf056429dc07543373489
7
- data.tar.gz: 61c06f6181516613fa94faa56b4182459312bbddef0f30ccb2251248a11bf6df47386dbccdf4ee721e26961d750c85e5dc553a243c25a12cfb8ee98cf046d8c6
6
+ metadata.gz: a5a7d72d4bdafe2b602acb77490af4a6fdd79752d427cbdd11384e065b42f164761342282ef14493e2760cb201621ad85e2cd70ca6baac00e599c255d1ecc093
7
+ data.tar.gz: 3ae0dca5851be6c93e5ad335cf6adc212063fa7dea3f876a6d0f69472f8d9b604dcb795fb020f7f9686b04f729de9c416ecbe5f86cd13309afaa036af306b92f
data/README.md CHANGED
@@ -9,10 +9,7 @@ application. The simplest solution is to checkout to the commit where each
9
9
  migration was introduced (or last modified) and run each migration from there,
10
10
  but this can be time-consuming and tedious. **Farfugl** automates this process.
11
11
 
12
- Please note that **Farfugl** is still under development and is not completely
13
- stable; always create backups your database before using it.
14
-
15
- ### Install
12
+ ### Setup
16
13
 
17
14
  You can install **Farfugl** on your system like any other gem:
18
15
 
@@ -23,4 +20,7 @@ You can also add `gem 'farfugl'` to your Rails application's Gemfile and run
23
20
 
24
21
  ### Usage
25
22
 
23
+ Please note that **Farfugl** is still under development and *may* not be
24
+ completely stable; always create backups of your database before using it.
25
+
26
26
  rake farfugl
data/farfugl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'farfugl'
3
- s.version = '0.0.3'
3
+ s.version = '0.0.4'
4
4
  s.date = '2014-01-20'
5
5
  s.summary = 'Run old Rails migrations without code dependence problems'
6
6
  s.description = 'Run old Rails migrations without code dependence problems'
data/lib/farfugl.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'farfugl/railtie' if defined? Rails
2
+ require 'git'
2
3
 
3
4
  module Farfugl
4
5
  def self.schema_versions
@@ -20,41 +21,21 @@ module Farfugl
20
21
  migrations
21
22
  end
22
23
 
23
- def self.hash(file)
24
- `git log -n 1 -- #{file}`.split[1]
25
- end
26
-
27
24
  def self.hashes(migrations)
28
- migrations.map { |file| self.hash(file) }
29
- end
30
-
31
- def self.stash
32
- `git stash -u`
33
- end
34
-
35
- def self.unstash
36
- `git stash pop`
37
- end
38
-
39
- def self.current_branch
40
- `git rev-parse --abbrev-ref HEAD`
41
- end
42
-
43
- def self.checkout(destination)
44
- `git checkout -f #{destination}`
25
+ migrations.map { |file| Git.hash(file) }
45
26
  end
46
27
 
47
28
  def self.migrate
48
- self.stash
49
- original_branch = self.current_branch
29
+ Git.stash
30
+ original_branch = Git.current_branch
50
31
  hashes = self.hashes(self.pending_migrations(self.schema_versions))
51
32
  hashes.each do |commit_hash|
52
- self.checkout(commit_hash)
33
+ Git.checkout(commit_hash)
53
34
  Rake::Task['db:migrate'].invoke
54
35
  Rake::Task['db:migrate'].reenable
55
36
  end
56
- self.checkout(original_branch)
57
- self.unstash
37
+ Git.checkout(original_branch)
38
+ Git.unstash
58
39
  Rake::Task['db:schema:dump'].invoke
59
40
  end
60
41
  end
data/lib/git.rb ADDED
@@ -0,0 +1,21 @@
1
+ module Git
2
+ def self.hash(file)
3
+ `git log -n 1 -- #{file}`.split[1]
4
+ end
5
+
6
+ def self.stash
7
+ `git stash -u`
8
+ end
9
+
10
+ def self.unstash
11
+ `git stash pop`
12
+ end
13
+
14
+ def self.current_branch
15
+ `git rev-parse --abbrev-ref HEAD`
16
+ end
17
+
18
+ def self.checkout(destination)
19
+ `git checkout -f #{destination}`
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: farfugl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Haukur Páll Hallvarðsson
@@ -22,6 +22,7 @@ files:
22
22
  - lib/farfugl.rb
23
23
  - lib/farfugl/railtie.rb
24
24
  - lib/farfugl/tasks/farfugl.rb
25
+ - lib/git.rb
25
26
  homepage: https://github.com/hph/farfugl
26
27
  licenses:
27
28
  - MIT