prigner 0.1.1 → 0.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.
Files changed (36) hide show
  1. data/CHANGELOG +29 -0
  2. data/README.rdoc +32 -42
  3. data/Rakefile +12 -8
  4. data/lib/prigner/builder.rb +8 -3
  5. data/lib/prigner/cli/new.rb +30 -8
  6. data/lib/prigner/cli.rb +1 -2
  7. data/lib/prigner/extensions.rb +14 -2
  8. data/lib/prigner/template.rb +31 -7
  9. data/lib/prigner.rb +2 -2
  10. data/prigner.gemspec +14 -5
  11. data/share/templates/bash/default/models/script.sh +45 -0
  12. data/share/templates/bash/default/models/scriptrc +2 -0
  13. data/share/templates/bash/default/specfile +18 -0
  14. data/share/templates/ruby/default/models/executable +23 -0
  15. data/share/templates/ruby/default/models/testhelper.rb +23 -0
  16. data/share/templates/ruby/default/specfile +20 -4
  17. data/share/templates/ruby/gem/models/README.rdoc +4 -0
  18. data/share/templates/ruby/gem/models/Rakefile +81 -148
  19. data/share/templates/ruby/gem/models/cli.rb +43 -0
  20. data/share/templates/ruby/gem/models/executable +23 -0
  21. data/share/templates/ruby/gem/models/gemspec +10 -8
  22. data/share/templates/ruby/gem/models/module.rb +24 -9
  23. data/share/templates/ruby/gem/models/testhelper.rb +23 -0
  24. data/share/templates/ruby/gem/specfile +20 -8
  25. data/test/builder_test.rb +15 -0
  26. data/test/fixtures/templates/shared/templates/ruby/default/models/cli.rb +0 -0
  27. data/test/fixtures/templates/shared/templates/ruby/default/models/executable +23 -0
  28. data/test/fixtures/templates/shared/templates/ruby/default/models/testhelper.rb +0 -0
  29. data/test/fixtures/templates/shared/templates/ruby/default/specfile +21 -9
  30. data/test/helpers.rb +8 -8
  31. data/test/spec_test.rb +18 -4
  32. data/test/template_test.rb +21 -6
  33. metadata +19 -10
  34. data/share/templates/ruby/gem/models/README.mkd +0 -5
  35. data/share/templates/ruby/gem/models/empty_test.rb +0 -16
  36. data/test/fixtures/templates/shared/templates/ruby/default/README.mkd +0 -2
@@ -1,145 +1,92 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__)))
2
2
 
3
3
  require "rake/clean"
4
+ require "rake/testtask"
5
+ require "rake/gempackagetask"
6
+ require "rake/rdoctask"
4
7
  require "lib/<%=project.name%>"
5
8
 
6
- # Helpers
9
+ # Configurations
7
10
  # =============================================================================
8
11
 
9
- def rdoc(*args)
10
- @rdoc ||= if Gem.available? "hanna"
11
- ["hanna", "--fmt", "html", "--accessor", "option_accessor=RW", *args]
12
- else
13
- ["rdoc", *args]
14
- end
15
- sh @rdoc.join(" ")
16
- end
17
-
18
- def test(pattern)
19
- testfiles = Dir[pattern]
20
- if Gem.available? "turn"
21
- sh [ "turn", *testfiles ].join(" ")
22
- else
23
- testfiles.each do |testfile|
24
- sh "ruby #{testfile}"
25
- end
26
- end
12
+ def git(cmd, *args)
13
+ `git #{cmd.to_s.gsub('_','-')} #{args.join(' ')}`
27
14
  end
28
15
 
29
16
  def manifest
30
- @manifest ||= `git ls-files`.split("\n").sort.reject do |out|
17
+ @manifest ||= git(:ls_files).split("\n").sort.reject do |out|
31
18
  out =~ /^\./ || out =~ /^doc/
32
19
  end.map do |file|
33
20
  " #{file.inspect}"
34
21
  end.join(",\n")
35
22
  end
36
23
 
37
- def log
38
- @log ||= `git log --date=short --format='%d;%cd;%s;%b;'`
39
- end
40
-
41
24
  def version
42
25
  @version ||= <%=project.class_name%>.version
43
26
  end
44
27
 
28
+ def tag
29
+ git(:tag).split("\n").last
30
+ end
31
+
32
+ def specfile
33
+ @specfile ||= Pathname.new("<%=project.name%>.gemspec")
34
+ end
35
+
45
36
  def gemspec
