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 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: