# File lib/gem2rpm/template.rb, line 7 def self.default_location @@location ||= File.join(File.dirname(__FILE__), '..', '..', 'templates') end
# File lib/gem2rpm/template.rb, line 11 def self.default_location=(location) @@location = location @@list = nil end
Returns instance of Template class. If the 'name' parameter is specified it tries to instantiate the template of specific name first. When options is specified, it can be taken into consideration when looking for vagrant templates for example.
# File lib/gem2rpm/template.rb, line 26 def self.find(name = nil, options = {}) if name.nil? gem_file = File.basename(options[:gem_file]) if options[:gem_file] case gem_file when /^vagrant(-|_).*/ Gem2Rpm.vagrant_plugin_template else Gem2Rpm.rubygem_template end else begin if File.exist?(name) Gem2Rpm::Template.new(name) else Gem2Rpm::Template.new(File.join(Gem2Rpm::Template.default_location, name + '.spec.erb')) end rescue TemplateError raise TemplateError, "Could not locate template #{name}" end end end
# File lib/gem2rpm/template.rb, line 16 def self.list @@list ||= Dir.chdir(default_location) do Dir.glob('*').sort end end
Create instance of Template class of specified template filename. TemplateError is raised when the template file does not exists.
# File lib/gem2rpm/template.rb, line 50 def initialize(filename) if File.exist? filename @filename = filename else fail TemplateError, "Could not locate template #{filename}" end end
Read the content of the template file.
# File lib/gem2rpm/template.rb, line 59 def read @content ||= begin File.open(@filename, OPEN_MODE, &:read) end end