Class: GemRelease::Template
- Inherits:
-
Object
- Object
- GemRelease::Template
- Includes:
- Helpers
- Defined in:
- lib/gem_release/template.rb
Instance Attribute Summary collapse
-
#module_name ⇒ Object
readonly
Returns the value of attribute module_name.
-
#module_path ⇒ Object
readonly
Returns the value of attribute module_path.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Template
constructor
A new instance of Template.
- #render ⇒ Object
- #template ⇒ Object
- #write ⇒ Object
Methods included from Helpers
#gem_filename, #gem_module_name, #gem_module_path, #gem_name, #gem_name_from_directory, #gem_version, #gemspec, #gemspec_filename, #github_token, #github_user, #user_email, #user_name
Constructor Details
#initialize(options = {}) ⇒ Template
Returns a new instance of Template.
11 12 13 14 15 16 17 18 |
# File 'lib/gem_release/template.rb', line 11 def initialize( = {}) @options = .each { |key, value| instance_variable_set(:"@#{key}", value) } @name ||= gem_name_from_directory @module_path ||= name.gsub('-', '_') @module_name ||= module_path.camelize end |
Instance Attribute Details
#module_name ⇒ Object (readonly)
Returns the value of attribute module_name.
9 10 11 |
# File 'lib/gem_release/template.rb', line 9 def module_name @module_name end |
#module_path ⇒ Object (readonly)
Returns the value of attribute module_path.
9 10 11 |
# File 'lib/gem_release/template.rb', line 9 def module_path @module_path end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
9 10 11 |
# File 'lib/gem_release/template.rb', line 9 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
9 10 11 |
# File 'lib/gem_release/template.rb', line 9 def @options end |
Instance Method Details
#render ⇒ Object
25 26 27 |
# File 'lib/gem_release/template.rb', line 25 def render ERB.new(template, nil, "%").result(binding) end |
#template ⇒ Object
29 30 31 |
# File 'lib/gem_release/template.rb', line 29 def template File.new(File.("../templates/#{template_name}", __FILE__)).read end |
#write ⇒ Object
20 21 22 23 |
# File 'lib/gem_release/template.rb', line 20 def write FileUtils.mkdir_p(File.dirname(filename)) File.open(filename, 'w+') { |f| f.write(render) } end |