skellington 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/config.yaml +3 -3
- data/features/cli.feature +20 -2
- data/lib/skellington/cli.rb +3 -3
- data/lib/skellington/generator.rb +11 -11
- data/lib/skellington/helpers.rb +1 -3
- data/lib/skellington/template.rb +1 -1
- data/lib/skellington/version.rb +1 -1
- data/lib/templates/Gemfile.eruby +3 -3
- data/lib/templates/Procfile.eruby +1 -1
- data/lib/templates/Rakefile.eruby +1 -1
- data/lib/templates/config.ru.eruby +1 -1
- data/lib/templates/features/support/env.rb.eruby +1 -1
- data/lib/templates/post-run.eruby +3 -1
- data/spec/spec_helper.rb +3 -0
- metadata +2 -3
- data/Rakefile.ffs +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2739b831dcd3dd63fc0240d7f689b06ddc101fca
|
4
|
+
data.tar.gz: ea34582333e0d1b0d6b28f006ef2ad77542566f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30bff07c1969faa28dd6e1f8fec11b17e5664b6625fc4eadd31cb4097643b73e4d09121257daa17e2d604c3008521e255fd6ef90c0202fa15d4a08b347e2a247
|
7
|
+
data.tar.gz: 26e428f717b10cf08da1516ca778d858ba9b190946c272aa9d1d7d7c4cbbedd09d8dc096029e4b5a81118dfe3a0cfee4b37fb500ee93d224d2c64a76b5b32d15
|
data/config/config.yaml
CHANGED
@@ -20,9 +20,9 @@ files:
|
|
20
20
|
config.ru:
|
21
21
|
# the template has this name
|
22
22
|
features/first.feature:
|
23
|
-
# but the output file substitutes it like this, where
|
23
|
+
# but the output file substitutes it like this, where wormname is an attribute
|
24
24
|
# on the Generator object
|
25
|
-
outpath: first/
|
25
|
+
outpath: first/wormname
|
26
26
|
features/support/env.rb:
|
27
27
|
lib/app.rb:
|
28
|
-
outpath: app/
|
28
|
+
outpath: app/wormname
|
data/features/cli.feature
CHANGED
@@ -4,8 +4,26 @@ Feature: Generate skellington
|
|
4
4
|
When I successfully run `skellington generate dummy_app`
|
5
5
|
Then the output should contain "Generating dummy_app/Gemfile"
|
6
6
|
And the output should contain "bundle"
|
7
|
-
And the output should contain
|
7
|
+
And the output should contain:
|
8
|
+
"""
|
9
|
+
Your new Sinatra app DummyApp has been created
|
10
|
+
|
11
|
+
Now do
|
12
|
+
|
13
|
+
cd dummy_app
|
14
|
+
bundle
|
15
|
+
rake
|
16
|
+
|
17
|
+
And presuming that passes OK
|
18
|
+
|
19
|
+
git add .
|
20
|
+
git commit -m 'First commit'
|
21
|
+
|
22
|
+
You can run the app with
|
23
|
+
|
24
|
+
rackup
|
25
|
+
"""
|
8
26
|
|
9
27
|
Scenario: get the version
|
10
28
|
When I successfully run `skellington -v`
|
11
|
-
Then the output should contain "skellington version"
|
29
|
+
Then the output should contain "skellington version"
|
data/lib/skellington/cli.rb
CHANGED
@@ -6,9 +6,9 @@ module Skellington
|
|
6
6
|
end
|
7
7
|
map %w(-v --version) => :version
|
8
8
|
|
9
|
-
desc 'generate
|
10
|
-
def generate
|
11
|
-
@g = Generator.new
|
9
|
+
desc 'generate some_path', 'Generate a skeleton Sinatra app named SomePath at some_path'
|
10
|
+
def generate wormname
|
11
|
+
@g = Generator.new wormname
|
12
12
|
@g.run
|
13
13
|
end
|
14
14
|
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
module Skellington
|
2
2
|
class Generator
|
3
|
-
|
3
|
+
attr_reader :wormname, :camelname, :files, :gems
|
4
4
|
|
5
|
-
def initialize
|
6
|
-
@
|
7
|
-
@camelname = Skellington.camelise(@
|
8
|
-
@
|
9
|
-
@files =
|
5
|
+
def initialize wormname
|
6
|
+
@wormname = wormname
|
7
|
+
@camelname = Skellington.camelise(@wormname)
|
8
|
+
@gems = config['gems']
|
9
|
+
@files = config['files']
|
10
|
+
end
|
11
|
+
|
12
|
+
def config
|
13
|
+
@config ||= YAML.load File.read File.join File.dirname(__FILE__), '..', '..', 'config/config.yaml'
|
10
14
|
end
|
11
15
|
|
12
16
|
def run
|
@@ -16,7 +20,6 @@ module Skellington
|
|
16
20
|
end
|
17
21
|
|
18
22
|
def generate
|
19
|
-
puts ''
|
20
23
|
@files.each do |k, v|
|
21
24
|
t = Template.new k, self
|
22
25
|
t.write
|
@@ -24,15 +27,12 @@ module Skellington
|
|
24
27
|
end
|
25
28
|
|
26
29
|
def git_init
|
27
|
-
Git.init @
|
30
|
+
Git.init @wormname
|
28
31
|
end
|
29
32
|
|
30
33
|
def post_run
|
31
|
-
puts ''
|
32
|
-
puts "Your new Sinatra app '#{Skellington.camelise(@path)}' has been created"
|
33
34
|
t = Template.new 'post-run', self
|
34
35
|
puts t.to_s
|
35
|
-
puts ''
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/skellington/helpers.rb
CHANGED
data/lib/skellington/template.rb
CHANGED
@@ -10,7 +10,7 @@ module Skellington
|
|
10
10
|
subs = @generator.files[@name]['outpath'].split '/'
|
11
11
|
@outpath = "#{@generator.send(subs[1].to_sym)}/#{@name.sub(subs[0], @generator.send(subs[1].to_sym))}"
|
12
12
|
rescue NoMethodError
|
13
|
-
@outpath = "#{@generator.
|
13
|
+
@outpath = "#{@generator.wormname}/#{@name}"
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
data/lib/skellington/version.rb
CHANGED
data/lib/templates/Gemfile.eruby
CHANGED
@@ -2,15 +2,15 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
ruby '<%= RUBY_VERSION %>'
|
4
4
|
|
5
|
-
<% for gem in @gen.
|
5
|
+
<% for gem in @gen.gems['production'] %>
|
6
6
|
gem '<%= gem %>'
|
7
7
|
<% end %>
|
8
8
|
|
9
9
|
group :test do
|
10
|
-
<% for gem in @gen.
|
10
|
+
<% for gem in @gen.gems['test'] %>
|
11
11
|
gem '<%= gem %>'
|
12
12
|
<% end %>
|
13
|
-
<% for gem in @gen.
|
13
|
+
<% for gem in @gen.gems['test_require_false'] %>
|
14
14
|
gem '<%= gem %>', require: false
|
15
15
|
<% end %>
|
16
16
|
end
|
@@ -1 +1 @@
|
|
1
|
-
web: bundle exec ruby lib/<%= @gen.
|
1
|
+
web: bundle exec ruby lib/<%= @gen.wormname %>.rb
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skellington
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pikesley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -181,7 +181,6 @@ files:
|
|
181
181
|
- LICENSE.txt
|
182
182
|
- README.md
|
183
183
|
- Rakefile
|
184
|
-
- Rakefile.ffs
|
185
184
|
- bin/skellington
|
186
185
|
- config/config.yaml
|
187
186
|
- features/app.feature
|
data/Rakefile.ffs
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
require 'bundler/gem_tasks'
|
2
|
-
require 'rspec/core/rake_task'
|
3
|
-
require 'cucumber/rake/task'
|
4
|
-
require 'coveralls/rake/task'
|
5
|
-
|
6
|
-
Coveralls::RakeTask.new
|
7
|
-
RSpec::Core::RakeTask.new
|
8
|
-
Cucumber::Rake::Task.new
|
9
|
-
|
10
|
-
task :default => [:spec, :cucumber, 'coveralls:push']
|