sinatra-cl 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/directory.rb CHANGED
@@ -2,17 +2,17 @@ module Sinatra
2
2
  module Cl
3
3
  class Directory
4
4
 
5
- attr_reader :app_name, :flags
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
- def method_missing
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"].each do |flag|
18
- puts "#{flag}"
19
- end
19
+ ["--no-bootstrap"]
20
20
  end
21
21
 
22
22
  def no_bootstrap
@@ -1,5 +1,5 @@
1
1
  module Sinatra
2
2
  module Cl
3
- VERSION = "0.0.9"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
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, flags).build
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
@@ -16,5 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = ["sinatra-cl"]
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
- gem.add_runtime_dependency "rake",["~>1.0.0"]
19
+ gem.add_runtime_dependency "rake"
20
20
  end
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.9
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: 1.0.0
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: 1.0.0
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: