sinatra-cl 0.0.9 → 0.1.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/lib/directory.rb +4 -4
- data/lib/files.rb +3 -2
- data/lib/flag.rb +4 -4
- data/lib/sinatra-cl/version.rb +1 -1
- data/lib/sinatra-cl.rb +14 -11
- data/sinatra-cl.gemspec +1 -1
- data/test/flag_test.rb +21 -0
- metadata +8 -6
data/lib/directory.rb
CHANGED
@@ -2,17 +2,17 @@ module Sinatra
|
|
2
2
|
module Cl
|
3
3
|
class Directory
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
def initialize(app_name, flags)
|
5
|
+
def initialize(app_name)
|
8
6
|
@app_name = app_name
|
9
|
-
@flags = flags
|
10
7
|
end
|
11
8
|
|
12
9
|
def build
|
13
10
|
parent
|
14
11
|
end
|
15
12
|
|
13
|
+
attr_reader :app_name; private :app_name
|
14
|
+
private
|
15
|
+
|
16
16
|
def parent
|
17
17
|
Dir.mkdir(app_name)
|
18
18
|
Dir.mkdir("#{app_name}/lib")
|
data/lib/files.rb
CHANGED
@@ -2,8 +2,6 @@ module Sinatra
|
|
2
2
|
module Cl
|
3
3
|
class Files
|
4
4
|
|
5
|
-
attr_reader :app_name, :flags
|
6
|
-
|
7
5
|
def initialize(app_name, flags)
|
8
6
|
@app_name = app_name
|
9
7
|
@flags = flags
|
@@ -16,6 +14,9 @@ module Sinatra
|
|
16
14
|
no_bootstrap? ? view_files_no_bootstrap : view_files
|
17
15
|
end
|
18
16
|
|
17
|
+
attr_reader :app_name, :flags; private :app_name, :flags
|
18
|
+
private
|
19
|
+
|
19
20
|
def config
|
20
21
|
File.open("#{app_name}/config.ru", "w+") { |io|
|
21
22
|
io << "require File.join(File.dirname(__FILE__), 'app.rb')\nrun Name::#{app_name.capitalize}"
|
data/lib/flag.rb
CHANGED
@@ -9,14 +9,14 @@ class Flag
|
|
9
9
|
self.send(flag_name.match(/\A(--)(\S*)/).to_a.last.gsub("-","_").to_sym)
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
private
|
13
|
+
|
14
|
+
def method_missing(meth, *args, &block)
|
13
15
|
raise "There is no flag, #{flag_name}\nOur supported flags are currently:#{supported_flags}"
|
14
16
|
end
|
15
17
|
|
16
18
|
def supported_flags
|
17
|
-
["--no-bootstrap"]
|
18
|
-
puts "#{flag}"
|
19
|
-
end
|
19
|
+
["--no-bootstrap"]
|
20
20
|
end
|
21
21
|
|
22
22
|
def no_bootstrap
|
data/lib/sinatra-cl/version.rb
CHANGED
data/lib/sinatra-cl.rb
CHANGED
@@ -17,16 +17,6 @@ module Sinatra
|
|
17
17
|
@flags = parse_flags(user_input[2..-1])
|
18
18
|
end
|
19
19
|
|
20
|
-
def parse_flags(flags)
|
21
|
-
flags.map{|flag_name| Flag.new(flag_name).check_flag}
|
22
|
-
end
|
23
|
-
|
24
|
-
def execute_new(app_name)
|
25
|
-
app_name = "sinatra-app" if app_name.nil?
|
26
|
-
parent
|
27
|
-
files
|
28
|
-
end
|
29
|
-
|
30
20
|
def app
|
31
21
|
case command
|
32
22
|
when "new"
|
@@ -38,14 +28,27 @@ module Sinatra
|
|
38
28
|
end
|
39
29
|
end
|
40
30
|
|
31
|
+
private
|
32
|
+
|
33
|
+
def execute_new(app_name)
|
34
|
+
app_name = "sinatra-app" if app_name.nil?
|
35
|
+
parent
|
36
|
+
files
|
37
|
+
end
|
38
|
+
|
41
39
|
def parent
|
42
|
-
Sinatra::Cl::Directory.new(app_name
|
40
|
+
Sinatra::Cl::Directory.new(app_name).build
|
43
41
|
end
|
44
42
|
|
45
43
|
def files
|
46
44
|
Sinatra::Cl::Files.new(app_name, flags).build
|
47
45
|
end
|
48
46
|
|
47
|
+
def parse_flags(flags)
|
48
|
+
flags.map{|flag_name| Flag.new(flag_name).check_flag}
|
49
|
+
end
|
50
|
+
|
51
|
+
|
49
52
|
|
50
53
|
end
|
51
54
|
end
|
data/sinatra-cl.gemspec
CHANGED
data/test/flag_test.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'minitest/pride'
|
3
|
+
require_relative "../lib/flag"
|
4
|
+
|
5
|
+
class FlagTest < Test::Unit::TestCase
|
6
|
+
def test_creates_flag
|
7
|
+
assert Flag.new("test")
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_check_no_bootstrap
|
11
|
+
flag = Flag.new("--no-bootstrap")
|
12
|
+
assert_equal :no_bootstrap, flag.check_flag
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_raise_execption_for_invalid_flag
|
16
|
+
flag = Flag.new("--bad-flag")
|
17
|
+
assert_raise RuntimeError, "There is no flag, --bad-flag\nOur supported flags are currently:['--no-bootstrap']" do
|
18
|
+
flag.check_flag
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-cl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -16,17 +16,17 @@ dependencies:
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: '0'
|
30
30
|
description: This uses Ashley William's ratpack setup to scaffold a sinatra app
|
31
31
|
email:
|
32
32
|
- jeff@jeffreyleebaird.com
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- lib/sinatra-cl.rb
|
65
65
|
- lib/sinatra-cl/version.rb
|
66
66
|
- sinatra-cl.gemspec
|
67
|
+
- test/flag_test.rb
|
67
68
|
homepage: ''
|
68
69
|
licenses: []
|
69
70
|
post_install_message:
|
@@ -88,5 +89,6 @@ rubygems_version: 1.8.23
|
|
88
89
|
signing_key:
|
89
90
|
specification_version: 3
|
90
91
|
summary: This is a test
|
91
|
-
test_files:
|
92
|
+
test_files:
|
93
|
+
- test/flag_test.rb
|
92
94
|
has_rdoc:
|