gemsmith 0.4.0 → 0.5.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,3 +1,13 @@
1
+ = v0.5.0
2
+
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.
10
+
1
11
  = v0.4.0
2
12
 
3
13
  * Fixed bug with options not being supplied as second argument to write_inheritable_attribute for ActionController and ActiveRecord class method templates.
@@ -31,7 +31,6 @@ You can also configure common settings for future gem builds by creating the fol
31
31
  ...with the following settings (for example):
32
32
 
33
33
  ---
34
- :gem_platform: Gem::Platform::RUBY
35
34
  :author_name: Brooke Kuhlmann
36
35
  :author_email: brooke@redalchemist.com
37
36
  :author_url: http://www.redalchemist.com
@@ -46,6 +45,9 @@ NOTE: All options above are optional. If no options are configured, then the def
46
45
  author_url: nil
47
46
  company_name: <author name>
48
47
  company_url: <author URL>
48
+ year: <current date of gem creation>
49
+ ruby_version: 1.9.2
50
+ rails_version: 3.0.0
49
51
 
50
52
  = Usage
51
53
 
@@ -1,6 +1,2 @@
1
1
  require File.join File.dirname(__FILE__), "gemsmith", "version.rb"
2
2
  require File.join File.dirname(__FILE__), "gemsmith", "utilities.rb"
3
-
4
- module Gemsmith
5
- # Placeholder.
6
- end
@@ -31,21 +31,23 @@ module Gemsmith
31
31
  # Initialize options.
32
32
  gem_name = Thor::Util.snake_case name
33
33
  gem_class = Thor::Util.camel_case name
34
- author_name = @settings[:author_name] || `git config user.name`.chomp || "TODO: Write full name here."
35
- author_url = @settings[:author_url] || "TODO: Write home page URL here."
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
36
  template_options = {
37
37
  :gem_name => gem_name,
38
38
  :gem_class => gem_class,
39
39
  :gem_platform => (@settings[:gem_platform] || "Gem::Platform::RUBY"),
40
40
  :author_name => author_name,
41
- :author_email => (@settings[:author_email] || `git config user.email`.chomp || "TODO: Write email address here."),
41
+ :author_email => (@settings[:author_email] || `git config user.email`.chomp || "TODO: Add your email address here."),
42
42
  :author_url => author_url,
43
43
  :company_name => (@settings[:company_name] || author_name),
44
44
  :company_url => (@settings[:company_url] || author_url),
45
45
  :year => Time.now.year,
46
46
  :bin => options[:bin],
47
47
  :rails => options[:rails],
48
- :rspec => options[:rspec]
48
+ :rspec => options[:rspec],
49
+ :ruby_version => (@settings[:ruby_version] || "1.9.2"),
50
+ :rails_version => (@settings[:rails_version] || "3.0.0")
49
51
  }
50
52
 
51
53
  # Configure templates.
@@ -9,13 +9,17 @@ Gem::Specification.new do |s|
9
9
  s.authors = ["<%= config[:author_name] %>"]
10
10
  s.email = ["<%= config[:author_email] %>"]
11
11
  s.homepage = "<%= config[:author_url] %>"
12
- s.summary = "TODO: Write gem summary."
13
- s.description = "TODO: Write gem description."
12
+ s.summary = "TODO: Add your gem summary here."
13
+ s.description = "TODO: Add your gem description here."
14
14
 
15
15
  s.rdoc_options << "CHANGELOG.rdoc"
16
+ s.required_ruby_version = "~> <%= config[:ruby_version] %>"
16
17
  <%- if config[:bin] -%>
17
18
  s.add_dependency "thor"
18
19
  <%- end -%>
20
+ <%- if config[:rails] -%>
21
+ s.add_dependency "rails", "~> <%= config[:rails_version] %>"
22
+ <%- end -%>
19
23
  <%- if config[:rspec] -%>
20
24
  s.add_development_dependency "rspec"
21
25
  <%- end -%>
@@ -8,11 +8,6 @@ require File.join File.dirname(__FILE__), "<%= config[:gem_name] %>", "action_co
8
8
  require File.join File.dirname(__FILE__), "<%= config[:gem_name] %>", "action_controller", "instance_methods.rb"
