andhapp-decoct 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :patch: 0
3
3
  :major: 1
4
- :minor: 3
4
+ :minor: 4
data/decoct.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{decoct}
5
- s.version = "1.3.0"
5
+ s.version = "1.4.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Anuj Dutta"]
9
- s.date = %q{2009-04-22}
9
+ s.date = %q{2009-04-24}
10
10
  s.default_executable = %q{decoct}
11
11
  s.description = %q{Sinatra Rspec project generator}
12
12
  s.email = %q{anuj@andhapp.com}
@@ -21,9 +21,11 @@ Gem::Specification.new do |s|
21
21
  "bin/decoct",
22
22
  "decoct.gemspec",
23
23
  "lib/dconstants.rb",
24
+ "lib/dmeta.rb",
24
25
  "lib/dscript.rb",
25
26
  "lib/templates/.autotest",
26
27
  "lib/templates/generic_app.rb",
28
+ "lib/templates/spec/app_spec.rb",
27
29
  "lib/templates/spec/rcov.opts",
28
30
  "lib/templates/spec/spec.opts",
29
31
  "lib/templates/spec/spec_helper.rb",
data/lib/dmeta.rb ADDED
@@ -0,0 +1,28 @@
1
+ require 'ftools'
2
+ require File.dirname(__FILE__) + '/../lib/dconstants'
3
+
4
+ module Decoct
5
+ module Dmeta
6
+
7
+ include Decoct::Dconstants
8
+
9
+ def copy_file(from, to)
10
+ File.copy(Dconstants::TEMPLATES + from, to)
11
+ end
12
+
13
+ module ClassMethods
14
+ def create_dir(name)
15
+ attr_reader name
16
+ define_method("create_#{name}") do
17
+ path = "#{app_name}/#{name}"
18
+ Dir.mkdir(path) if !test(?d, path)
19
+ end
20
+ end
21
+ end
22
+
23
+ def self.included(host_class)
24
+ host_class.extend(ClassMethods)
25
+ end
26
+
27
+ end
28
+ end
data/lib/dscript.rb CHANGED
@@ -1,14 +1,17 @@
1
- require 'ftools'
2
- require File.dirname(__FILE__) + '/../lib/dconstants'
1
+ require File.dirname(__FILE__) + '/../lib/dmeta'
3
2
 
4
3
  module Decoct
5
-
6
- include Decoct::Dconstants
7
4
 
8
- # move the creation into a module and just include that module
9
5
  class Dscript
10
6
 
7
+ include Decoct::Dmeta
8
+
11
9
  attr_accessor :app_name
10
+
11
+ create_dir :lib
12
+ create_dir :spec
13
+ create_dir :views
14
+ create_dir :public
12
15
 
13
16
  def initialize(app_name)
14
17
  fail "app name cannot be nil or empty!!!" if app_name.eql?(nil) || app_name.empty?
@@ -23,25 +26,13 @@ module Decoct
23
26
  create_public
24
27
  copy_autotest_file
25
28
  copy_rspec_files
26
- create_app_file
29
+ copy_app_file
27
30
  end
28
31
 
29
- def create_lib
30
- create_dir(Dconstants::LIB)
31
- end
32
-
33
- def create_spec
34
- create_dir(Dconstants::SPEC)
35
- end
36
-
37
- def create_views
38
- create_dir(Dconstants::VIEWS)
32
+ def create_app_dir
33
+ Dir.mkdir("#{app_name}") if !test(?d, "#{app_name}")
39
34
  end
40
35
 
41
- def create_public
42
- create_dir(Dconstants::PUBLIC)
43
- end
44
-
45
36
  def copy_autotest_file
46
37
  copy_file(".autotest", "#{app_name}/.autotest")
47
38
  end
@@ -50,28 +41,13 @@ module Decoct
50
41
  copy_file("spec/spec.opts", "#{app_name}/spec/spec.opts")
51
42
  copy_file("spec/rcov.opts", "#{app_name}/spec/rcov.opts")
52
43
  copy_file("spec/spec_helper.rb", "#{app_name}/spec/spec_helper.rb")
44
+ copy_file("spec/app_spec.rb", "#{app_name}/spec/#{app_name}_spec.rb")
53
45
  end
54
46
 