46
- @gemspec ||= Struct.new(:spec, :file).new
47
- @gemspec.file ||= Pathname.new("<%=project.name%>.gemspec")
48
- @gemspec.spec ||= eval @gemspec.file.read
49
- @gemspec
37
+ @gemspec ||= eval(specfile.read)
50
38
  end
51
39
 
52
- # Documentation
40
+ # Test
53
41
  # =============================================================================
54
42
 
55
- namespace :doc do
43
+ Rake::TestTask.new do |test|
44
+ test.libs << "test"
45
+ test.test_files = FileList["test/*_test.rb"]
46
+ test.verbose = true
47
+ end
56
48
 
57
- CLOBBER << FileList["doc/*"]
49
+ # Packaging
50
+ # =============================================================================
58
51
 
59
- file "doc/api/index.html" => FileList["lib/**/*.rb", "README.mkd", "CHANGELOG"] do |filespec|
60
- rm_rf "doc"
61
- rdoc "--op", "doc/api",
62
- "--charset", "utf8",
63
- "--main", "'<%=project.class_name%>'",
64
- "--title", "'<%=project.class_name%> v#{version.tag} API Documentation'",
65
- "--inline-source",
66
- "--promiscuous",
67
- "--line-numbers",
68
- filespec.prerequisites.join(" ")
69
- end
52
+ Rake::GemPackageTask.new gemspec do |spec|
53
+ spec.need_tar = true
54
+ end
70
55
 
71
- desc "Build API documentation (doc/api)"
72
- task :api => "doc/api/index.html"
73
-
74
- desc "Creates/updates CHANGELOG file."
75
- task :changelog do |spec|
76
- historic = {}
77
- text = ""
78
-
79
- log.scan(/(.*?);(.*?);(.*?);(.*?);/m) do |tag, date, subject, content|
80
-
81
- historic[date] = {
82
- :release => "#{date} #{tag.match(/(v\d\..*)/im) ? tag : nil}",
83
- :changes => []
84
- } unless historic.has_key? date
85
-
86
- historic[date][:changes] << "\n* #{subject}\n"
87
- historic[date][:changes] << content.gsub(/(.*?)\n/m){"\n #{$1}\n"} unless content.empty?
88
- end
89
-
90
- historic.keys.sort.reverse.each do |date|
91
- entry = historic[date]
92
- puts "Adding historic from date #{date} ..."
93
- text << <<-end_text.gsub(/^[ ]{8}/,'')
94
- #{entry[:release]}
95
- #{"-" * entry[:release].size}
96
- #{entry[:changes]}
97
- end_text
98
- end
99
-
100
- File.open("CHANGELOG", "w+") { |changelog| changelog << text }
101
- puts "Historic has #{historic.keys.size} entry dates"
102
- puts "Successfully updated CHANGELOG file"
103
- end
56
+ # Documentation
57
+ # =============================================================================
104
58
 
59
+ Rake::RDocTask.new :doc do |rdoc|
60
+ rdoc.main = "<%=project.upper_camel_case_namespace%>"
61
+ rdoc.title = "<%=project.upper_camel_case_namespace%> v#{version.tag} API Documentation"
62
+ rdoc.rdoc_dir = "doc/api"
63
+ rdoc.rdoc_files = FileList["lib/**/*.rb", "README.rdoc", "CHANGELOG"]
64
+ rdoc.options << "--charset utf8" << "--inline-source" << "--promiscuous" << "--line-numbers"
105
65
  end
106
66
 
107
67
  # Versioning
108
68
  # =============================================================================
109
69
 
110
- namespace :version do
111
-
112
- major, minor, patch, build = version.tag.split(".").map{ |key| key.to_i } << 0
113
-
114
- desc "Dump major version"
115
- task :major do
116
- version.tag = "#{major+=1}.0.0"
117
- version.save!
118
- puts version.to_hash.to_yaml
119
- end
120
-
121
- desc "Dump minor version"
122
- task :minor do
123
- version.tag = "#{major}.#{minor+=1}.0"
124
- version.save!
125
- puts version.to_hash.to_yaml
126
- end
70
+ desc "Dump version (current v#{version.tag})."
71
+ task :version, [:counter,:release] do |spec, args|
72
+ numbering = version.numbering
73
+ tagnames = %w[major minor patch]
127
74
 
