fezzik 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +13 -3
- data/bin/fez +40 -1
- data/bin/fezify +1 -1
- data/fezzik.gemspec +1 -1
- data/lib/fezzik.rb +2 -5
- metadata +4 -4
data/README.md
CHANGED
@@ -15,9 +15,9 @@ and gets out of your way.
|
|
15
15
|
$ ls
|
16
16
|
server.rb
|
17
17
|
$ fezify
|
18
|
-
[new]
|
19
|
-
[new]
|
20
|
-
[new]
|
18
|
+
[new] bin/run_app.sh created
|
19
|
+
[new] config/recipes/core.rb created
|
20
|
+
[new] config/deploy.rb created
|
21
21
|
[done]
|
22
22
|
|
23
23
|
**config/deploy.rb**: set your app name and destination servers
|
@@ -54,3 +54,13 @@ Use this function if you would like to hide or capture the normal output that th
|
|
54
54
|
# prints "hello"
|
55
55
|
puts server_output
|
56
56
|
end
|
57
|
+
|
58
|
+
## Recipes
|
59
|
+
|
60
|
+
Fezzik uses a recipe system similar to Capistrano. Any recipe placed in your config/recipes directory will be
|
61
|
+
picked up and available to the fez command. Some useful recipes that are not part of the fezzik core can be
|
62
|
+
found in the fezzik project recipes directory. You can download them with fezzik:
|
63
|
+
|
64
|
+
fez get <recipes>
|
65
|
+
|
66
|
+
If you write a recipe that would be useful to other developers, please submit a pull request!
|
data/bin/fez
CHANGED
@@ -9,5 +9,44 @@ require "colorize"
|
|
9
9
|
# Include everything in config/recipes
|
10
10
|
Dir[File.join(Dir.pwd, 'config/recipes/**/*.rb')].sort.each { |lib| require lib }
|
11
11
|
|
12
|
-
|
12
|
+
def usage
|
13
|
+
<<-EOF
|
14
|
+
fez <destination> <tasks> # Run deployment tasks on destination servers
|
15
|
+
fez get <recipes> # Download recipes to use in your project
|
16
|
+
fez -T # Display all tasks
|
17
|
+
EOF
|
18
|
+
end
|
19
|
+
|
20
|
+
def display_tasks_and_exit
|
21
|
+
Rake.application.options.show_task_pattern = //
|
22
|
+
output = capture_output { Rake.application.display_tasks_and_comments }
|
23
|
+
output.gsub!(/^rake fezzik:/, "fez <destination> ")
|
24
|
+
puts output
|
25
|
+
exit 0
|
26
|
+
end
|
27
|
+
|
28
|
+
RECIPE_URL = "https://github.com/dmacdougall/fezzik/raw/master/recipes"
|
29
|
+
def download_recipes_and_exit
|
30
|
+
system("mkdir -p config/recipes")
|
31
|
+
ARGV[1..-1].each do |recipe|
|
32
|
+
recipe += ".rb" unless recipe[-3..-1] == ".rb"
|
33
|
+
system("curl -f #{RECIPE_URL}/#{recipe} -o config/recipes/#{recipe} > /dev/null 2>&1")
|
34
|
+
if $? == 0
|
35
|
+
puts " [new]".green + " config/recipes/#{recipe}"
|
36
|
+
else
|
37
|
+
puts " [fail]".red + " config/recipes/#{recipe}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
exit 0
|
41
|
+
end
|
13
42
|
|
43
|
+
if ARGV.size == 0
|
44
|
+
puts usage
|
45
|
+
exit 1
|
46
|
+
elsif ARGV[0] == "-T"
|
47
|
+
display_tasks_and_exit
|
48
|
+
elsif ARGV[0] == "get"
|
49
|
+
download_recipes_and_exit
|
50
|
+
end
|
51
|
+
|
52
|
+
Rake.application["fezzik:run"].invoke
|
data/bin/fezify
CHANGED
@@ -132,7 +132,7 @@ files.each do |filename, content|
|
|
132
132
|
if File.exists?(filename) && ARGV[0] != "-f"
|
133
133
|
puts " [skip] #{filename} already exists"
|
134
134
|
else
|
135
|
-
puts " [new]
|
135
|
+
puts " [new] #{filename} created".green
|
136
136
|
File.open(filename, "w") { |file| file.write(content) }
|
137
137
|
if filename == "bin/run_app.sh"
|
138
138
|
system("chmod a+x bin/run_app.sh")
|
data/fezzik.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "fezzik"
|
3
|
-
s.version = "0.
|
3
|
+
s.version = "0.3.0"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">=0") if s.respond_to? :required_rubygems_version=
|
6
6
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
data/lib/fezzik.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
namespace :fezzik do
|
2
2
|
task :run do
|
3
|
-
if ARGV.size == 0
|
4
|
-
puts " Usage: fez to_destination task"
|
5
|
-
exit 1
|
6
|
-
end
|
7
3
|
destination = ARGV[0]
|
8
4
|
destination = $1 if destination.match(/to_(.+)/)
|
9
5
|
tasks = ARGV[1..-1]
|
@@ -45,7 +41,8 @@ namespace :fezzik do
|
|
45
41
|
output = StringIO.new
|
46
42
|
$stdout = output
|
47
43
|
block.call
|
44
|
+
return output.string
|
45
|
+
ensure
|
48
46
|
$stdout = STDOUT
|
49
|
-
output.string
|
50
47
|
end
|
51
48
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fezzik
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel MacDougall
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-06-01 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|