Sha256: 5cbf454c0aff266529415cd72d12166f03aba75af335daf06c3410c9cf9b77fd
Contents?: true
Size: 696 Bytes
Versions: 3
Compression:
Stored size: 696 Bytes
Contents
require "mustache" module Licensor class Template EXTNAME = ".mustache" def initialize @templates = find_templates @licenses = @templates.map{|t| File.basename(t, EXTNAME) } @template_table = Hash[@licenses.zip(@templates)] end attr_reader :licenses def render(license, name, year) unless @licenses.include?(license) raise ArgumentError, "Given license `#{license}' is not supported. Try `--list' option to see all available licenses." end Mustache.render(File.read(@template_table[license]), name: name, year: year) end private def find_templates Dir["#{__dir__}/templates/*#{EXTNAME}"] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
licensor-0.1.3 | lib/licensor/template.rb |
licensor-0.1.2 | lib/licensor/template.rb |
licensor-0.1.1 | lib/licensor/template.rb |