128
- desc "Dump patch version"
129
- task :patch do
130
- version.tag = "#{major}.#{minor}.#{patch+=1}"
131
- version.save!
132
- puts version.to_hash.to_yaml
75
+ if index = tagnames.index(args[:counter])
76
+ numbering[index] += 1
77
+ numbering.fill(0, (index + 1)..-1)
78
+ else
79
+ numbering[-1] += 1
133
80
  end
134
81
 
135
- desc "Dump build version"
136
- task :build do
137
- version.tag = "#{major}.#{minor}.#{patch}.#{build+=1}"
138
- version.save!
139
- puts version.to_hash.to_yaml
140
- end
82
+ numbering[-1] = "#{numbering[-1]}#{args[:release]}"
83
+ version.tag = numbering.join(".")
84
+ version.save!
85
+ puts version.to_hash.to_yaml
86
+ end
141
87
 
142
- desc "Update version date (current #{version.date})"
88
+ namespace :version do
89
+ desc "Update version date (current #{version.date})."
143
90
  task :date, [:date] do |spec, args|
144
91
  require "parsedate"
145
92
  require "date"
@@ -149,65 +96,51 @@ namespace :version do
149
96
  puts version.to_hash.to_yaml
150
97
  end
151
98
  end
152
-
153
- task :version => "version:build"
154
-
155
- # RubyGems
99
+ #
100
+ # Packaging
156
101
  # =============================================================================
157
102
 
158
- namespace :gem do
159
-
160
- file gemspec.file => FileList["{lib,test}/**", "Rakefile"] do
161
- spec = gemspec.file.read
162
-
163
- puts "Updating version ..."
164
- spec.sub! /spec\.version\s*=\s*".*?"/, "spec.version = #{version.tag.inspect}"
165
-
166
- puts "Updating date of version ..."
167
- spec.sub! /spec\.date\s*=\s*".*?"/, "spec.date = #{version.date.to_s.inspect}"
103
+ task :tagged do
104
+ abort "The gemspec not updated to version #{version.tag} (#{gemspec.version})" \
105
+ unless gemspec.version.to_s == version.tag
106
+ abort "The version #{version.tag} is not tagged." \
107
+ unless tag[1..-1] == version.tag
108
+ end
168
109
 
169
- puts "Updating file list ..."
170
- spec.sub! /spec\.files\s*=\s*\[.*?\]/m, "spec.files = [\n#{manifest}\n ]"
110
+ file specfile => FileList["{bin,lib,test}/**", "Rakefile"] do
111
+ spec = specfile.read
171
112
 
172
- gemspec.file.open("w+") { |file| file << spec }
113
+ puts "Updating version ..."
114
+ spec.sub! /spec\.version\s*=\s*".*?"/, "spec.version = #{version.tag.inspect}"
173
115
 
174
- puts "Successfully update #{gemspec.file} file"
175
- end
116
+ puts "Updating date of version ..."
117
+ spec.sub! /spec\.date\s*=\s*".*?"/, "spec.date = #{version.date.to_s.inspect}"
176
118
 
177
- desc "Build gem package #{gemspec.spec.file_name}"
178
- task :build => gemspec.file do
179
- sh "gem build #{gemspec.file}"
180
- end
119
+ puts "Updating file list ..."
120
+ spec.sub! /spec\.files\s*=\s*\[.*?\]/m, "spec.files = [\n#{manifest}\n ]"
181
121
 
182
- desc "Deploy gem package to RubyGems.org"
183
- task :deploy => :build do
184
- sh "gem push #{gemspec.spec.file_name}"
185
- end
186
-
187
- desc "Install gem package #{gemspec.spec.file_name}"
188
- task :install => :build do
189
- sh "gem install #{gemspec.spec.file_name} --local"
190
- end
191
-
192
- desc "Uninstall gem package #{gemspec.spec.file_name}"
193
- task :uninstall do
194
- sh "gem uninstall #{gemspec.spec.name} --version #{gemspec.spec.version}"
195
- end
122
+ specfile.open("w+") { |file| file << spec }
196
123
 
124
+ puts "Successfully update #{specfile} file"
197
125
  end
198
126
 
199
- task :gem => "gem:build"
127
+ desc "Release gem package to repositories."
128
+ task :release => [ :tagged, :package ] do
129
+ sh "gem push #{package('.gem')}"
130
+ end
200
131
 
201
- # Test
202
- # =============================================================================
132
+ desc "Install gem package #{gemspec.file_name}."
133
+ task :install => :package do
134
+ sh "gem install #{package('.gem')} --local"
135
+ end
203
136
 
