bard 0.8.25 → 0.8.26

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,15 +1,19 @@
1
1
  = BARD gem
2
2
 
3
- This immaculate work of engineering genius allows mere mortals to collaborate with beings of transcendent intelligence like Micah, Michael, and Nick.
3
+ This is a collection of tools designed to ease collaboration within BOTandROSE design.
4
+ It wraps git, capistrano, thor, and rake to make things as simple as:
5
+
6
+ bard push
7
+ bard pull
4
8
 
5
9
  === Requirements
6
- git --version >= 1.6.0
10
+ git --version >= 1.6.4
11
+ rubygems --version >= 1.3.4
12
+ ruby --version == 1.8.7
7
13
 
8
14
  === Joining Bard
9
15
 
10
16
  ==== On any platform:
11
- - gem install gemcutter
12
- - gem tumble
13
17
  - gem install bard
14
18
 
15
19
  ==== On Linux:
@@ -49,12 +53,6 @@
49
53
 
50
54
  == Todos
51
55
 
52
- === Adding Adva to an exising project
53
- - Git clone latest tagged release from github
54
- - Set up integration branch on staging
55
- - Add as submodule
56
- - Bard pull will "just work" (tm)
57
-
58
56
  === Joining an existing project
59
57
  bard join will probably either do all these steps automatically, or help you do them:
60
58
  This list summarizes the existing steps needed to join a project.
@@ -62,7 +60,7 @@
62
60
  $> bard join <project-name>
63
61
 
64
62
  - Clone the project
65
- - (git clone staging@staging.botandrose.com:<project-name>)
63
+ - (git clone git@git.botandrose.com:<project-name>.git)
66
64
  - Init and update submodules
67
65
 
68
66
  - Set up local environment:
@@ -107,15 +105,8 @@
107
105
  $> rake db:create
108
106
  $> rake db:migrate
109
107
 
110
- - Set up cap:
111
- $> capify .
112
- Add line to Capfile:
113
- load '../cap.tasks'
114
- Have cap.tasks.rb in your root work directory (eg. $HOME/work/bard )
115
-
116
- - Seed database from staging
117
- $> cap data:pull:staging
118
-
108
+ - Seed database from staging or production
109
+ $> bard data
119
110
 
120
111
  === Note on Patches/Pull Requests
121
112
 
@@ -125,7 +116,7 @@
125
116
  future version unintentionally.
126
117
  * Commit, do not mess with rakefile, version, or history.
127
118
  (if you want to have your own version, that is fine but
128
- bump version in a commit by itself I can ignore when I pull)
119
+ bump version in a commit by itself I can ignore when I pull)
129
120
  * Send me a pull request. Bonus points for topic branches.
130
121
 
131
122
  == Copyright
data/Rakefile CHANGED
@@ -26,6 +26,8 @@ rescue LoadError
26
26
  end
27
27
 
28
28
  task :release do
29
+ system "git push"
30
+ system "git push github"
29
31
  Rake::Task["gemcutter:release"].invoke
30
32
  end
31
33
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.25
1
+ 0.8.26
data/bard.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{bard}
8
- s.version = "0.8.25"
8
+ s.version = "0.8.26"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Micah Geisel", "Nick Hogle"]
12
- s.date = %q{2010-03-06}
12
+ s.date = %q{2010-03-09}
13
13
  s.default_executable = %q{bard}
14
14
  s.description = %q{This immaculate work of engineering genius allows mere mortals to collaborate with beings of transcendent intelligence like Micah, Michael, and Nick.}
15
15
  s.email = %q{info@botandrose.com}
data/lib/bard.rb CHANGED
@@ -38,10 +38,10 @@ class Bard < Thor
38
38
  check_project project_path if project_path
39
39
  end
40
40
 
41
- desc "data", "copy production database down to your local machine"
42
- def data
41
+ desc "data [ROLE=production]", "copy database and assets down to your local machine from ROLE"
42
+ def data(role = "production")
43
43
  ensure_sanity!(true)
44
- exec "cap data:pull"
44
+ exec "cap data:pull ROLES=#{role}"
45
45
  end
46
46
 
47
47
  method_options %w( verbose -v ) => :boolean
@@ -3,29 +3,15 @@ Capistrano::Configuration.instance(:must_exist).load do
3
3
 
4
4
  namespace "data" do
5
5
  namespace "pull" do
6
- desc "pull data from production"
7
- task :default, :roles => :production do
8
- data_pull :production
9
- end
10
- task :staging, :roles => :staging do
11
- data_pull :staging
6
+ desc "pull data"
7
+ task "default" do
8
+ run "cd #{application} && rake db:dump && gzip -9f db/data.sql"
9
+ transfer :down, "#{application}/db/data.sql.gz", "db/data.sql.gz"
10
+ system "gunzip -f db/data.sql.gz && rake db:load"
12
11
  end
13
12
  end
14
13
  end
15
14
 
16
- def data_pull(env)
17
- config = YAML::load(File.open("config/database.yml"))
18
- source = config[env.to_s]
19
- target = config[ENV['RAILS_ENV'] || "development"]
20
- run "cd #{application} && mysqldump -u#{source["username"]} --password=#{source["password"]} '#{source["database"]}' > db/data.sql && gzip -9f db/data.sql"
21
- transfer :down, "#{application}/db/data.sql.gz", "db/data.sql.gz"
22
- run "cd #{application} && rm db/data.sql.gz"
23
- system "gunzip -f db/data.sql.gz"
24
- system "echo 'DROP DATABASE `#{target["database"]}`; CREATE DATABASE `#{target["database"]}`;' | mysql -u#{target["username"]} --password=#{target["password"]}"
25
- system "mysql -u#{target["username"]} --password=#{target["password"]} '#{target["database"]}' < db/data.sql"
26
- # system "rm db/data.sql"
27
- end
28
-
29
15
  desc "push app from staging to production"
30
16
  task :deploy, :roles => :production do
31
17
  system "git push github" if `git remote` =~ /\bgithub\b/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.25
4
+ version: 0.8.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2010-03-06 00:00:00 -08:00
13
+ date: 2010-03-09 00:00:00 -08:00
14
14
  default_executable: bard
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency