francis 0.0.3 → 0.0.4
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/lib/francis.rb +33 -4
- metadata +2 -2
data/lib/francis.rb
CHANGED
@@ -9,6 +9,9 @@
|
|
9
9
|
class Francis
|
10
10
|
@@folders = ["app","tmp","db","public","views","public/css","public/js","public/img"]
|
11
11
|
@@files = ["app/app.rb", "db/db.rb", "tmp/restart.txt", "Gemfile","config.ru"]
|
12
|
+
@@newhelp = "Usage:\n\nfrancis new <appname> [--git][--proc][--readme][-r <gems>]\n\nCreates a new Sinatra app.\n\n<appname> => Name of the new directory\n\nOptions\n\n--git => If present, will set the new directory up as a git repository\n\n--proc => If present, will set up the new directoy with a Procfile\n\n--readme => If present, will set up the new directory with a readme.md\n\n-r <gems> => Specify gems to be automatically included in your Gemfile\n\n"
|
13
|
+
@@foldershelp = "francis folders\n\nPrints a list of folders that are created when francis new is run.\n\n"
|
14
|
+
@@fileshelp = "francis files\n\nPrints a list of files that are created when francis new is run.\n\n"
|
12
15
|
|
13
16
|
# Determines which method to call.
|
14
17
|
def self.dispatch(command, args)
|
@@ -19,8 +22,11 @@ class Francis
|
|
19
22
|
Francis.folders
|
20
23
|
when 'files'
|
21
24
|
Francis.files
|
25
|
+
when 'help'
|
26
|
+
Francis.help(args)
|
22
27
|
else
|
23
|
-
Francis.help
|
28
|
+
#Francis.help
|
29
|
+
puts "I don't understand"
|
24
30
|
end
|
25
31
|
end
|
26
32
|
|
@@ -42,7 +48,7 @@ class Francis
|
|
42
48
|
File.new(f,"w")
|
43
49
|
end
|
44
50
|
File.open("Gemfile","a") do |f|
|
45
|
-
f.write("source 'https://rubygems.org'\ngem 'sinatra'")
|
51
|
+
f.write("source 'https://rubygems.org'\ngem 'sinatra'\n")
|
46
52
|
end
|
47
53
|
if options.include?("--proc")
|
48
54
|
File.open("Procfile","a") do |f|
|
@@ -63,6 +69,14 @@ class Francis
|
|
63
69
|
f.write("# #{name.upcase}")
|
64
70
|
end
|
65
71
|
end
|
72
|
+
if options.include?("-r")
|
73
|
+
gems = options.select { |a| a[0] != "-" }
|
74
|
+
File.open("Gemfile","a") do |f|
|
75
|
+
gems.each do |g|
|
76
|
+
f.write("gem '#{g}'\n")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
66
80
|
puts "Sinatra app '#{name}' created!"
|
67
81
|
end
|
68
82
|
|
@@ -79,7 +93,22 @@ class Francis
|
|
79
93
|
end
|
80
94
|
|
81
95
|
# Prints the help file.
|
82
|
-
def self.help
|
83
|
-
|
96
|
+
def self.help(*method)
|
97
|
+
if method.empty?
|
98
|
+
puts @@newhelp + @@foldershelp + @@fileshelp
|
99
|
+
elsif method.length == 1
|
100
|
+
case method[0][0]
|
101
|
+
when "new"
|
102
|
+
puts @@newhelp
|
103
|
+
when "folders"
|
104
|
+
puts @@foldershelp
|
105
|
+
when "files"
|
106
|
+
puts @@fileshelp
|
107
|
+
else
|
108
|
+
puts @@newhelp + @@foldershelp + @@fileshelp
|
109
|
+
end
|
110
|
+
else
|
111
|
+
puts @@newhelp + @@foldershelp + @@fileshelp
|
112
|
+
end
|
84
113
|
end
|
85
114
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: francis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A command line tool for quickly setting up Sinatra apps
|
15
15
|
email: ian@iankent.me
|