204
- desc "Run tests"
205
- task :test, [:pattern] do |spec, args|
206
- test(args[:pattern] ? "test/#{args[:pattern]}_test.rb" : "test/*_test.rb")
137
+ desc "Uninstall gem package #{gemspec.file_name}."
138
+ task :uninstall do
139
+ sh "gem uninstall #{gemspec.name} --version #{gemspec.version}"
207
140
  end
208
141
 
209
142
  # Default
210
143
  # =============================================================================
211
144
 
212
- task :default => "test"
145
+ task :default => :test
213
146
 
@@ -0,0 +1,43 @@
1
+ # == Command-Line Interface
2
+ #
3
+ # This module look a command placed in CLI directory and run it.
4
+ module <%=project.upper_camel_case_namespace%>
5
+
6
+ module CLI
7
+
8
+ require "rbconfig"
9
+
10
+ # Ruby VM installed in OS.
11
+ def self.ruby
12
+ File.join(*::RbConfig::CONFIG.values_at("bindir", "ruby_install_name")) +
13
+ ::RbConfig::CONFIG["EXEEXT"]
14
+ end
15
+
16
+ # The CLI path.
17
+ def self.path
18
+ "#{<%=project.upper_camel_case_namespace%>::ROOT}/lib/<%=project.name%>/cli"
19
+ end
20
+
21
+ # List of commands placed in <tt>lib/prigner/cli/</tt>.
22
+ def self.commands
23
+ Dir["#{path}/*.rb"].map do |source|
24
+ File.basename(source, ".rb")
25
+ end.sort
26
+ end
27
+
28
+ # Source command placed in CLI directory.
29
+ def self.source(command)
30
+ "#{path}/#{command}.rb"
31
+ end
32
+
33
+ # Look command in *CLI* directory and execute (by exec).
34
+ def self.run(*args)
35
+ command = args.shift if commands.include? args.first
36
+ raise RuntimeError, "unknown command '#{args.first}'" unless command
37
+ exec ruby, rubyopt, source(command), *args
38
+ end
39
+
40
+ end
41
+
42
+ end
43
+
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "optparse"
4
+ require "<%=project.name%>"
5
+
6
+ ARGV.options do |args|
7
+
8
+ args.on "-s", "--set VALUE", String, "Set anything" do |anything|
9
+ puts "Setting anything to #{anything} ..."
10
+ end
11
+
12
+ args.on "-a", "--anything", TrueClass, "Do anything!" do |enabled|
13
+ puts "Enable to doing anything ..." if enabled
14
+ end
15
+
16
+ unless ARGV.empty?
17
+ args.parse!
18
+ else
19
+ puts args
20
+ exit 0
21
+ end
22
+
23
+ end
@@ -8,12 +8,14 @@ Gem::Specification.new do |spec|
8
8
  spec.author = "<%=project.author%>"
9
9
  spec.email = ""
10
10
  spec.homepage = "http://rubygems.org/gems/<%=project.name%>"
11
- #spec.executables = [ "" ]
12
- #spec.default_executable = ""
11
+ <%if option.bin.enabled%>
12
+ #executable
13
+ spec.executables = [ "<%=project.name%>" ]
14
+ spec.default_executable = "<%=project.name%>"
13
15
  #
14
-
16
+ <%end%>
15
17
  #version
16
- spec.version = "0.0.1"
18
+ spec.version = "0.1.0"
17
19
  spec.date = "<%=date%>"
18
20
  #
19
21
 
