gemsmith 1.2.0 → 1.3.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/CHANGELOG.rdoc +15 -0
- data/README.rdoc +12 -7
- data/bin/gemsmith +1 -1
- data/lib/gemsmith.rb +1 -0
- data/lib/gemsmith/cli.rb +28 -19
- data/lib/gemsmith/kit.rb +12 -0
- data/lib/gemsmith/templates/Gemfile.tmp +1 -1
- data/lib/gemsmith/templates/README.rdoc.tmp +4 -0
- data/lib/gemsmith/templates/bin/gem.tmp +1 -1
- data/lib/gemsmith/templates/gem.gemspec.tmp +8 -7
- data/lib/gemsmith/templates/gitignore.tmp +1 -0
- data/lib/gemsmith/templates/rspec.tmp +1 -1
- data/lib/gemsmith/templates/travis.yml.tmp +5 -0
- data/lib/gemsmith/version.rb +1 -1
- metadata +35 -31
- data/.gitignore +0 -4
- data/.rspec +0 -2
- data/Gemfile +0 -2
- data/Rakefile +0 -1
- data/gemsmith.gemspec +0 -30
- data/spec/settings_spec.rb +0 -69
- data/spec/spec_helper.rb +0 -3
- data/spec/support/settings.yml +0 -12
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
= v1.3.0
|
2
|
+
|
3
|
+
* Specified Thor+ 0.2.x version dependency.
|
4
|
+
* Added Travis CI support.
|
5
|
+
* Added Travis CI template support (can be disable via your settings.yml or during new gem creation).
|
6
|
+
* Added the spec/tmp directory to the gitignore template.
|
7
|
+
* Added Gemsmith::Kit class with a supplementary utility method for obtaining .gitconfig values.
|
8
|
+
* Added github user support - Defaults to github config file or settings.yml.
|
9
|
+
* Updated RSpec format to better represent class and instance methods.
|
10
|
+
* Removed the -w option from gem binary and the binary template.
|
11
|
+
* No longer shell out to Git when referencing the gem/template files in gemspecs - This increases Rails boot performance.
|
12
|
+
* Switched Gemfile and Gemfile.tmp reference from "http://rubygems.org" to :rubygems.
|
13
|
+
* Moved documentation files to the extra_rdoc_files option for gem specifications
|
14
|
+
* Removed the packaging of test files.
|
15
|
+
|
1
16
|
= v1.2.0
|
2
17
|
|
3
18
|
* Updated README and README template with new layout for test instructions.
|
data/README.rdoc
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
= Overview
|
2
2
|
|
3
|
+
{<img src="https://secure.travis-ci.org/bkuhlmann/gemsmith.png" />}[http://travis-ci.org/bkuhlmann/gemsmith]
|
4
|
+
|
3
5
|
Gemsmith allows you to easily craft new gems via the command line with custom settings (if desired). If you are
|
4
6
|
a fan of Bundler[https://github.com/carlhuda/bundler], then you'll appreciate the additional capabilities of this
|
5
7
|
gem. Gemsmith is essentially an enhanced version of Bundler's gem building capabilities.
|
@@ -7,10 +9,11 @@ gem. Gemsmith is essentially an enhanced version of Bundler's gem building capab
|
|
7
9
|
= Features
|
8
10
|
|
9
11
|
* Builds a gem skeleton with Bundler functionality in mind.
|
10
|
-
*
|
12
|
+
* Supports common settings that can be applied to new gem creations.
|
11
13
|
* Supports binary skeletons with Thor[https://github.com/wycats/thor] command line functionality.
|
12
14
|
* Supports {Ruby on Rails}[http://rubyonrails.org] skeletons.
|
13
|
-
* Supports RSpec[http://rspec.info]
|
15
|
+
* Supports RSpec[http://rspec.info] skeletons.
|
16
|
+
* Supports {Travis CI}[http://travis-ci.org] skeletons.
|
14
17
|
* Adds commonly needed README, CHANGELOG, LICENSE, etc. template files.
|
15
18
|
* Provides the ability to open any installed gem within your favorite editor.
|
16
19
|
|
@@ -48,10 +51,10 @@ If no options are configured, then the defaults are as follows:
|
|
48
51
|
gem_url: <author URL>
|
49
52
|
company_name: <author name>
|
50
53
|
company_url: <author URL>
|
54
|
+
github_user: <github user>
|
51
55
|
year: <current year>
|
52
56
|
ruby_version: 1.9.0
|
53
57
|
rails_version: 3.1.0
|
54
|
-
post_install_message: nil
|
55
58
|
|
56
59
|
= Usage
|
57
60
|
|
@@ -65,10 +68,12 @@ From the command line, type: gemsmith help
|
|
65
68
|
|
66
69
|
For more gem creation options, type: gemsmith help create
|
67
70
|
|
68
|
-
-b, [--bin]
|
69
|
-
-r, [--rails]
|
70
|
-
-s, [--rspec]
|
71
|
-
|
71
|
+
-b, [--bin] # Add binary support.
|
72
|
+
-r, [--rails] # Add Rails support.
|
73
|
+
-s, [--rspec] # Add RSpec support.
|
74
|
+
# Default: true
|
75
|
+
-t, [--travis] # Add Travis CI support.
|
76
|
+
# Default: true
|
72
77
|
|
73
78
|
Also, don't forget that once you have created your gem skeleton, the following rake tasks are also
|
74
79
|
available to you via Bundler (i.e. rake -T):
|
data/bin/gemsmith
CHANGED
data/lib/gemsmith.rb
CHANGED
data/lib/gemsmith/cli.rb
CHANGED
@@ -25,12 +25,13 @@ module Gemsmith
|
|
25
25
|
method_option :bin, aliases: "-b", desc: "Add binary support.", type: :boolean, default: false
|
26
26
|
method_option :rails, aliases: "-r", desc: "Add Rails support.", type: :boolean, default: false
|
27
27
|
method_option :rspec, aliases: "-s", desc: "Add RSpec support.", type: :boolean, default: true
|
28
|
+
method_option :travis, aliases: "-t", desc: "Add Travis CI support.", type: :boolean, default: true
|
28
29
|
def create name
|
29
30
|
say
|
30
31
|
info "Creating gem..."
|
31
|
-
|
32
|
+
|
32
33
|
# Initialize options.
|
33
|
-
template_options = build_template_options name, options
|
34
|
+
template_options = build_template_options name, @settings, options
|
34
35
|
gem_name = template_options[:gem_name]
|
35
36
|
|
36
37
|
# Configure templates.
|
@@ -77,6 +78,11 @@ module Gemsmith
|
|
77
78
|
template File.join("spec", "spec_helper.rb.tmp"), File.join(target_path, "spec", "spec_helper.rb"), template_options
|
78
79
|
template File.join("spec", "gem_spec.rb.tmp"), File.join(target_path, "spec", "#{gem_name}_spec.rb"), template_options
|
79
80
|
end
|
81
|
+
|
82
|
+
# Travis CI (optional).
|
83
|
+
if template_options[:travis]
|
84
|
+
template "travis.yml.tmp", File.join(target_path, ".travis.yml"), template_options
|
85
|
+
end
|
80
86
|
|
81
87
|
# Git
|
82
88
|
Dir.chdir(target_path) do
|
@@ -137,31 +143,34 @@ module Gemsmith
|
|
137
143
|
# Builds template options with default and/or custom settings (where the custom
|
138
144
|
# settings trump default settings).
|
139
145
|
# ==== Parameters
|
140
|
-
# * +
|
141
|
-
# * +
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
146
|
+
# * +gem_name+ - Required. The gem name.
|
147
|
+
# * +settings+ - Optional. The custom settings. Default: {}.
|
148
|
+
# * +options+ - Optional. Additional command line options. Default: {}.
|
149
|
+
def build_template_options gem_name, settings = {}, options = {}
|
150
|
+
gem_name = Thor::Util.snake_case gem_name
|
151
|
+
gem_class = Thor::Util.camel_case gem_name
|
152
|
+
author_name = settings[:author_name] || Gemsmith::Kit.git_config_value("user.name") || "TODO: Add full name here."
|
153
|
+
author_email = settings[:author_email] || Gemsmith::Kit.git_config_value("user.email") || "TODO: Add email address here."
|
154
|
+
author_url = settings[:author_url] || "https://www.unknown.com"
|
148
155
|
{
|
149
156
|
gem_name: gem_name,
|
150
157
|
gem_class: gem_class,
|
151
|
-
gem_platform: (
|
158
|
+
gem_platform: (settings[:gem_platform] || "Gem::Platform::RUBY"),
|
152
159
|
author_name: author_name,
|
153
160
|
author_email: author_email,
|
154
161
|
author_url: (author_url || "http://www.unknown.com"),
|
155
|
-
gem_url: (
|
156
|
-
company_name: (
|
157
|
-
company_url: (
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
+
gem_url: (settings[:gem_url] || author_url),
|
163
|
+
company_name: (settings[:company_name] || author_name),
|
164
|
+
company_url: (settings[:company_url] || author_url),
|
165
|
+
github_user: (settings[:github_user] || Gemsmith::Kit.git_config_value("github.user") || "unknown"),
|
166
|
+
year: (settings[:year] || Time.now.year),
|
167
|
+
ruby_version: (settings[:ruby_version] || "1.9.0"),
|
168
|
+
rails_version: (settings[:rails_version] || "3.1.0"),
|
169
|
+
post_install_message: settings[:post_install_message],
|
162
170
|
bin: (options[:bin] || false),
|
163
171
|
rails: (options[:rails] || false),
|
164
|
-
rspec: (options[:rspec]
|
172
|
+
rspec: (options[:rspec] || true),
|
173
|
+
travis: (options[:travis] || true)
|
165
174
|
}
|
166
175
|
end
|
167
176
|
end
|
data/lib/gemsmith/kit.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
module Gemsmith
|
2
|
+
# Provides supplementary utility methods.
|
3
|
+
class Kit
|
4
|
+
# Answers the git config (i.e. ~/.gitconfig) value for a given key, otherwise nil.
|
5
|
+
# ==== Parameters
|
6
|
+
# # * +key+ - Required. The git config key to search for.
|
7
|
+
def self.git_config_value key
|
8
|
+
value = `git config #{key}`.chomp
|
9
|
+
value.nil? || value.empty? ? nil : value
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,2 +1,2 @@
|
|
1
|
-
source
|
1
|
+
source :rubygems
|
2
2
|
gemspec
|
@@ -1,5 +1,9 @@
|
|
1
1
|
= Overview
|
2
2
|
|
3
|
+
<%- if config[:travis] -%>
|
4
|
+
{<img src="https://secure.travis-ci.org/<%= config[:github_user] %>/<%= config[:gem_name] %>.png" />}[http://travis-ci.org/<%= config[:github_user] %>/<%= config[:gem_name] %>]
|
5
|
+
<%- end -%>
|
6
|
+
|
3
7
|
= Features
|
4
8
|
|
5
9
|
= Requirements
|
@@ -16,7 +16,6 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.post_install_message = "<%= config[:post_install_message] %>"
|
17
17
|
<%- end -%>
|
18
18
|
|
19
|
-
s.rdoc_options << "CHANGELOG.rdoc"
|
20
19
|
s.required_ruby_version = "~> <%= config[:ruby_version] %>"
|
21
20
|
<%- if config[:bin] -%>
|
22
21
|
s.add_dependency "thor"
|
@@ -25,18 +24,20 @@ Gem::Specification.new do |s|
|
|
25
24
|
<%- if config[:rails] -%>
|
26
25
|
s.add_dependency "rails", "~> <%= config[:rails_version] %>"
|
27
26
|
<%- end -%>
|
27
|
+
<%- if config[:travis] -%>
|
28
|
+
s.add_development_dependency "rake"
|
29
|
+
<%- end -%>
|
28
30
|
<%- if config[:rspec] -%>
|
29
31
|
s.add_development_dependency "rspec"
|
30
32
|
<%- end -%>
|
31
33
|
<%- if config[:bin] -%>
|
32
34
|
s.add_development_dependency "aruba"
|
33
35
|
<%- end -%>
|
36
|
+
|
37
|
+
s.files = Dir["lib/**/*"]
|
38
|
+
s.extra_rdoc_files = Dir["README*", "CHANGELOG*", "LICENSE*"]
|
34
39
|
<%- if config[:bin] -%>
|
35
|
-
s.executables
|
40
|
+
s.executables << "<%= config[:gem_name] %>"
|
36
41
|
<%- end -%>
|
37
|
-
|
38
|
-
s.files = `git ls-files`.split("\n")
|
39
|
-
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
40
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map {|f| File.basename f}
|
41
|
-
s.require_paths = ["lib"]
|
42
|
+
s.require_paths = ["lib"]
|
42
43
|
end
|
@@ -1,2 +1,2 @@
|
|
1
1
|
--color
|
2
|
-
--format documentation
|
2
|
+
--format documentation
|
data/lib/gemsmith/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemsmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-14 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70314477299460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,21 +21,32 @@ dependencies:
|
|
21
21
|
version: 0.14.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70314477299460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: thor_plus
|
27
|
-
requirement: &
|
27
|
+
requirement: &70314477299000 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 0.2.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70314477299000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
38
|
+
requirement: &70314477298620 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70314477298620
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: rspec
|
38
|
-
requirement: &
|
49
|
+
requirement: &70314477298160 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ! '>='
|
@@ -43,10 +54,10 @@ dependencies:
|
|
43
54
|
version: '0'
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *70314477298160
|
47
58
|
- !ruby/object:Gem::Dependency
|
48
59
|
name: aruba
|
49
|
-
requirement: &
|
60
|
+
requirement: &70314477297740 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
62
|
requirements:
|
52
63
|
- - ! '>='
|
@@ -54,26 +65,20 @@ dependencies:
|
|
54
65
|
version: '0'
|
55
66
|
type: :development
|
56
67
|
prerelease: false
|
57
|
-
version_requirements: *
|
68
|
+
version_requirements: *70314477297740
|
58
69
|
description: ! 'Ruby gem skeleton generation for the professional gemsmith. Includes
|
59
70
|
custom settings, binary, Ruby on Rails, and RSpec support. '
|
60
71
|
email: brooke@redalchemist.com
|
61
72
|
executables:
|
62
73
|
- gemsmith
|
63
74
|
extensions: []
|
64
|
-
extra_rdoc_files:
|
65
|
-
|
66
|
-
- .gitignore
|
67
|
-
- .rspec
|
75
|
+
extra_rdoc_files:
|
76
|
+
- README.rdoc
|
68
77
|
- CHANGELOG.rdoc
|
69
|
-
- Gemfile
|
70
78
|
- LICENSE.rdoc
|
71
|
-
|
72
|
-
- Rakefile
|
73
|
-
- bin/gemsmith
|
74
|
-
- gemsmith.gemspec
|
75
|
-
- lib/gemsmith.rb
|
79
|
+
files:
|
76
80
|
- lib/gemsmith/cli.rb
|
81
|
+
- lib/gemsmith/kit.rb
|
77
82
|
- lib/gemsmith/templates/CHANGELOG.rdoc.tmp
|
78
83
|
- lib/gemsmith/templates/Gemfile.tmp
|
79
84
|
- lib/gemsmith/templates/LICENSE.rdoc.tmp
|
@@ -82,7 +87,6 @@ files:
|
|
82
87
|
- lib/gemsmith/templates/bin/gem.tmp
|
83
88
|
- lib/gemsmith/templates/gem.gemspec.tmp
|
84
89
|
- lib/gemsmith/templates/gitignore.tmp
|
85
|
-
- lib/gemsmith/templates/lib/gem.rb.tmp
|
86
90
|
- lib/gemsmith/templates/lib/gem/action_controller/class_methods.rb.tmp
|
87
91
|
- lib/gemsmith/templates/lib/gem/action_controller/instance_methods.rb.tmp
|
88
92
|
- lib/gemsmith/templates/lib/gem/action_view/instance_methods.rb.tmp
|
@@ -90,6 +94,7 @@ files:
|
|
90
94
|
- lib/gemsmith/templates/lib/gem/active_record/instance_methods.rb.tmp
|
91
95
|
- lib/gemsmith/templates/lib/gem/cli.rb.tmp
|
92
96
|
- lib/gemsmith/templates/lib/gem/version.rb.tmp
|
97
|
+
- lib/gemsmith/templates/lib/gem.rb.tmp
|
93
98
|
- lib/gemsmith/templates/lib/generators/gem/install/USAGE.tmp
|
94
99
|
- lib/gemsmith/templates/lib/generators/gem/install/install_generator.rb.tmp
|
95
100
|
- lib/gemsmith/templates/lib/generators/gem/upgrade/USAGE.tmp
|
@@ -97,16 +102,18 @@ files:
|
|
97
102
|
- lib/gemsmith/templates/rspec.tmp
|
98
103
|
- lib/gemsmith/templates/spec/gem_spec.rb.tmp
|
99
104
|
- lib/gemsmith/templates/spec/spec_helper.rb.tmp
|
105
|
+
- lib/gemsmith/templates/travis.yml.tmp
|
100
106
|
- lib/gemsmith/version.rb
|
101
|
-
-
|
102
|
-
-
|
103
|
-
-
|
107
|
+
- lib/gemsmith.rb
|
108
|
+
- README.rdoc
|
109
|
+
- CHANGELOG.rdoc
|
110
|
+
- LICENSE.rdoc
|
111
|
+
- bin/gemsmith
|
104
112
|
homepage: http://www.redalchemist.com
|
105
113
|
licenses:
|
106
114
|
- MIT
|
107
115
|
post_install_message: ! '(W): www.redalchemist.com. (T): @ralchemist.'
|
108
|
-
rdoc_options:
|
109
|
-
- CHANGELOG.rdoc
|
116
|
+
rdoc_options: []
|
110
117
|
require_paths:
|
111
118
|
- lib
|
112
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -127,7 +134,4 @@ rubygems_version: 1.8.13
|
|
127
134
|
signing_key:
|
128
135
|
specification_version: 3
|
129
136
|
summary: Ruby gem skeleton generation for the professional gemsmith.
|
130
|
-
test_files:
|
131
|
-
- spec/settings_spec.rb
|
132
|
-
- spec/spec_helper.rb
|
133
|
-
- spec/support/settings.yml
|
137
|
+
test_files: []
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'bundler/gem_tasks'
|
data/gemsmith.gemspec
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
require "gemsmith/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.name = "gemsmith"
|
7
|
-
s.version = Gemsmith::VERSION
|
8
|
-
s.platform = Gem::Platform::RUBY
|
9
|
-
s.author = "Brooke Kuhlmann"
|
10
|
-
s.email = "brooke@redalchemist.com"
|
11
|
-
s.homepage = "http://www.redalchemist.com"
|
12
|
-
s.summary = "Ruby gem skeleton generation for the professional gemsmith."
|
13
|
-
s.description = "Ruby gem skeleton generation for the professional gemsmith. Includes custom settings, binary, Ruby on Rails, and RSpec support. "
|
14
|
-
s.license = "MIT"
|
15
|
-
s.post_install_message = "(W): www.redalchemist.com. (T): @ralchemist."
|
16
|
-
|
17
|
-
s.rdoc_options << "CHANGELOG.rdoc"
|
18
|
-
s.required_ruby_version = "~> 1.9.0"
|
19
|
-
s.add_dependency "thor", "~> 0.14.0"
|
20
|
-
s.add_dependency "thor_plus", ">= 0.1.0"
|
21
|
-
s.add_development_dependency "rspec"
|
22
|
-
s.add_development_dependency "aruba"
|
23
|
-
s.executables << "gemsmith"
|
24
|
-
|
25
|
-
s.files = `git ls-files`.split("\n")
|
26
|
-
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
27
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
28
|
-
s.require_paths = ["lib"]
|
29
|
-
end
|
30
|
-
|
data/spec/settings_spec.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "Settings" do
|
4
|
-
before :each do
|
5
|
-
# Default settings.
|
6
|
-
class Gemsmith::CLI
|
7
|
-
def initialize
|
8
|
-
super
|
9
|
-
@settings_file = File.join File.dirname(__FILE__), "support", "settings.yml"
|
10
|
-
@settings = {}
|
11
|
-
end
|
12
|
-
end
|
13
|
-
@cli_default = Gemsmith::CLI.new
|
14
|
-
|
15
|
-
# Custom settings.
|
16
|
-
class Gemsmith::CLI
|
17
|
-
def initialize
|
18
|
-
super
|
19
|
-
@settings_file = File.join File.dirname(__FILE__), "support", "settings.yml"
|
20
|
-
@settings = load_yaml @settings_file
|
21
|
-
end
|
22
|
-
end
|
23
|
-
@cli_custom = Gemsmith::CLI.new
|
24
|
-
end
|
25
|
-
|
26
|
-
context "Load" do
|
27
|
-
it "should build defaults" do
|
28
|
-
author_name = `git config user.name`.chomp || "TODO: Add full name here."
|
29
|
-
author_url = "https://www.unknown.com"
|
30
|
-
options = @cli_default.send :build_template_options, "test"
|
31
|
-
options[:gem_name].should be == "test"
|
32
|
-
options[:gem_class].should be == "Test"
|
33
|
-
options[:gem_platform].should be == "Gem::Platform::RUBY"
|
34
|
-
options[:author_name].should be == author_name
|
35
|
-
options[:author_email].should be == (`git config user.email`.chomp || "TODO: Add email address here.")
|
36
|
-
options[:author_url].should be == author_url
|
37
|
-
options[:gem_url].should be == "https://www.unknown.com"
|
38
|
-
options[:company_name].should be == author_name
|
39
|
-
options[:company_url].should be == author_url
|
40
|
-
options[:year].should be == Time.now.year
|
41
|
-
options[:ruby_version].should be == "1.9.0"
|
42
|
-
options[:rails_version].should be == "3.1.0"
|
43
|
-
options[:post_install_message].should be == nil
|
44
|
-
options[:bin].should be_false
|
45
|
-
options[:rails].should be_false
|
46
|
-
options[:rspec].should be_true
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should be custom" do
|
50
|
-
options = @cli_custom.send :build_template_options, "test"
|
51
|
-
options[:gem_name].should be == "test"
|
52
|
-
options[:gem_class].should be == "Test"
|
53
|
-
options[:gem_platform].should be == "Gem::Platform::CURRENT"
|
54
|
-
options[:author_name].should be == "Testy Tester"
|
55
|
-
options[:author_email].should be == "test@test.com"
|
56
|
-
options[:author_url].should be == "https://www.test.com"
|
57
|
-
options[:gem_url].should be == "https://www.gem.com"
|
58
|
-
options[:company_name].should be == "ACME"
|
59
|
-
options[:company_url].should be == "https://www.acme.com"
|
60
|
-
options[:year].should be == 1920
|
61
|
-
options[:ruby_version].should be == "1.8.0"
|
62
|
-
options[:rails_version].should be == "2.3.0"
|
63
|
-
options[:post_install_message].should be == "Follow @tester on Twitter for more info."
|
64
|
-
options[:bin].should be_false
|
65
|
-
options[:rails].should be_false
|
66
|
-
options[:rspec].should be_true
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
data/spec/spec_helper.rb
DELETED
data/spec/support/settings.yml
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:gem_platform: Gem::Platform::CURRENT
|
3
|
-
:author_name: "Testy Tester"
|
4
|
-
:author_email: "test@test.com"
|
5
|
-
:author_url: "https://www.test.com"
|
6
|
-
:gem_url: "https://www.gem.com"
|
7
|
-
:company_name: "ACME"
|
8
|
-
:company_url: "https://www.acme.com"
|
9
|
-
:year: 1920
|
10
|
-
:ruby_version: 1.8.0
|
11
|
-
:rails_version: 2.3.0
|
12
|
-
:post_install_message: "Follow @tester on Twitter for more info."
|