andhapp-decoct 1.1.0 → 1.2.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/README.markdown +25 -0
- data/VERSION.yml +1 -1
- data/decoct.gemspec +1 -7
- data/lib/dconstants.rb +2 -1
- data/lib/dscript.rb +11 -9
- data/test/ts_script.rb +5 -5
- metadata +1 -7
- data/test/templates/generic_app.rb +0 -7
- data/test/templates/spec/rcov.opts +0 -2
- data/test/templates/spec/spec.opts +0 -4
- data/test/templates/spec/spec_helper.rb +0 -38
data/README.markdown
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Decoct: Quick start Sinatra with Rspec
|
2
|
+
|
3
|
+
Decoct is a simple gem that creates a sinatra app directory structure and hooks it up with Rspec.
|
4
|
+
|
5
|
+
## Installing
|
6
|
+
|
7
|
+
# Install the gem:
|
8
|
+
gem install andhapp-decoct -s http://gems.github.com (on Windows)
|
9
|
+
|
10
|
+
## Caveat
|
11
|
+
|
12
|
+
The gem has only been tested on Windows and the reason that could be a problem is because it depends upon other gems to work properly. I have a workaround in my mind but it has not been implemented as yet.
|
13
|
+
|
14
|
+
|
15
|
+
## Dependencies
|
16
|
+
|
17
|
+
The gem depends on the following libraries:
|
18
|
+
* rspec
|
19
|
+
* ZenTest
|
20
|
+
* ruby-snarl
|
21
|
+
* redgreen
|
22
|
+
* rcov
|
23
|
+
|
24
|
+
Also, in order to use ruby-snarl you should have [Snarl][http://www.fullphat.net/index.php] installed on your machine. Snarl is a messaging system for windows. This would give you nice visual messages on the status of your tests. [Here's][http://thewebfellas.com/blog/2007/12/10/rspec-autotest-and-snarl-on-windows] a nice article if you would like to incorporate that into rails projects. Hence, the caveat above.
|
25
|
+
|
data/VERSION.yml
CHANGED
data/decoct.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{decoct}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.2.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"]
|
@@ -27,10 +27,6 @@ Gem::Specification.new do |s|
|
|
27
27
|
"lib/templates/spec/rcov.opts",
|
28
28
|
"lib/templates/spec/spec.opts",
|
29
29
|
"lib/templates/spec/spec_helper.rb",
|
30
|
-
"test/templates/generic_app.rb",
|
31
|
-
"test/templates/spec/rcov.opts",
|
32
|
-
"test/templates/spec/spec.opts",
|
33
|
-
"test/templates/spec/spec_helper.rb",
|
34
30
|
"test/ts_script.rb"
|
35
31
|
]
|
36
32
|
s.has_rdoc = true
|
@@ -40,8 +36,6 @@ Gem::Specification.new do |s|
|
|
40
36
|
s.rubygems_version = %q{1.3.1}
|
41
37
|
s.summary = %q{Its a simple gem which creates a project structure for sinatra to work with rspec, ZenTest, Snarl(on Windows), RedGreen, Rcov}
|
42
38
|
s.test_files = [
|
43
|
-
"test/templates/generic_app.rb",
|
44
|
-
"test/templates/spec/spec_helper.rb",
|
45
39
|
"test/ts_script.rb"
|
46
40
|
]
|
47
41
|
|
data/lib/dconstants.rb
CHANGED
data/lib/dscript.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'ftools'
|
2
2
|
require File.dirname(__FILE__) + '/../lib/dconstants'
|
3
3
|
|
4
|
-
module
|
4
|
+
module Decoct
|
5
5
|
|
6
|
-
include
|
6
|
+
include Decoct::Dconstants
|
7
7
|
|
8
8
|
# move the creation into a module and just include that module
|
9
9
|
class Dscript
|
@@ -43,17 +43,17 @@ module Dedoct
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def copy_autotest_file
|
46
|
-
copy_file("
|
46
|
+
copy_file(".autotest", "#{app_name}/.autotest")
|
47
47
|
end
|
48
48
|
|
49
49
|
def copy_rspec_files
|
50
|
-
copy_file("
|
51
|
-
copy_file("
|
52
|
-
copy_file("
|
50
|
+
copy_file("spec/spec.opts", "#{app_name}/spec/spec.opts")
|
51
|
+
copy_file("spec/rcov.opts", "#{app_name}/spec/rcov.opts")
|
52
|
+
copy_file("spec/spec_helper.rb", "#{app_name}/spec/spec_helper.rb")
|
53
53
|
end
|
54
54
|
|
55
55
|
def create_app_file
|
56
|
-
copy_file("
|
56
|
+
copy_file("generic_app.rb", "#{app_name}/#{app_name}.rb")
|
57
57
|
end
|
58
58
|
|
59
59
|
def create_app_dir
|
@@ -63,13 +63,15 @@ module Dedoct
|
|
63
63
|
private
|
64
64
|
|
65
65
|
def create_dir(value = '')
|
66
|
-
|
66
|
+
path = "#{app_name}/#{value}"
|
67
|
+
Dir.mkdir(path) if !test(?d, path)
|
67
68
|
end
|
68
69
|
|
69
70
|
def copy_file(from, to)
|
70
|
-
File.copy(from, to)
|
71
|
+
File.copy(Dconstants::TEMPLATES + from, to)
|
71
72
|
end
|
72
73
|
|
73
74
|
end
|
74
75
|
|
75
76
|
end
|
77
|
+
|
data/test/ts_script.rb
CHANGED
@@ -6,9 +6,9 @@ class TestScript < Test::Unit::TestCase
|
|
6
6
|
Dir.entries("epoxys").each {|x| [] << x if !File.directory?(x)}
|
7
7
|
end
|
8
8
|
|
9
|
-
context "creating
|
9
|
+
context "creating a brand new sinatra-rspec app" do
|
10
10
|
setup do
|
11
|
-
@script =
|
11
|
+
@script = Decoct::Dscript.new('epoxys')
|
12
12
|
@app_name = @script.app_name
|
13
13
|
@script.create_app_dir
|
14
14
|
end
|
@@ -75,13 +75,13 @@ class TestScript < Test::Unit::TestCase
|
|
75
75
|
context "raise exception when app name is nil or empty" do
|
76
76
|
|
77
77
|
should 'raise an error if there is no app_name is empty' do
|
78
|
-
assert_raises(RuntimeError) {
|
78
|
+
assert_raises(RuntimeError) {Decoct::Dscript.new('')}
|
79
79
|
end
|
80
80
|
|
81
81
|
should 'raise an error if there is no app_name is nil' do
|
82
|
-
assert_raises(RuntimeError) {
|
82
|
+
assert_raises(RuntimeError) {Decoct::Dscript.new(nil)}
|
83
83
|
end
|
84
84
|
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
end
|
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.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anuj Dutta
|
@@ -83,10 +83,6 @@ files:
|
|
83
83
|
- lib/templates/spec/rcov.opts
|
84
84
|
- lib/templates/spec/spec.opts
|
85
85
|
- lib/templates/spec/spec_helper.rb
|
86
|
-
- test/templates/generic_app.rb
|
87
|
-
- test/templates/spec/rcov.opts
|
88
|
-
- test/templates/spec/spec.opts
|
89
|
-
- test/templates/spec/spec_helper.rb
|
90
86
|
- test/ts_script.rb
|
91
87
|
has_rdoc: true
|
92
88
|
homepage: http://github.com/andhapp/decoct
|
@@ -115,6 +111,4 @@ signing_key:
|
|
115
111
|
specification_version: 2
|
116
112
|
summary: Its a simple gem which creates a project structure for sinatra to work with rspec, ZenTest, Snarl(on Windows), RedGreen, Rcov
|
117
113
|
test_files:
|
118
|
-
- test/templates/generic_app.rb
|
119
|
-
- test/templates/spec/spec_helper.rb
|
120
114
|
- test/ts_script.rb
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# This file is copied to ~/spec when you run 'ruby script/generate rspec'
|
2
|
-
# from the project root directory.
|
3
|
-
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
|
4
|
-
require 'spec/autorun'
|
5
|
-
|
6
|
-
Spec::Runner.configure do |config|
|
7
|
-
# == Fixtures
|
8
|
-
#
|
9
|
-
# You can declare fixtures for each example_group like this:
|
10
|
-
# describe "...." do
|
11
|
-
# fixtures :table_a, :table_b
|
12
|
-
#
|
13
|
-
# Alternatively, if you prefer to declare them only once, you can
|
14
|
-
# do so right here. Just uncomment the next line and replace the fixture
|
15
|
-
# names with your fixtures.
|
16
|
-
#
|
17
|
-
# config.global_fixtures = :table_a, :table_b
|
18
|
-
#
|
19
|
-
# If you declare global fixtures, be aware that they will be declared
|
20
|
-
# for all of your examples, even those that don't use them.
|
21
|
-
#
|
22
|
-
# You can also declare which fixtures to use (for example fixtures for test/fixtures):
|
23
|
-
#
|
24
|
-
# config.fixture_path = RAILS_ROOT + '/spec/fixtures/'
|
25
|
-
#
|
26
|
-
# == Mock Framework
|
27
|
-
#
|
28
|
-
# RSpec uses it's own mocking framework by default. If you prefer to
|
29
|
-
# use mocha, flexmock or RR, uncomment the appropriate line:
|
30
|
-
#
|
31
|
-
# config.mock_with :mocha
|
32
|
-
# config.mock_with :flexmock
|
33
|
-
# config.mock_with :rr
|
34
|
-
#
|
35
|
-
# == Notes
|
36
|
-
#
|
37
|
-
# For more information take a look at Spec::Runner::Configuration and Spec::Runner
|
38
|
-
end
|