@@ -25,7 +27,7 @@ Gem::Specification.new do |spec|
25
27
  spec.files = [
26
28
  "CHANGELOG",
27
29
  "COPYING",
28
- "README.mkd",
30
+ "README.rdoc",
29
31
  "Rakefile",
30
32
  "lib/<%=project.name%>.rb",
31
33
  "<%=project.name%>.gemspec",
@@ -40,7 +42,7 @@ Gem::Specification.new do |spec|
40
42
  #documentation
41
43
  spec.has_rdoc = true
42
44
  spec.extra_rdoc_files = [
43
- "README.mkd",
45
+ "README.rdoc",
44
46
  "COPYING",
45
47
  "CHANGELOG"
46
48
  ]
@@ -56,9 +58,9 @@ Gem::Specification.new do |spec|
56
58
  spec.rubyforge_project = spec.name
57
59
  spec.post_install_message = <<-end_message.gsub(/^[ ]{4}/,'')
58
60
  #{'-'*78}
59
- <%=project.class_name%> v#{spec.version}
61
+ <%=project.upper_camel_case_namespace%> v#{spec.version}
60
62
 
61
- Thanks for use <%=project.class_name%>.
63
+ Thanks for use <%=project.upper_camel_case_namespace%>.
62
64
 
63
65
  #{'-'*78}
64
66
  end_message
@@ -1,7 +1,6 @@
1
1
  #@ ---
2
- #@ :tag: 0.0.1
2
+ #@ :tag: 0.1.0
3
3
  #@ :date: <%=date%>
4
- #@ :milestone: Pre-Alpha
5
4
  #@ :timestamp: <%=Time.now.strftime "%F %T %z"%>
6
5
 
7
6
  # encoding: UTF-8
@@ -15,18 +14,24 @@ module <%=project.upper_camel_case_namespace%>
15
14
  require "pathname"
16
15
  require "yaml"
17
16
 
17
+ ROOT = File.join(File.dirname(__FILE__), "..")
18
+
18
19
  # Return the current version.
19
20
  def self.version
20
21
  @version ||= Version.current
21
22
  end
22
23
 
23
- class Version #:nodoc:
24
+ # The objective of this class is to implement various ideas proposed by the
25
+ # Semantic Versioning Specification (see reference[http://semver.org/]).
26
+ class Version
24
27
 
25
28
  FILE = Pathname.new(__FILE__).freeze
26
29
 
27
- attr_accessor :tag, :date, :milestone
30
+ attr_accessor :date, :tag
31
+
28
32
  attr_reader :timestamp
29
33
 
34
+ # Basic initialization of the attributes using a single hash.
30
35
  def initialize(attributes = {})
31
36
  attributes.each do |attribute, value|
32
37
  send("#{attribute}=", value) if respond_to? "#{attribute}="
@@ -34,17 +39,27 @@ module <%=project.upper_camel_case_namespace%>
34
39
  @timestamp = attributes[:timestamp]
35
40
  end
36
41
 
42
+ # The numbering of the major, minor and patch values.
43
+ def numbering
44
+ self.tag.split(".").map do |key|
45
+ if key.match(/^(\d{1,})(\w+).*$/)
46
+ [ $1.to_i, $2 ]
47
+ else
48
+ key.to_i
49
+ end
50
+ end.flatten
51
+ end
52
+
37
53
  def to_hash
38
- [:tag, :date, :milestone, :timestamp].inject({}) do |hash, key|
54
+ [:tag, :date, :timestamp].inject({}) do |hash, key|
39
55
  hash[key] = send(key)
40
56
  hash
41
57
  end
42
58
  end
43
59
 
44
60
  def save!
45
- @date = Date.today
46
61
  source = FILE.readlines
47
- source[0..4] = self.to_hash.to_yaml.to_s.gsub(/^/, '#@ ')
62
+ source[0..3] = self.to_hash.to_yaml.to_s.gsub(/^/, '#@ ')
48
63
  FILE.open("w+") do |file|
49
64
  file << source.join("")
50
65
  end
@@ -53,7 +68,7 @@ module <%=project.upper_camel_case_namespace%>
53
68
 
54
69
  class << self
55
70
  def current
56
- yaml = FILE.readlines[0..4].
71
+ yaml = FILE.readlines[0..3].
57
72
  join("").
58
73
  gsub(/\#@ /,'')
59
74
  new(YAML.load(yaml))
@@ -61,7 +76,7 @@ module <%=project.upper_camel_case_namespace%>
61
76
 
62
77
  def to_s
63
78
  name.match(/(.*?)::.*/)
64
- "#{$1} v#{current.tag}, #{current.date} (#{current.milestone})"
79
+ "#{$1} v#{current.tag} (#{current.date})"
65
80
  end
66
81
  end # self
67
82
 
@@ -0,0 +1,23 @@
1
+ # This code extracted from book "Ruby Best Practices" and the code be found
2
+ # in http://github.com/sandal/rbp/blob/master/testing/test_unit_extensions.rb
3
+
4
+ TEST_HOME = File.expand_path(File.dirname(__FILE__)) unless defined? TEST_HOME
5
+ FIXTURES = File.join(TEST_HOME, "fixtures") unless defined? FIXTURES
6
+
7
+ module Test::Unit
8
+ class TestCase
9
+ def self.should(description, &block)
10
+ test_name = "test_#{description.gsub(/\s+/,'_')}".downcase.to_sym
11
+ defined = instance_method(test_name) rescue false
12
+ raise "#{test_name} is already defined in #{self}" if defined
13
+ if block_given?
14
+ define_method(test_name, &block)
15
+ else
16
+ define_method(test_name) do
17
+ flunk "No implementation provided for #{description}"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -1,9 +1,19 @@
1
- author : Hallison Batista
2
- email : hallison@codigorama.com
3
- version : 0.1.0
4
- description : Default template for RubyGem projects
1
+ author:
2
+ Hallison Batista
3
+ email:
4
+ hallison@codigorama.com
5
+ version:
6
+ 0.2.0
7
+ description:
8
+ Default template for RubyGem projects.
5
9
 
6
10
  options:
11
+ bin:
12
+ description:
13
+ Includes executable file.
14
+ files:
15
+ executable: bin/(project)
16
+ cli.rb: lib/(project)/cli.rb
7
17
 
8
18
  directories:
9
19
  - lib/(project)
@@ -12,9 +22,11 @@ directories:
12
22
  files:
13
23
  CHANGELOG:
14
24
  COPYING:
15
- README.mkd:
25
+ README.rdoc:
16
26
  Rakefile:
17
- gemspec: (project).gemspec
18
- module.rb: lib/(project).rb
19
- empty_test.rb: test/(project)_test.rb
27
+ gemspec: (project).gemspec
28
+ module.rb: lib/(project).rb
29
+ test.rb: test/(project)_test.rb
30
+ testhelper.rb: test/helper.rb
20
31
 
32
+ # vim: filetype=yaml
data/test/builder_test.rb CHANGED
@@ -2,6 +2,11 @@ require "test/unit"
2
2
  require "test/helpers"
3
3
  require "lib/prigner"
4
4
 
5
+ def Prigner.shared_path
6
+ [ "#{ENV['HOME']}/.prigner/templates",
7
+ "#{FIXTURES}/templates/shared/templates" ]
8
+ end
9
+
5
10
  class BuilderTest < Test::Unit::TestCase
6
11
 
7
12
  def setup
@@ -34,5 +39,15 @@ class BuilderTest < Test::Unit::TestCase
34
39
  end
35
40
  end
36
41
 
42
+ should "create optional files" do
43
+ options = %w[bin test]
44
+ options.each do |option|
45
+ files = @builder.make_project_files_for_option(option)
46
+ files.each do |file, status|
47
+ assert status, "File #{file} not created"
48
+ end
49
+ end
50
+ end
51
+
37
52
  end
38
53
 
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "optparse"
4
+ require "<%=project.name%>"
5
+
6
+ ARGV.options do |args|
7
+
8
+ args.on "-s", "--set VALUE", String, "Set anything" do |anything|
9
+ puts "Setting anything to #{anything} ..."
10
+ end
11
+
12
+ args.on "-a", "--anything", TrueClass, "Do anything!" do |enabled|
13
+ puts "Enable to doing anything ..." if enabled
14
+ end
15
+
16
+ unless ARGV.empty?
17
+ args.parse!
18
+ else
19
+ puts args
20
+ exit 0
21
+ end
22
+
23
+ end
@@ -1,18 +1,30 @@
1
- author : John Doe
2
- email : john.doe@se7en.com
3
- version : 0.1.0
4
- description : Default template for Ruby projects
1
+ author: John Doe
2
+ email: john.doe@se7en.com
3
+ version: 0.1.0
4
+ description: Default template for Ruby projects
5
5
 
6
6
  options:
7
- svn: Include Subversion keywords in code.
8
- git: Enable Git flags in templates.
7
+ svn:
8
+ Include Subversion keywords in code.
9
+ git:
10
+ Enable Git flags in templates.
11
+ bin:
12
+ description: Include executable file in bin/<name>.
13
+ files:
14
+ executable: bin/(project)
15
+ cli.rb: lib/(project)/cli.rb
16
+ test:
17
+ description: Include test files.
18
+ files:
19
+ empty_test.rb: test/(project)_test.rb
20
+ testhelper.rb: test/helper.rb
9
21
 
10
22
  directories:
11
23
  - test/fixtures
12
24
  - lib/(project)
13
25
 
14
26
  files:
15
- README.mkd :
16
- module.rb : lib/(project).rb
17
- empty_test.rb : test/(project)_test.rb
27
+ README.mkd:
28
+ module.rb: lib/(project).rb
18
29
 
30
+ # vim: filetype=yaml