skellington 0.0.2 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ebe62e8d497b68c839729162c81cb23103697759
4
- data.tar.gz: b459a386d94e4789cb0c8722ce34310e5884a3ce
3
+ metadata.gz: 2962135240e9ce88b402902718383b2635f09ba7
4
+ data.tar.gz: d2d14666f98f069aeb631c9f4ee539dcef286389
5
5
  SHA512:
6
- metadata.gz: ad36570bf89289381d4b0bbe7e72d7366c2e75febfb12dd38a040a9aa6b6d981e82aad119b096b21bc4fac4451c0929dce6526fbfe6b968108d64faa3d272466
7
- data.tar.gz: 57f8e3b4333e8aff3290b8be31cede0c3dc961a7bcb7df4d53591fb06cab687f79decbd5c7aab3f10f9f0bf5c6d55d52dfc185c8c97cb5ce615ad8d618e07a01
6
+ metadata.gz: eb0a92bf9bd38233a546ed4fbb86c6ce1d4014758ba744c9bd31d30cc79d24ee06a8f610533599a31560791b10db6003a92862b0edcca74f694ff996167ee85b
7
+ data.tar.gz: f28a15c57149fa31121cbd1396005e234a864013be04b4fc89011256519753b1e5bf7e8ffc4fa0fe5634768026c017f005b942638f6dbe77812999c1dc4c2569
data/README.md CHANGED
@@ -7,4 +7,36 @@
7
7
 
8
8
  # Skellington
9
9
 
10
- Zero to cuke-powered Sinatra starter app
10
+ Generate tedious Cucumber and Sinatra boilerplate like a boss
11
+
12
+ $ skellington generate naming_things_is_hard
13
+
14
+ Generating naming_things_is_hard/Gemfile...done
15
+ Generating naming_things_is_hard/Rakefile...done
16
+ Generating naming_things_is_hard/Procfile...done
17
+ Generating naming_things_is_hard/config.ru...done
18
+ Generating naming_things_is_hard/features/naming_things_is_hard.feature...done
19
+ Generating naming_things_is_hard/features/support/env.rb...done
20
+ Generating naming_things_is_hard/lib/naming_things_is_hard.rb...done
21
+
22
+ Your new Sinatra app 'NamingThingsIsHard' has been created
23
+
24
+ Now do
25
+
26
+ cd naming_things_is_hard
27
+ bundle
28
+ rake
29
+
30
+ And presuming that passes OK
31
+
32
+ badger > README.md
33
+ git add .
34
+ git commit -m 'First commit'
35
+
36
+ You can run the app with
37
+
38
+ rackup
39
+
40
+ This assumes a bunch of things about your system, you'll need at least
41
+
42
+ * A reasonable git installation
@@ -0,0 +1,7 @@
1
+ Feature: Generate skellington
2
+
3
+ Scenario: get some feedback
4
+ When I successfully run `skellington generate dummy_gem`
5
+ Then the output should contain "Generating dummy_gem/Gemfile"
6
+ And the output should contain "bundle"
7
+ And the output should contain "rake"
@@ -0,0 +1,5 @@
1
+ Feature: Generate skellington
2
+
3
+ Scenario: git init the repo
4
+ When I successfully run `skellington generate dummy_gem`
5
+ Then a directory named "dummy_gem/.git/" should exist
data/lib/skellington.rb CHANGED
@@ -2,8 +2,10 @@ require 'thor'
2
2
  require 'yaml'
3
3
  require 'fileutils'
4
4
  require 'erubis'
5
+ require 'git'
5
6
 
6
7
  require 'skellington/version'
7
8
  require 'skellington/generator'
8
9
  require 'skellington/cli'
10
+ require 'skellington/helpers'
9
11
  require 'skellington/template'
@@ -1,8 +1,10 @@
1
1
  module Skellington
2
2
  class CLI < Thor
3
- desc 'generate', 'Generate a skeleton Sinatra app'
3
+ desc 'generate PATH', 'Generate a skeleton Sinatra app at PATH'
4
4
  def generate path
5
5
  @g = Generator.new path
6
+ @g.run
7
+
6
8
  end
7
9
  end
8
10
  end
@@ -45,25 +45,38 @@ module Skellington
45
45
  outpath: "lib/#{@path}.rb"
46
46
  }
47
47
  }
