Sha256: 1c16bc7676c9bedd1b916d72de1cdc6f1c42f7db7e882f64c086d1da5fabcb14
Contents?: true
Size: 1.65 KB
Versions: 29
Compression:
Stored size: 1.65 KB
Contents
class PlainThemeGenerator < RubiGen::Base default_options :author => "TODO", :email => "todo@todo.com" attr_reader :author, :email def initialize(runtime_args, runtime_options = {}) super extract_options end def manifest record do |m| # Ensure appropriate folder(s) exists m.directory 'website/javascripts' m.directory 'website/stylesheets' # Website m.template 'website/template.html.erb', 'website/template.html.erb' m.file_copy_each %w( stylesheets/screen.css javascripts/rounded_corners_lite.inc.js ), "website" end end protected def banner <<-EOS Installs the plain blue-ish website theme for newgem's website framework. USAGE: #{$0} #{spec.name}" EOS end def add_options!(opts) opts.separator '' opts.separator 'Options:' # For each option below, place the default # at the top of the file next to "default_options" opts.on("-a", "--author=\"Your Name\"", String, "You. The author of this RubyGem. You name goes in in the website.", "Default: 'TODO'") { |x| options[:author] = x } opts.on("-e", "--email=your@email.com", String, "Your email for people to contact you.", "Default: nil") { |x| options[:author] = x } end def extract_options # for each option, extract it into a local variable (and create an "attr_reader :author" at the top) # Templates can access these value via the attr_reader-generated methods, but not the # raw instance variable value. @author = options[:author] @email = options[:email] end end
Version data entries
29 entries across 29 versions & 1 rubygems