bard 0.16.1 → 0.17.0
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/VERSION +1 -1
- data/bard.gemspec +0 -2
- data/lib/bard.rb +0 -5
- data/lib/bard/check.rb +1 -31
- metadata +15 -47
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.17.0
|
data/bard.gemspec
CHANGED
|
@@ -18,8 +18,6 @@ Gem::Specification.new do |gem|
|
|
|
18
18
|
gem.add_dependency "capistrano", "2.5.10"
|
|
19
19
|
gem.add_dependency "rvm-capistrano"
|
|
20
20
|
gem.add_dependency "grit", "1.1.1"
|
|
21
|
-
gem.add_dependency "git_remote_branch", ">=0.3.0"
|
|
22
|
-
gem.add_dependency "versionomy", ">=0.3.0"
|
|
23
21
|
gem.add_dependency "systemu", ">=1.2.0"
|
|
24
22
|
gem.add_dependency "term-ansicolor", ">=1.0.3"
|
|
25
23
|
gem.add_dependency "bard-rake", ">=0.1.1"
|
data/lib/bard.rb
CHANGED
|
@@ -3,7 +3,6 @@ require 'rubygems'
|
|
|
3
3
|
require 'term/ansicolor'
|
|
4
4
|
require 'net/http'
|
|
5
5
|
require 'systemu'
|
|
6
|
-
require 'versionomy'
|
|
7
6
|
require 'grit'
|
|
8
7
|
require 'thor'
|
|
9
8
|
|
|
@@ -23,7 +22,6 @@ class Bard < Thor
|
|
|
23
22
|
desc "install [PROJECT NAME]", "install and bootstrap existing project"
|
|
24
23
|
def install(project_name)
|
|
25
24
|
auto_update!
|
|
26
|
-
check_dependencies
|
|
27
25
|
command = <<-BASH
|
|
28
26
|
git clone git@git.botandrose.com:#{project_name}.git
|
|
29
27
|
|
|
@@ -51,7 +49,6 @@ EOF
|
|
|
51
49
|
desc "create [PROJECT_NAME]", "create new project"
|
|
52
50
|
def create(project_name)
|
|
53
51
|
auto_update!
|
|
54
|
-
check_dependencies
|
|
55
52
|
template_path = File.expand_path(File.dirname(__FILE__) + "/bard/template.rb")
|
|
56
53
|
command = "rails --template=#{template_path} #{project_name}"
|
|
57
54
|
exec command
|
|
@@ -62,7 +59,6 @@ EOF
|
|
|
62
59
|
def check(project_path = nil)
|
|
63
60
|
project_path = "." if project_path.nil? and File.directory? ".git" and File.exist? "config/environment.rb"
|
|
64
61
|
auto_update!
|
|
65
|
-
check_dependencies
|
|
66
62
|
check_project project_path if project_path
|
|
67
63
|
end
|
|
68
64
|
|
|
@@ -204,7 +200,6 @@ EOF
|
|
|
204
200
|
|
|
205
201
|
def ensure_sanity!(dirty_ok = false)
|
|
206
202
|
auto_update!
|
|
207
|
-
check_dependencies
|
|
208
203
|
raise NotInProjectRootError unless File.directory? ".git"
|
|
209
204
|
raise OnMasterBranchError if current_branch == "master"
|
|
210
205
|
raise WorkingTreeDirtyError unless `git status`.include? "working directory clean" unless dirty_ok
|
data/lib/bard/check.rb
CHANGED
|
@@ -2,7 +2,7 @@ class Bard < Thor
|
|
|
2
2
|
private
|
|
3
3
|
def auto_update!
|
|
4
4
|
required = `curl -s http://rubygems.org/api/v1/gems/bard.json`.match(/"version":"([0-9.]+)"/)[1]
|
|
5
|
-
if
|
|
5
|
+
if Bard::VERSION != required
|
|
6
6
|
original_command = [ENV["_"], @_invocations[Bard].first, ARGV].flatten.join(" ")
|
|
7
7
|
puts "bard gem is out of date... updating to new version"
|
|
8
8
|
exec "gem install bard && #{original_command}"
|
|
@@ -12,36 +12,6 @@ class Bard < Thor
|
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
def check_dependencies
|
|
16
|
-
required = {
|
|
17
|
-
'git' => '1.6.4',
|
|
18
|
-
'rubygems' => '1.3.4',
|
|
19
|
-
'ruby' => '1.8.7'
|
|
20
|
-
}
|
|
21
|
-
actual = {
|
|
22
|
-
'git' => `git --version`[/[0-9.]+/],
|
|
23
|
-
'rubygems' => Gem::VERSION,
|
|
24
|
-
'ruby' => RUBY_VERSION
|
|
25
|
-
}
|
|
26
|
-
help = {
|
|
27
|
-
'git' => 'please visit http://git-scm.com/download and install the appropriate package for your architecture',
|
|
28
|
-
'rubygems' => 'please type `gem update --system` to update',
|
|
29
|
-
'ruby' => 'ruby 1.8.7 is required for all projects now. talk to micah for upgrade help'
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
errors = []
|
|
33
|
-
%w(git rubygems ruby).each do |pkg|
|
|
34
|
-
if Versionomy.parse(actual[pkg]) < Versionomy.parse(required[pkg])
|
|
35
|
-
errors << red("#{pkg.ljust(9)} (#{actual[pkg]}) ... NEED (#{required[pkg]})\n #{help[pkg]}")
|
|
36
|
-
elsif options.verbose?
|
|
37
|
-
puts green("#{pkg.ljust(9)} (#{actual[pkg]})")
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
if not errors.empty?
|
|
41
|
-
fatal "#{errors.length} problems detected:\n #{errors.join("\n ")}"
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
15
|
def check_project(project)
|
|
46
16
|
errors = []
|
|
47
17
|
Dir.chdir project do
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bard
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 91
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
version: 0.
|
|
8
|
+
- 17
|
|
9
|
+
- 0
|
|
10
|
+
version: 0.17.0
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Micah Geisel
|
|
@@ -16,7 +16,7 @@ autorequire:
|
|
|
16
16
|
bindir: bin
|
|
17
17
|
cert_chain: []
|
|
18
18
|
|
|
19
|
-
date: 2013-01-
|
|
19
|
+
date: 2013-01-27 00:00:00 Z
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
22
22
|
name: thor
|
|
@@ -80,42 +80,10 @@ dependencies:
|
|
|
80
80
|
version: 1.1.1
|
|
81
81
|
type: :runtime
|
|
82
82
|
version_requirements: *id004
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: git_remote_branch
|
|
85
|
-
prerelease: false
|
|
86
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
|
87
|
-
none: false
|
|
88
|
-
requirements:
|
|
89
|
-
- - ">="
|
|
90
|
-
- !ruby/object:Gem::Version
|
|
91
|
-
hash: 19
|
|
92
|
-
segments:
|
|
93
|
-
- 0
|
|
94
|
-
- 3
|
|
95
|
-
- 0
|
|
96
|
-
version: 0.3.0
|
|
97
|
-
type: :runtime
|
|
98
|
-
version_requirements: *id005
|
|
99
|
-
- !ruby/object:Gem::Dependency
|
|
100
|
-
name: versionomy
|
|
101
|
-
prerelease: false
|
|
102
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
|
103
|
-
none: false
|
|
104
|
-
requirements:
|
|
105
|
-
- - ">="
|
|
106
|
-
- !ruby/object:Gem::Version
|
|
107
|
-
hash: 19
|
|
108
|
-
segments:
|
|
109
|
-
- 0
|
|
110
|
-
- 3
|
|
111
|
-
- 0
|
|
112
|
-
version: 0.3.0
|
|
113
|
-
type: :runtime
|
|
114
|
-
version_requirements: *id006
|
|
115
83
|
- !ruby/object:Gem::Dependency
|
|
116
84
|
name: systemu
|
|
117
85
|
prerelease: false
|
|
118
|
-
requirement: &
|
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
119
87
|
none: false
|
|
120
88
|
requirements:
|
|
121
89
|
- - ">="
|
|
@@ -127,11 +95,11 @@ dependencies:
|
|
|
127
95
|
- 0
|
|
128
96
|
version: 1.2.0
|
|
129
97
|
type: :runtime
|
|
130
|
-
version_requirements: *
|
|
98
|
+
version_requirements: *id005
|
|
131
99
|
- !ruby/object:Gem::Dependency
|
|
132
100
|
name: term-ansicolor
|
|
133
101
|
prerelease: false
|
|
134
|
-
requirement: &
|
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
135
103
|
none: false
|
|
136
104
|
requirements:
|
|
137
105
|
- - ">="
|
|
@@ -143,11 +111,11 @@ dependencies:
|
|
|
143
111
|
- 3
|
|
144
112
|
version: 1.0.3
|
|
145
113
|
type: :runtime
|
|
146
|
-
version_requirements: *
|
|
114
|
+
version_requirements: *id006
|
|
147
115
|
- !ruby/object:Gem::Dependency
|
|
148
116
|
name: bard-rake
|
|
149
117
|
prerelease: false
|
|
150
|
-
requirement: &
|
|
118
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
151
119
|
none: false
|
|
152
120
|
requirements:
|
|
153
121
|
- - ">="
|
|
@@ -159,11 +127,11 @@ dependencies:
|
|
|
159
127
|
- 1
|
|
160
128
|
version: 0.1.1
|
|
161
129
|
type: :runtime
|
|
162
|
-
version_requirements: *
|
|
130
|
+
version_requirements: *id007
|
|
163
131
|
- !ruby/object:Gem::Dependency
|
|
164
132
|
name: rspec
|
|
165
133
|
prerelease: false
|
|
166
|
-
requirement: &
|
|
134
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
167
135
|
none: false
|
|
168
136
|
requirements:
|
|
169
137
|
- - ~>
|
|
@@ -175,11 +143,11 @@ dependencies:
|
|
|
175
143
|
- 0
|
|
176
144
|
version: 1.3.0
|
|
177
145
|
type: :development
|
|
178
|
-
version_requirements: *
|
|
146
|
+
version_requirements: *id008
|
|
179
147
|
- !ruby/object:Gem::Dependency
|
|
180
148
|
name: cucumber
|
|
181
149
|
prerelease: false
|
|
182
|
-
requirement: &
|
|
150
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
183
151
|
none: false
|
|
184
152
|
requirements:
|
|
185
153
|
- - ~>
|
|
@@ -191,7 +159,7 @@ dependencies:
|
|
|
191
159
|
- 0
|
|
192
160
|
version: 0.9.0
|
|
193
161
|
type: :development
|
|
194
|
-
version_requirements: *
|
|
162
|
+
version_requirements: *id009
|
|
195
163
|
description: This immaculate work of engineering genius allows mere mortals to collaborate with beings of transcendent intelligence like Micah, Michael, and Nick.
|
|
196
164
|
email:
|
|
197
165
|
- micah@botandrose.com
|