sinbad 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,13 @@
1
1
  = sinbad
2
+ A simple set of tools for quickly creating sinatra projects.
2
3
 
3
- Description goes here.
4
+ Makes a few assumptions about directory layout.
5
+
6
+ Makes no assumptions about storage/database backend
7
+
8
+ == Usage
9
+
10
+ $ sinbad appname
4
11
 
5
12
  == Contributing to sinbad
6
13
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
data/bin/sinbad CHANGED
@@ -1,54 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
- require 'optparse'
3
- require 'fileutils'
2
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
3
 
5
- def create_directories(root_directory)
6
- Dir::mkdir(root_directory)
7
- puts "Created project \"#{root_directory}\"\n"
8
-
9
- Dir::mkdir(root_directory + "/config")
10
- puts "\tconfig/"
11
-
12
- Dir::mkdir(root_directory + "/public")
13
- puts "\tpublic/"
14
-
15
- Dir::mkdir(root_directory + "/public/images")
16
- puts "\t'-images/"
17
-
18
- Dir::mkdir(root_directory + "/public/javascripts")
19
- puts "\t'-javascripts/"
20
-
21
- Dir::mkdir(root_directory + "/public/stylesheets")
22
- puts "\t'-stylesheets/"
23
-
24
- Dir::mkdir(root_directory + "/views")
25
- puts "\tviews/"
26
- end
27
- OptionParser.new do |options|
28
- options.banner = "Usage: #{File.basename($0)} [path]"
29
-
30
- options.on("-h", "--help", "Displays this help info") do
31
- puts options
32
- exit 0
33
- end
34
-
35
- begin
36
- options.parse!(ARGV)
37
- rescue OptionParser::ParseError => e
38
- warn e.message
39
- puts options
40
- exit 1
41
- end
42
-
43
- # Quick ARGV check
44
- if ARGV.empty?
45
- abort "No directory specified!"
46
- elsif File.exists?(ARGV.first)
47
- abort "Directory already exists"
48
- elsif ARGV.length > 1
49
- abort "I don't think you meant to do that..."
50
- end
51
-
52
- create_directories(ARGV.first)
53
- end
4
+ require 'sinbad/generator'
54
5
 
6
+ exit Sinbad::Generator::Application.run!(*ARGV)
@@ -0,0 +1,3 @@
1
+ class Sinbad
2
+ autoload :Generator, 'sinbad/generator'
3
+ end
@@ -0,0 +1,7 @@
1
+ class Sinbad
2
+ class Generator
3
+ require 'sinbad/generator/application'
4
+ end
5
+ def initialize(options = {})
6
+ end
7
+ end
@@ -0,0 +1,70 @@
1
+ require 'optparse'
2
+ require 'fileutils'
3
+
4
+ class Sinbad
5
+ class Generator
6
+ class Application
7
+ class << self
8
+
9
+ def run!(*args)
10
+ OptionParser.new do |options|
11
+ options.banner = "Usage: #{File.basename($0)} [path]"
12
+
13
+ options.on("-h", "--help", "Displays this help info") do
14
+ puts options
15
+ exit 0
16
+ end
17
+
18
+ begin
19
+ options.parse!(args)
20
+ rescue OptionParser::ParseError => e
21
+ warn e.message
22
+ puts options
23
+ exit 1
24
+ end
25
+
26
+ # Quick ARGV check
27
+ if args.empty?
28
+ abort "No directory specified!"
29
+ elsif File.exists?(args.first)
30
+ abort "Directory already exists"
31
+ elsif args.length > 1
32
+ abort "I don't think you meant to do that..."
33
+ end
34
+
35
+ create_directories(args.first)
36
+ end
37
+
38
+ return 0
39
+ end
40
+
41
+ def create_directories(root_directory)
42
+ Dir::mkdir(root_directory)
43
+ puts "Created project \"#{root_directory}\"\n"
44
+
45
+ Dir::mkdir(root_directory + "/config")
46
+ puts "\tconfig/"
47
+
48
+ Dir::mkdir(root_directory + "/public")
49
+ puts "\tpublic/"
50
+
51
+ Dir::mkdir(root_directory + "/public/images")
52
+ puts "\t'-images/"
53
+
54
+ Dir::mkdir(root_directory + "/public/javascripts")
55
+ puts "\t'-javascripts/"
56
+
57
+ Dir::mkdir(root_directory + "/public/stylesheets")
58
+ puts "\t'-stylesheets/"
59
+
60
+ Dir::mkdir(root_directory + "/views")
61
+ puts "\tviews/"
62
+
63
+ # create_files(root_directory)
64
+ end
65
+
66
+
67
+ end
68
+ end
69
+ end
70
+ end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sinbad}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Lee Turner}]
@@ -27,6 +27,8 @@ Gem::Specification.new do |s|
27
27
  "VERSION",
28
28
  "bin/sinbad",
29
29
  "lib/sinbad.rb",
30
+ "lib/sinbad/generator.rb",
31
+ "lib/sinbad/generator/application.rb",
30
32
  "sinbad.gemspec",
31
33
  "test/helper.rb",
32
34
  "test/test_sinbad.rb"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinbad
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Lee Turner
@@ -143,6 +143,8 @@ files:
143
143
  - VERSION
144
144
  - bin/sinbad
145
145
  - lib/sinbad.rb
146
+ - lib/sinbad/generator.rb
147
+ - lib/sinbad/generator/application.rb
146
148
  - sinbad.gemspec
147
149
  - test/helper.rb
148
150
  - test/test_sinbad.rb