gemsmith 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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