Class: Butterfly::Options::Parser
- Inherits:
-
Object
- Object
- Butterfly::Options::Parser
- Defined in:
- lib/options.rb
Overview
parser class
Instance Attribute Summary collapse
-
#generators ⇒ Object
Returns the value of attribute generators.
Instance Method Summary collapse
- #ask_for_new_generator ⇒ Object
- #ask_for_new_generator_type(generator_group) ⇒ Object
- #ask_for_project(generator_group, generator_type) ⇒ Object
-
#initialize(generators) ⇒ Parser
constructor
A new instance of Parser.
- #parse(args) ⇒ Object
- #show_groups ⇒ Object
- #show_types(generator_group) ⇒ Object
Constructor Details
#initialize(generators) ⇒ Parser
Returns a new instance of Parser.
63 64 65 |
# File 'lib/options.rb', line 63 def initialize(generators) @generators = generators end |
Instance Attribute Details
#generators ⇒ Object
Returns the value of attribute generators.
61 62 63 |
# File 'lib/options.rb', line 61 def generators @generators end |
Instance Method Details
#ask_for_new_generator ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/options.rb', line 114 def ask_for_new_generator parser = OptionParser.new do |opts| opts. = "Usage: #{PURPLE}#{File.basename($0)}#{WHITE} --new #{BLUE}<generator-group>#{WHITE} #{BLUE}<generator-type>#{WHITE}" opts.separator "" opts.define_head "Go, create a new code generator!" opts.define_head "" opts.separator "#{BLUE}Please enter a <generator-group> name and a <generator-type> name#{WHITE}" end parser.parse(["-h"]) exit end |
#ask_for_new_generator_type(generator_group) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/options.rb', line 126 def ask_for_new_generator_type(generator_group) parser = OptionParser.new do |opts| opts. = "Usage: #{PURPLE}#{File.basename($0)}#{WHITE} --new #{generator_group} #{BLUE}<generator-type>#{WHITE}" opts.separator "" opts.define_head "Go, create a new code generator in the #{generator_group} group!" opts.define_head "" opts.separator "#{BLUE}Please enter a <generator-type> name#{WHITE}" end parser.parse(["-h"]) exit end |
#ask_for_project(generator_group, generator_type) ⇒ Object
104 105 106 107 108 109 110 111 112 |
# File 'lib/options.rb', line 104 def ask_for_project(generator_group, generator_type) parser = OptionParser.new do |opts| opts. = "Usage: #{PURPLE}#{File.basename($0)}#{WHITE} [options] #{PURPLE}#{generator_group}#{WHITE} #{PURPLE}#{generator_type}#{WHITE} #{BLUE}<project-name>#{WHITE}" opts.add_default( = {}) opts.separator "#{BLUE}Please enter a project-name!#{WHITE}" end parser.parse(["-h"]) exit end |
#parse(args) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/options.rb', line 67 def parse(args) = OPTIONS parser = OptionParser.new do |opts| opts.add_default() end parser.parse!(args) end |
#show_groups ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/options.rb', line 76 def show_groups parser = OptionParser.new do |opts| opts. = "Usage: #{PURPLE}#{File.basename($0)}#{WHITE} [options] #{BLUE}<generator-group>#{WHITE} <generator-type> <project-name>" opts.add_default( = {}) opts.separator "#{BLUE}Please choose a generator-group:#{WHITE}" opts.separator "" @generators.names.each do |name| opts.separator " #{BLUE}#{name}#{WHITE}" end end parser.parse(["-h"]) exit end |
#show_types(generator_group) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/options.rb', line 90 def show_types(generator_group) parser = OptionParser.new do |opts| opts. = "Usage: #{PURPLE}#{File.basename($0)}#{WHITE} [options] #{PURPLE}#{generator_group}#{WHITE} #{BLUE}<generator-type>#{WHITE} <project-name>" opts.add_default( = {}) opts.separator "#{BLUE}Please choose a #{generator_group} generator-type:#{WHITE}" opts.separator "" @generators.types_of(generator_group).each do |type| opts.separator " #{BLUE}#{type}#{WHITE}" end end parser.parse(["-h"]) exit end |