48
+ end
48
49
 
50
+ def run
49
51
  generate
52
+ git_init
53
+ post_run
50
54
  end
51
55
 
52
56
  def generate
57
+ puts ''
53
58
  @files.each do |k, v|
54
59
  t = Template.new k
55
60
  t.params = v[:params]
56
-
57
61
  t.outpath = "#{@path}/#{k}"
58
62
  t.outpath = "#{@path}/#{v[:outpath]}" if v[:outpath]
63
+ print "Generating #{t.outpath}..."
59
64
  t.write
65
+ puts 'done'
60
66
  end
61
67
  end
62
- end
63
68
 
64
- def self.camelise worm_case
65
- parts = worm_case.split '_'
66
- parts.map! { |word| "#{word[0].upcase}#{word[1..-1]}" }
67
- parts.join ''
69
+ def git_init
70
+ Git.init @path
71
+ end
72
+
73
+ def post_run
74
+ puts ''
75
+ puts "Your new Sinatra app '#{Skellington.camelise(@path)}' has been created"
76
+ t = Template.new 'post-run'
77
+ t.params = { path: @path }
78
+ puts t.to_s
79
+ puts ''
80
+ end
68
81
  end
69
82
  end
@@ -0,0 +1,7 @@
1
+ module Skellington
2
+ def self.camelise worm_case
3
+ parts = worm_case.split '_'
4
+ parts.map! { |word| "#{word[0].upcase}#{word[1..-1]}" }
5
+ parts.join ''
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Skellington
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -0,0 +1,16 @@
1
+
2
+ Now do
3
+
4
+ cd <%= path %>
5
+ bundle
6
+ rake
7
+
8
+ And presuming that passes OK
9
+
10
+ badger > README.md
11
+ git add .
12
+ git commit -m 'First commit'
13
+
14
+ You can run the app with
15
+
16
+ rackup
data/skellington.gemspec CHANGED
@@ -21,6 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'thor', '~> 0.19'
22
22
  spec.add_dependency 'erubis', '~> 2.7'
23
23
  spec.add_dependency 'fileutils', '~> 0.7'
24
+ spec.add_dependency 'badgerbadgerbadger', '~> 0.12'
25
+ spec.add_dependency 'git', '~> 1.2'
24
26
 
25
27
  spec.add_development_dependency 'bundler', '~> 1.7'
26
28
  spec.add_development_dependency 'rake', '~> 10.0'
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.0.2
4
+ version: 0.0.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-17 00:00:00.000000000 Z
11
+ date: 2015-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: badgerbadgerbadger
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.12'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: git
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.2'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: bundler
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -170,9 +198,11 @@ files:
170
198
  - bin/skellington
171
199
  - config/config.yaml
172
200
  - features/app.feature
201
+ - features/cli.feature
173
202
  - features/config.ru.feature
174
203
  - features/cukes.feature
175
204
  - features/gemfile.feature
205
+ - features/git.feature
176
206
  - features/procfile.feature
177
207
  - features/rakefile.feature
178
208
  - features/support/app.feature
@@ -180,6 +210,7 @@ files:
180
210
  - lib/skellington.rb
181
211
  - lib/skellington/cli.rb
182
212
  - lib/skellington/generator.rb
213
+ - lib/skellington/helpers.rb
183
214
  - lib/skellington/template.rb
184
215
  - lib/skellington/version.rb
185
216
  - lib/templates/Gemfile.eruby
@@ -189,6 +220,7 @@ files:
189
220
  - lib/templates/features/first.feature.eruby
190
221
  - lib/templates/features/support/env.rb.eruby
191
222
  - lib/templates/lib/app.rb.eruby
223
+ - lib/templates/post-run.eruby
192
224
  - skellington.gemspec
193
225
  - spec/skellington_spec.rb
194
226
  - spec/spec_helper.rb
@@ -219,9 +251,11 @@ specification_version: 4
219
251
  summary: Opinionated boilerplate skeleton for a cuked Sinatra app
220
252
  test_files:
221
253
  - features/app.feature
254
+ - features/cli.feature
222
255
  - features/config.ru.feature
223
256
  - features/cukes.feature
224
257
  - features/gemfile.feature
258
+ - features/git.feature
225
259
  - features/procfile.feature
226
260
  - features/rakefile.feature
227
261
  - features/support/app.feature