55
- def create_app_file
47
+ def copy_app_file
56
48
  copy_file("generic_app.rb", "#{app_name}/#{app_name}.rb")
57
49
  end
58
50
 
59
- def create_app_dir
60
- create_dir
61
- end
62
-
63
- private
64
-
65
- def create_dir(value = '')
66
- path = "#{app_name}/#{value}"
67
- Dir.mkdir(path) if !test(?d, path)
68
- end
69
-
70
- def copy_file(from, to)
71
- File.copy(Dconstants::TEMPLATES + from, to)
72
- end
73
-
74
51
  end
75
52
 
76
53
  end
77
-
@@ -0,0 +1,13 @@
1
+ %w{spec spec/interop/test sinatra/test}.each {|x| require x}
2
+
3
+ set :environment, :test
4
+
5
+ describe 'App' do
6
+ include Sinatra::Test
7
+
8
+ it "should pick the spec files for autotest and display error messages with snarl" do
9
+ get '/'
10
+ response.should be_ok
11
+ response.body.should == 'It works!!!'
12
+ end
13
+ end
data/test/ts_script.rb CHANGED
@@ -18,41 +18,29 @@ class TestScript < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  should 'create a directory called lib' do
21
- initial_num_of_dir = dir_in_app_folder().size()
22
21
  @script.create_lib
23
- final_num_of_dir = dir_in_app_folder().size()
24
- assert_equal final_num_of_dir, initial_num_of_dir + 1
25
22
  assert_not_nil dir_in_app_folder.index("lib")
26
23
  end
27
24
 
28
25
  should 'create a directory called spec and copy the rspec files' do
29
- initial_num_of_dir = dir_in_app_folder().size()
30
26
  @script.create_spec
31
- final_num_of_dir = dir_in_app_folder().size()
32
-
33
27
  @script.copy_rspec_files
34
28
 
35
29
  assert File.exists?("#{@app_name}/spec/spec.opts")
36
30
  assert File.exists?("#{@app_name}/spec/rcov.opts")
37
31
  assert File.exists?("#{@app_name}/spec/spec_helper.rb")
32
+ assert File.exists?("#{@app_name}/spec/#{@app_name}_spec.rb")
38
33
 
39
- assert_equal final_num_of_dir, initial_num_of_dir + 1
40
34
  assert_not_nil dir_in_app_folder.index("spec")
41
35
  end
42
36
 
43
37
  should 'create a directory called views' do
44
- initial_num_of_dir = dir_in_app_folder().size()
45
38
  @script.create_views
46
- final_num_of_dir = dir_in_app_folder().size()
47
- assert_equal final_num_of_dir, initial_num_of_dir + 1
48
39
  assert_not_nil dir_in_app_folder.index("views")
49
40
  end
50
41
 
51
42
  should 'create a directory called public' do
52
- initial_num_of_dir = dir_in_app_folder().size()
53
43
  @script.create_public
54
- final_num_of_dir = dir_in_app_folder().size()
55
- assert_equal final_num_of_dir, initial_num_of_dir + 1
56
44
  assert_not_nil dir_in_app_folder.index("public")
57
45
  end
58
46
 
@@ -61,8 +49,8 @@ class TestScript < Test::Unit::TestCase
61
49
  assert File.exists?("#{@app_name}/.autotest")
62
50
  end
63
51
 
64
- should 'create the app file' do
65
- @script.create_app_file
52
+ should 'copy the app file' do
53
+ @script.copy_app_file
66
54
  assert File.exists?("#{@app_name}/#{@app_name}.rb")
67
55
  end
68
56
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: andhapp-decoct
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anuj Dutta
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-22 00:00:00 -07:00
12
+ date: 2009-04-24 00:00:00 -07:00
13
13
  default_executable: decoct
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -77,9 +77,11 @@ files:
77
77
  - bin/decoct
78
78
  - decoct.gemspec
79
79
  - lib/dconstants.rb
80
+ - lib/dmeta.rb
80
81
  - lib/dscript.rb
81
82
  - lib/templates/.autotest
82
83
  - lib/templates/generic_app.rb
84
+ - lib/templates/spec/app_spec.rb
83
85
  - lib/templates/spec/rcov.opts
84
86
  - lib/templates/spec/spec.opts
85
87
  - lib/templates/spec/spec_helper.rb