gemsmith 0.5.0 → 1.0.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.
@@ -1,12 +1,28 @@
1
+ = v1.0.0
2
+
3
+ * Upgraded to Ruby 1.9 and added Ruby 1.9 requirements.
4
+ * Upgraded Rails defaults to 3.1.x.
5
+ * Renamed ActionController and ActiveRecord class methods templates to be acts_as_* instead of is_*_enhanced.
6
+ * Changed gem specifications to use singular form of author and email.
7
+ * Added a gem_url setting (which is different from the author_url but does default to it).
8
+ * Added a Company header to the README template.
9
+ * Added the MIT license to the gemspec template.
10
+ * Added the post_install_message option for adding custom messages to gem install output.
11
+ * Simplified all TODO messages in the templates.
12
+ * Added Thor+ gem requirement.
13
+ * Removed the Utilities module and replaced all info and error messages with Thor+ actions.
14
+ * Added requirements and includes for the Thor+ gem when generating binary-enabled gem skeletons.
15
+ * Added the YAML requirement to the CLI template.
16
+
1
17
  = v0.5.0
2
18
 
3
- # Fixed bug with wrong definition of ActionView instance method include for main gem template.
4
- # Changed the ActionView template behavior so that instance methods are auto-included.
5
- # Renamed the execute methods for the install and upgrade generators to install and upgrade respectively.
6
- # Added Rails version options. Default: 3.0.0.
7
- # Added Ruby version option. Default: 1.9.2.
8
- # Made the module namespace optional when building gems specifically for Rails.
9
- # Relabeled the TODO helper text for all templates.
19
+ * Fixed bug with wrong definition of ActionView instance method include for main gem template.
20
+ * Changed the ActionView template behavior so that instance methods are auto-included.
21
+ * Renamed the execute methods for the install and upgrade generators to install and upgrade respectively.
22
+ * Added Rails version options. Default: 3.0.0.
23
+ * Added Ruby version option. Default: 1.9.2.
24
+ * Made the module namespace optional when building gems specifically for Rails.
25
+ * Relabeled the TODO helper text for all templates.
10
26
 
11
27
  = v0.4.0
12
28
 
@@ -50,4 +66,4 @@
50
66
 
51
67
  = v0.1.0
52
68
 
53
- * Initial version.
69
+ * Initial version.
@@ -1,13 +1,13 @@
1
1
  = Overview
2
2
 
3
3
  Gemsmith allows you to easily craft new gems via the command line with custom settings (if desired). If you are