9
9
  <%- end -%>
10
10
 
11
- # Namespace
12
- module <%= config[:gem_class] %>
13
- # Placeholder.
14
- end
15
-
16
11
  <%- if config[:rails] -%>
17
12
  # Rails Enhancements
18
13
  if defined? Rails
@@ -23,7 +18,7 @@ if defined? Rails
23
18
 
24
19
  # View
25
20
  if defined? ActionView
26
- ActionView::Base.send :include, <%= config[:gem_class] %>::InstanceMethods
21
+ ActionView::Base.send :include, <%= config[:gem_class] %>::ActionView
27
22
  end
28
23
 
29
24
  # Controller
@@ -31,4 +26,9 @@ if defined? Rails
31
26
  ActionController::Base.send :include, <%= config[:gem_class] %>::ActionController
32
27
  end
33
28
  end
29
+ <%- else -%>
30
+ # Namespace
31
+ module <%= config[:gem_class] %>
32
+ # TODO - Add your custom code here.
33
+ end
34
34
  <%- end -%>
@@ -5,7 +5,7 @@ module <%= config[:gem_class] %>
5
5
  end
6
6
 
7
7
  module ClassMethods
8
- # TODO - Rename the method name to your liking.
8
+ # TODO - Rename this method to your liking.
9
9
  def is_<%= config[:gem_name] %>_enhanced options = {}
10
10
  self.send :include, InstanceMethods
11
11
 
@@ -1,7 +1,7 @@
1
1
  module <%= config[:gem_class] %>
2
2
  module ActionController
3
3
  module InstanceMethods
4
- # TODO - Write some code.
4
+ # TODO - Add your custom code here.
5
5
  end
6
6
  end
7
7
  end
@@ -1,7 +1,11 @@
1
1
  module <%= config[:gem_class] %>
2
2
  module ActionView
3
+ def self.included base
4
+ base.send :include, InstanceMethods
5
+ end
6
+
3
7
  module InstanceMethods
4
- # TODO - Write some code.
8
+ # TODO - Add your custom code here.
5
9
  end
6
10
  end
7
11
  end
@@ -5,7 +5,7 @@ module <%= config[:gem_class] %>
5
5
  end
6
6
 
7
7
  module ClassMethods
8
- # TODO - Rename the method name to your liking.
8
+ # TODO - Rename this method to your liking.
9
9
  def is_<%= config[:gem_name] %>_enhanced options = {}
10
10
  self.send :include, InstanceMethods
11
11
 
@@ -1,7 +1,7 @@
1
1
  module <%= config[:gem_class] %>
2
2
  module ActiveRecord
3
3
  module InstanceMethods
4
- # TODO - Write some code.
4
+ # TODO - Add your custom code here.
5
5
  end
6
6
  end
7
7
  end
@@ -3,8 +3,8 @@ module <%= config[:gem_class] %>
3
3
  source_root File.join(File.dirname(__FILE__), "..", "templates")
4
4
 
5
5
  desc "Installs additional <%= config[:gem_class] %> resources."
6
- def execute
7
- # TODO - Add your fancy/schmancy install code here.
6
+ def install
7
+ # TODO - Add your install code here.
8
8
  end
9
9
  end
10
10
  end
@@ -3,8 +3,8 @@ module <%= config[:gem_class] %>
3
3
  source_root File.join(File.dirname(__FILE__), "..", "templates")
4
4
 
5
5
  desc "Upgrades previously installed <%= config[:gem_class] %> resources."
6
- def execute
7
- # TODO - Add your fancy/schmancy upgrade code here.
6
+ def upgrade
7
+ # TODO - Add your upgrade code here.
8
8
  end
9
9
  end
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module Gemsmith
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsmith
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 4
8
+ - 5
9
9
  - 0
10
- version: 0.4.0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brooke Kuhlmann
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-31 00:00:00 Z
18
+ date: 2011-08-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: thor
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  requirements: []
136
136
 
137
137
  rubyforge_project:
138
- rubygems_version: 1.8.6
138
+ rubygems_version: 1.8.8
139
139
  signing_key:
140
140
  specification_version: 3
141
141
  summary: Ruby gem skeleton generation for the professional gemsmith.