Class: GemRelease::Template

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/gem_release/template.rb

Direct Known Subclasses

GemspecTemplate, VersionTemplate

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#gem_filename, #gem_name, #gem_name_from_directory, #gem_version, #gemspec, #gemspec_dirs, #gemspec_filename, #github_token, #github_user, #in_bootstrapped_dir, #in_gemspec_dirs, #quiet?, #user_email, #user_name

Constructor Details

#initialize(template, options = {}) ⇒ Template

Returns a new instance of Template.



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/gem_release/template.rb', line 11

def initialize(template, options = {})
  @template = template

  options.each do |key, value|
    instance_variable_set(:"@#{key}", value)
    meta_class.send(:attr_reader, key)
  end

  @filename     ||= @template
  @name         ||= gem_name_from_directory
  @module_path  ||= name
  @module_names ||= module_names_from_path(module_path)
end

Instance Attribute Details

#filenameObject (readonly)

Returns the value of attribute filename.



9
10
11
# File 'lib/gem_release/template.rb', line 9

def filename
  @filename
end

#module_namesObject (readonly)

Returns the value of attribute module_names.



9
10
11
# File 'lib/gem_release/template.rb', line 9

def module_names
  @module_names
end

#module_pathObject (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

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/gem_release/template.rb', line 9

def name
  @name
end

#templateObject (readonly)

Returns the value of attribute template.



9
10
11
# File 'lib/gem_release/template.rb', line 9

def template
  @template
end

Instance Method Details

#writeObject



25
26
27
28
# File 'lib/gem_release/template.rb', line 25

def write
  FileUtils.mkdir_p(File.dirname(filename))
  File.open(filename, 'w+') { |f| f.write(render) }
end