4
- a fan of Bundler[https://github.com/carlhuda/bundler], then you'll appreciate the quick and easy setup. Gemsmith
5
- is essentially an enhanced version of Bundler's gem building capabilities.
4
+ a fan of Bundler[https://github.com/carlhuda/bundler], then you'll appreciate the additional capabilities of this
5
+ gem. Gemsmith is essentially an enhanced version of Bundler's gem building capabilities.
6
6
 
7
7
  = Features
8
8
 
9
9
  * Builds a gem skeleton with Bundler functionality in mind.
10
- * Allows for common settings that you can configure once and use for every new gem that you build.
10
+ * Allows for common settings that you can apply to new gem creations.
11
11
  * Supports binary skeletons with Thor[https://github.com/wycats/thor] command line functionality.
12
12
  * Supports {Ruby on Rails}[http://rubyonrails.org] skeletons.
13
13
  * Supports RSpec[http://rspec.info] test skeletons.
@@ -15,8 +15,10 @@ is essentially an enhanced version of Bundler's gem building capabilities.
15
15
 
16
16
  = Requirements
17
17
 
18
- * Bundler[https://github.com/carlhuda/bundler]
19
- * Basic familiarity with gem building.
18
+ 1. Basic understanding of gem building.
19
+ 2. A UNIX-based system.
20
+ 3. {Ruby 1.9.x}[http://www.ruby-lang.org]
21
+ 4. Bundler[https://github.com/carlhuda/bundler]
20
22
 
21
23
  = Setup
22
24
 
@@ -24,30 +26,31 @@ Type the following from the command line to install:
24
26
 
25
27
  gem install gemsmith
26
28
 
27
- You can also configure common settings for future gem builds by creating the following file:
29
+ You can configure common settings for future gem builds by creating the following file:
28
30
 
29
31
  ~/.gemsmith/settings.yml
30
32
 
31
- ...with the following settings (for example):
33
+ ...using the following settings (for example):
32
34
 
33
35
  ---
34
36
  :author_name: Brooke Kuhlmann
35
37
  :author_email: brooke@redalchemist.com
36
38
  :author_url: http://www.redalchemist.com
37
- :company_name: Red Alchmist
38
- :company_url: http://www.redalchemist.com
39
+ :company_name: Red Alchemist
39
40
 
40
- NOTE: All options above are optional. If no options are configured, then the defaults are as follows:
41
+ If no options are configured, then the defaults are as follows:
41
42
 
42
43
  gem_platform: Gem::Platform::RUBY
43
- author_name: <git user name>
44
+ author_name: <git name>
44
45
  author_email: <git email>
45
- author_url: nil
46
+ author_url: https://www.unknown.com
47
+ gem_url: <author URL>
46
48
  company_name: <author name>
47
49
  company_url: <author URL>
48
- year: <current date of gem creation>
49
- ruby_version: 1.9.2
50
- rails_version: 3.0.0
50
+ year: <current year>
51
+ ruby_version: 1.9.0
52
+ rails_version: 3.1.0
53
+ post_install_message: nil
51
54
 
52
55
  = Usage
53
56
 
@@ -74,12 +77,16 @@ available to you via Bundler (i.e. rake -T):
74
77
 
75
78
  = Best Practices
76
79
 
77
- 1. Ensure your RUBYOPT env variable includes the -w option. {Read the reasons why here}[http://avdi.org/devblog/2011/06/23/how-ruby-helps-you-fix-your-broken-code/].
80
+ 1. Ensure the RUBYOPT env variable includes the -w option. {Details}[http://avdi.org/devblog/2011/06/23/how-ruby-helps-you-fix-your-broken-code/].
78
81
 
79
- = Author
82
+ = Company
80
83
 
81
84
  {Red Alchemist}[http://www.redalchemist.com]
82
85
 
86
+ = Author
87
+
88
+ {Brooke Kuhlmann}[http://www.redalchemist.com]
89
+
83
90
  = License
84
91
 
85
92
  Copyright (c) 2011 {Red Alchemist}[http://www.redalchemist.com].
@@ -1,4 +1,5 @@
1
- #!/usr/local/bin/ruby
1
+ #!/usr/bin/ruby -w
2
+ # encoding: UTF-8
2
3
 
3
4
  require "gemsmith"
4
5
  require "gemsmith/cli"
@@ -6,14 +6,16 @@ Gem::Specification.new do |s|
6
6
  s.name = "gemsmith"
7
7
  s.version = Gemsmith::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
- s.authors = ["Brooke Kuhlmann"]
10
- s.email = ["brooke@redalchemist.com"]
9
+ s.author = "Brooke Kuhlmann"
10
+ s.email = "brooke@redalchemist.com"
11
11
  s.homepage = "http://www.redalchemist.com"
12
12
  s.summary = "Ruby gem skeleton generation for the professional gemsmith."
13
13
  s.description = "Ruby gem skeleton generation for the professional gemsmith. Includes custom settings, binary, Ruby on Rails, and RSpec support. "
14
14
 
15
15
  s.rdoc_options << "CHANGELOG.rdoc"
16
+ s.required_ruby_version = "~> 1.9.0"
16
17
  s.add_dependency "thor", "~> 0.14.0"
18
+ s.add_dependency "thor_plus", ">= 0.1.0"
17
19
  s.add_development_dependency "rspec"
18
20
  s.add_development_dependency "aruba"
19
21
  s.executables << "gemsmith"
@@ -1,2 +1 @@
1
1
  require File.join File.dirname(__FILE__), "gemsmith", "version.rb"
2
- require File.join File.dirname(__FILE__), "gemsmith", "utilities.rb"
@@ -1,11 +1,12 @@
1
1
  require "yaml"
2
2
  require "thor"
3
3
  require "thor/actions"
4
+ require "thor_plus/actions"
4
5
 
5
6
  module Gemsmith
6
7
  class CLI < Thor
7
8
  include Thor::Actions
8
- include Gemsmith::Utilities
9
+ include ThorPlus::Actions
9
10
 
10
11
  # Overwrites the Thor template source root.
11
12
  def self.source_root
@@ -15,40 +16,21 @@ module Gemsmith
15
16
  # Initialize.
16
17
  def initialize args = [], options = {}, config = {}
17
18
  super
18
- @settings_file = File.join ENV["HOME"], ".gemsmith", "settings.yml"
19
- load_settings
19
+ load_settings settings_file
20
20
  end
21
21
 
22
22
  desc "-c, [create=GEM_NAME]", "Create new gem."
23
23
  map "-c" => :create
24
- method_option :bin, :aliases => "-b", :desc => "Add binary support.", :type => :boolean, :default => false
25
- method_option :rails, :aliases => "-r", :desc => "Add Rails support.", :type => :boolean, :default => false
26
- method_option :rspec, :aliases => "-s", :desc => "Add RSpec support.", :type => :boolean, :default => true
24
+ method_option :bin, aliases: "-b", desc: "Add binary support.", type: :boolean, default: false
25
+ method_option :rails, aliases: "-r", desc: "Add Rails support.", type: :boolean, default: false
26
+ method_option :rspec, aliases: "-s", desc: "Add RSpec support.", type: :boolean, default: true
27
27
  def create name
28
28
  say
29
- say_info "Creating gem..."
29
+ info "Creating gem..."
30
30
 
31
31
  # Initialize options.
32
- gem_name = Thor::Util.snake_case name
33
- gem_class = Thor::Util.camel_case name
34
- author_name = @settings[:author_name] || `git config user.name`.chomp || "TODO: Add your full name here."
35
- author_url = @settings[:author_url] || "TODO: Add your home page URL here."
36
- template_options = {
37
- :gem_name => gem_name,
38
- :gem_class => gem_class,
39
- :gem_platform => (@settings[:gem_platform] || "Gem::Platform::RUBY"),
40
- :author_name => author_name,
41
- :author_email => (@settings[:author_email] || `git config user.email`.chomp || "TODO: Add your email address here."),
42
- :author_url => author_url,
43
- :company_name => (@settings[:company_name] || author_name),
44
- :company_url => (@settings[:company_url] || author_url),
45
- :year => Time.now.year,
46
- :bin => options[:bin],
47
- :rails => options[:rails],
48
- :rspec => options[:rspec],
49
- :ruby_version => (@settings[:ruby_version] || "1.9.2"),
50
- :rails_version => (@settings[:rails_version] || "3.0.0")
51
- }
32
+ template_options = build_template_options name, options
33
+ gem_name = template_options[:gem_name]
52
34
 
53
35
  # Configure templates.
54
36
  target_path = File.join Dir.pwd, gem_name
@@ -65,13 +47,13 @@ module Gemsmith
65
47
  template File.join("lib", "gem", "version.rb.tmp"), File.join(target_path, "lib", gem_name, "version.rb"), template_options
66
48
 
67
49
  # Binary (optional).
68
- if options[:bin]
50
+ if template_options[:bin]
69
51
  template File.join("bin", "gem.tmp"), File.join(target_path, "bin", gem_name), template_options
70
52
  template File.join("lib", "gem", "cli.rb.tmp"), File.join(target_path, "lib", gem_name, "cli.rb"), template_options
71
53
  end
72
54
 
73
55
  # Ruby on Rails (optional).
74
- if options[:rails]
56
+ if template_options[:rails]
75
57
  # ActionController
76
58
  template File.join("lib", "gem", "action_controller", "class_methods.rb.tmp"), File.join(target_path, "lib", gem_name, "action_controller", "class_methods.rb"), template_options
77
59
  template File.join("lib", "gem", "action_controller", "instance_methods.rb.tmp"), File.join(target_path, "lib", gem_name, "action_controller", "instance_methods.rb"), template_options
@@ -89,7 +71,7 @@ module Gemsmith
89
71
  end
90
72
 
91
73
  # RSpec (optional).
92
- if options[:rspec]
74
+ if template_options[:rspec]
93
75
  template "rspec.tmp", File.join(target_path, ".rspec"), template_options
94
76
  template File.join("spec", "spec_helper.rb.tmp"), File.join(target_path, "spec", "spec_helper.rb"), template_options
95
77
  template File.join("spec", "gem_spec.rb.tmp"), File.join(target_path, "spec", "#{gem_name}_spec.rb"), template_options
@@ -102,14 +84,14 @@ module Gemsmith
102
84
  `git commit -a -n -m "Gemsmith skeleton created."`
103
85
  end
104
86
 
105
- say_info "Gem created."
87
+ info "Gem created."
106
88
  say
107
89
  end
108
90
 
109
91
  desc "-e, [edit]", "Edit gem settings in default editor (assumes $EDITOR environment variable)."
110
92
  map "-e" => :edit
111
93
  def edit
112
- `$EDITOR #{@settings_file}`
94
+ `$EDITOR #{settings_file}`
113
95
  end
114
96
 
115
97
  desc "-v, [version]", "Show version."
@@ -125,16 +107,59 @@ module Gemsmith
125
107
 
126
108
  private
127
109
 
110
+ # Answers the default settings file path.
111
+ def settings_file
112
+ @settings_file ||= File.join ENV["HOME"], ".gemsmith", "settings.yml"
113
+ end
114
+
128
115
  # Load settings.
129
- def load_settings
130
- if File.exists? @settings_file
116
+ # ==== Parameters
117
+ # * +file+ - Required. The path to the settings (YAML) file.
118
+ def load_settings file
119
+ if file && File.exists?(file)
131
120
  begin
132
- settings = YAML::load_file @settings_file
121
+ settings = YAML::load_file file
133
122
  @settings = settings.reject {|key, value| value.nil?}
134
123
  rescue
135
- say_error "Invalid settings: #{@settings_file}."
124
+ error "Invalid settings: #{file}."
136
125
  end
137
126
  end
138
127
  end
128
+
129
+ # Answers current settings.
130
+ def settings
131
+ @settings ||= {}
132
+ end
133
+
134
+ # Builds template options with default and/or custom settings (where the custom
135
+ # settings trump default settings).
136
+ # ==== Parameters
137
+ # * +name+ - Required. The gem name.
138
+ # * +options+ - Optional. Additional command line options. Default: {}
139
+ def build_template_options name, options = {}
140
+ gem_name = Thor::Util.snake_case name
141
+ gem_class = Thor::Util.camel_case name
142
+ author_name = settings[:author_name] || `git config user.name`.chomp || "TODO: Add full name here."
143
+ author_email = settings[:author_email] || `git config user.email`.chomp || "TODO: Add email address here."
144
+ author_url = settings[:author_url] || "https://www.unknown.com"
145
+ {
146
+ gem_name: gem_name,
147
+ gem_class: gem_class,
148
+ gem_platform: (settings[:gem_platform] || "Gem::Platform::RUBY"),
149
+ author_name: author_name,
150
+ author_email: author_email,
151
+ author_url: (author_url || "http://www.unknown.com"),
152
+ gem_url: (settings[:gem_url] || author_url),
153
+ company_name: (settings[:company_name] || author_name),
154
+ company_url: (settings[:company_url] || author_url),
155
+ year: (settings[:year] || Time.now.year),
156
+ ruby_version: (settings[:ruby_version] || "1.9.0"),
157
+ rails_version: (settings[:rails_version] || "3.1.0"),
158
+ post_install_message: settings[:post_install_message],
159
+ bin: (options[:bin] || false),
160
+ rails: (options[:rails] || false),
161
+ rspec: (options[:rspec].nil? ? true : options[:rspec]),
162
+ }
163
+ end
139
164
  end
140
165
  end
@@ -22,10 +22,14 @@ Add the following to your Gemfile:
22
22
 
23
23
  = Usage
24
24
 
25
- = Author
25
+ = Company
26
26
 
27
27
  {<%= config[:company_name] %>}[<%= config[:company_url] %>]
28
28
 
29
+ = Author
30
+
31
+ {<%= config[:author_name] %>}[<%= config[:author_url] %>]
32
+
29
33
  = License
30
34
 
31
35
  Copyright (c) <%= config[:year] %> {<%= config[:company_name] %>}[<%= config[:company_url] %>].
@@ -3,19 +3,24 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
  require "<%=config[:gem_name]%>/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "<%= config[:gem_name] %>"
7
- s.version = <%= config[:gem_class] %>::VERSION
8
- s.platform = <%= config[:gem_platform] %>
9
- s.authors = ["<%= config[:author_name] %>"]
10
- s.email = ["<%= config[:author_email] %>"]
11
- s.homepage = "<%= config[:author_url] %>"
12
- s.summary = "TODO: Add your gem summary here."
13
- s.description = "TODO: Add your gem description here."
6
+ s.name = "<%= config[:gem_name] %>"
7
+ s.version = <%= config[:gem_class] %>::VERSION
8
+ s.platform = <%= config[:gem_platform] %>
9
+ s.author = "<%= config[:author_name] %>"
10
+ s.email = "<%= config[:author_email] %>"
11
+ s.homepage = "<%= config[:gem_url] %>"
12
+ s.summary = "TODO: Add gem summary here."
13
+ s.description = "TODO: Add gem description here."
14
+ s.license = "MIT"
15
+ <%- if config[:post_install_message] -%>
16
+ s.post_install_message = "<%= config[:post_install_message] %>"
17
+ <%- end -%>
14
18
 
15
19
  s.rdoc_options << "CHANGELOG.rdoc"
16
20
  s.required_ruby_version = "~> <%= config[:ruby_version] %>"
17
21
  <%- if config[:bin] -%>
18
22
  s.add_dependency "thor"
23
+ s.add_dependency "thor_plus"
19
24
  <%- end -%>
20
25
  <%- if config[:rails] -%>
21
26
  s.add_dependency "rails", "~> <%= config[:rails_version] %>"
@@ -29,6 +29,6 @@ end
29
29
  <%- else -%>
30
30
  # Namespace
31
31
  module <%= config[:gem_class] %>
32
- # TODO - Add your custom code here.
32
+ # TODO - Add code here.
33
33
  end
34
34
  <%- end -%>
@@ -5,8 +5,7 @@ module <%= config[:gem_class] %>
5
5
  end
6
6
 
7
7
  module ClassMethods
8
- # TODO - Rename this method to your liking.
9
- def is_<%= config[:gem_name] %>_enhanced options = {}
8
+ def acts_as_<%= config[:gem_name] %> options = {}
10
9
  self.send :include, InstanceMethods
11
10
 
12
11
  # Default Options
@@ -1,7 +1,7 @@
1
1
  module <%= config[:gem_class] %>
2
2
  module ActionController
3
3
  module InstanceMethods
4
- # TODO - Add your custom code here.
4
+ # TODO - Add code here.
5
5
  end
6
6
  end
7
7
  end
@@ -5,7 +5,7 @@ module <%= config[:gem_class] %>
5
5
  end
6
6
 
7
7
  module InstanceMethods
8
- # TODO - Add your custom code here.
8
+ # TODO - Add code here.
9
9
  end
10
10
  end
11
11
  end
@@ -5,8 +5,7 @@ module <%= config[:gem_class] %>
5
5
  end
6
6
 
7
7
  module ClassMethods
8
- # TODO - Rename this method to your liking.
9
- def is_<%= config[:gem_name] %>_enhanced options = {}
8
+ def acts_as_<%= config[:gem_name] %> options = {}
10
9
  self.send :include, InstanceMethods
11
10
 
12
11
  # Default Options
@@ -1,7 +1,7 @@
1
1
  module <%= config[:gem_class] %>
2
2
  module ActiveRecord
3
3
  module InstanceMethods
4
- # TODO - Add your custom code here.
4
+ # TODO - Add code here.
5
5
  end
6
6
  end
7
7
  end
@@ -1,9 +1,12 @@
1
+ require "yaml"
1
2
  require "thor"
2
3
  require "thor/actions"
4
+ require "thor_plus/actions"
3
5
 
4
6
  module <%= config[:gem_class] %>
5
7
  class CLI < Thor
6
8
  include Thor::Actions
9
+ include ThorPlus::Actions
7
10
 
8
11
  # Initialize.
9
12
  def initialize args = [], options = {}, config = {}
@@ -4,7 +4,7 @@ module <%= config[:gem_class] %>
4
4
 
5
5
  desc "Installs additional <%= config[:gem_class] %> resources."
6
6
  def install
7
- # TODO - Add your install code here.
7
+ # TODO - Add install code here.
8
8
  end
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module <%= config[:gem_class] %>
4
4
 
5
5
  desc "Upgrades previously installed <%= config[:gem_class] %> resources."
6
6
  def upgrade
7
- # TODO - Add your upgrade code here.
7
+ # TODO - Add upgrade code here.
8
8
  end
9
9
  end
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module Gemsmith
2
- VERSION = "0.5.0"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -0,0 +1,71 @@
1
+ require "spec_helper"
2
+
3
+ describe "Settings" do
4
+ before :each do
5
+ # Default settings.
6
+ class Gemsmith::CLI
7
+ private
8
+ def settings_file
9
+ nil
10
+ end
11
+ end
12
+ @cli_default = Gemsmith::CLI.new
13
+
14
+ # Custom settings.
15
+ class Gemsmith::CLI
16
+ private
17
+ def settings_file
18
+ File.join File.dirname(__FILE__), "support", "settings.yml"
19
+ end
20
+ end
21
+ @cli_custom = Gemsmith::CLI.new
22
+ end
23
+
24
+ context "Load" do
25
+ it "should be empty" do
26
+ @cli_default.send(:settings).should be_empty
27
+ end
28
+
29
+ it "should build defaults" do
30
+ author_name = `git config user.name`.chomp || "TODO: Add full name here."
31
+ author_url = "https://www.unknown.com"
32
+ options = @cli_default.send :build_template_options, "test"
33
+ options[:gem_name].should be == "test"
34
+ options[:gem_class].should be == "Test"
35
+ options[:gem_platform].should be == "Gem::Platform::RUBY"
36
+ options[:author_name].should be == author_name
37
+ options[:author_email].should be == (`git config user.email`.chomp || "TODO: Add email address here.")
38
+ options[:author_url].should be == author_url
39
+ options[:gem_url].should be == "https://www.unknown.com"
40
+ options[:company_name].should be == author_name
41
+ options[:company_url].should be == author_url
42
+ options[:year].should be == Time.now.year
43
+ options[:ruby_version].should be == "1.9.0"
44
+ options[:rails_version].should be == "3.1.0"
45
+ options[:post_install_message].should be == nil
46
+ options[:bin].should be_false
47
+ options[:rails].should be_false
48
+ options[:rspec].should be_true
49
+ end
50
+
51
+ it "should be custom" do
52
+ options = @cli_custom.send :build_template_options, "test"
53
+ options[:gem_name].should be == "test"
54
+ options[:gem_class].should be == "Test"
55
+ options[:gem_platform].should be == "Gem::Platform::CURRENT"
56
+ options[:author_name].should be == "Testy Tester"
57
+ options[:author_email].should be == "test@test.com"
58
+ options[:author_url].should be == "https://www.test.com"
59
+ options[:gem_url].should be == "https://www.gem.com"
60
+ options[:company_name].should be == "ACME"
61
+ options[:company_url].should be == "https://www.acme.com"
62
+ options[:year].should be == 1920
63
+ options[:ruby_version].should be == "1.8.0"
64
+ options[:rails_version].should be == "2.3.0"
65
+ options[:post_install_message].should be == "Follow @tester on Twitter for more info."
66
+ options[:bin].should be_false
67
+ options[:rails].should be_false
68
+ options[:rspec].should be_true
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,4 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+ require "gemsmith"
4
+ require File.join "gemsmith", "cli"
@@ -0,0 +1,12 @@
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."
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsmith
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
5
4
  prerelease:
6
- segments:
7
- - 0
8
- - 5
9
- - 0
10
- version: 0.5.0
5
+ version: 1.0.0
11
6
  platform: ruby
12
7
  authors:
13
8
  - Brooke Kuhlmann
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2011-08-27 00:00:00 Z
13
+ date: 2011-10-29 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: thor
@@ -25,45 +20,44 @@ dependencies:
25
20
  requirements:
26
21
  - - ~>
27
22
  - !ruby/object:Gem::Version
28
- hash: 39
29
- segments:
30
- - 0
31
- - 14
32
- - 0
33
23
  version: 0.14.0
34
24
  type: :runtime
35
25
  version_requirements: *id001
36
26
  - !ruby/object:Gem::Dependency
37
- name: rspec
27
+ name: thor_plus
38
28
  prerelease: false
39
29
  requirement: &id002 !ruby/object:Gem::Requirement
40
30
  none: false
41
31
  requirements:
42
32
  - - ">="
43
33
  - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- type: :development
34
+ version: 0.1.0
35
+ type: :runtime
49
36
  version_requirements: *id002
50
37
  - !ruby/object:Gem::Dependency
51
- name: aruba
38
+ name: rspec
52
39
  prerelease: false
53
40
  requirement: &id003 !ruby/object:Gem::Requirement
54
41
  none: false
55
42
  requirements:
56
43
  - - ">="
57
44
  - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
45
  version: "0"
62
46
  type: :development
63
47
  version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: aruba
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :development
58
+ version_requirements: *id004
64
59
  description: "Ruby gem skeleton generation for the professional gemsmith. Includes custom settings, binary, Ruby on Rails, and RSpec support. "
65
- email:
66
- - brooke@redalchemist.com
60
+ email: brooke@redalchemist.com
67
61
  executables:
68
62
  - gemsmith
69
63
  extensions: []
@@ -104,8 +98,10 @@ files:
104
98
  - lib/gemsmith/templates/rspec.tmp
105
99
  - lib/gemsmith/templates/spec/gem_spec.rb.tmp
106
100
  - lib/gemsmith/templates/spec/spec_helper.rb.tmp
107
- - lib/gemsmith/utilities.rb
108
101
  - lib/gemsmith/version.rb
102
+ - spec/settings_spec.rb
103
+ - spec/spec_helper.rb
104
+ - spec/support/settings.yml
109
105
  homepage: http://www.redalchemist.com
110
106
  licenses: []
111
107
 
@@ -117,27 +113,23 @@ require_paths:
117
113
  required_ruby_version: !ruby/object:Gem::Requirement
118
114
  none: false
119
115
  requirements:
120
- - - ">="
116
+ - - ~>
121
117
  - !ruby/object:Gem::Version
122
- hash: 3
123
- segments:
124
- - 0
125
- version: "0"
118
+ version: 1.9.0
126
119
  required_rubygems_version: !ruby/object:Gem::Requirement
127
120
  none: false
128
121
  requirements:
129
122
  - - ">="
130
123
  - !ruby/object:Gem::Version
131
- hash: 3
132
- segments:
133
- - 0
134
124
  version: "0"
135
125
  requirements: []
136
126
 
137
127
  rubyforge_project:
138
- rubygems_version: 1.8.8
128
+ rubygems_version: 1.8.11
139
129
  signing_key:
140
130
  specification_version: 3
141
131
  summary: Ruby gem skeleton generation for the professional gemsmith.
142
- test_files: []
143
-
132
+ test_files:
133
+ - spec/settings_spec.rb
134
+ - spec/spec_helper.rb
135
+ - spec/support/settings.yml
@@ -1,14 +0,0 @@
1
- module Gemsmith
2
- # Additional utilities for the command line.
3
- module Utilities
4
- # Prints info to the console.
5
- def say_info message
6
- say_status :info, message, :white
7
- end
8
-
9
- # Prints an error to the console.
10
- def say_error message
11
- say_status :error, message, :red
12
- end
13
- end
14
- end