class Picky::Generators::Selector
Selects the right generator.
Attributes
types[R]
Public Class Methods
new()
click to toggle source
# File lib/picky-generators/generators/selector.rb, line 11 def initialize @types = { :client => [Client::Sinatra, :sinatra_client_name], :server => [Server::Sinatra, :sinatra_server_name], :all_in_one => [AllInOne::Sinatra, :"directory_name (use e.g. for Heroku)"] } end
Public Instance Methods
generate(*args)
click to toggle source
Run the generators with this command.
This will “route” the commands to the right specific generator.
# File lib/picky-generators/generators/selector.rb, line 23 def generate *args generator = generator_for *args generator.generate end
generator_for(identifier = nil, *args)
click to toggle source
# File lib/picky-generators/generators/selector.rb, line 30 def generator_for identifier = nil, *args generator_info = types[identifier.to_sym] generator_class = generator_info.first generator_for_class generator_class, identifier, *args rescue raise NotFoundException.new(self) end
generator_for_class(klass, *args)
click to toggle source
# File lib/picky-generators/generators/selector.rb, line 40 def generator_for_class klass, *args klass.new *args end