class BeerList::CLI
Public Instance Methods
establish(klass)
click to toggle source
# File lib/beer_list/cli.rb, line 17 def establish(klass) # Support underscore and camelcase klass = klass.split('_').map(&:capitalize).join if klass.match(/_/) BeerList::EstablishmentGenerator.new(klass, options) end
list(*establishments)
click to toggle source
# File lib/beer_list/cli.rb, line 32 def list(*establishments) configure add_establishments establishments if options[:json] puts BeerList.lists_as_json else BeerList.lists.each do |list| puts '*' * (list.establishment.size + 10) puts "**** #{list.establishment} ****" puts '*' * (list.establishment.size + 10) puts puts list puts end end end
send(*establishments)
click to toggle source
# File lib/beer_list/cli.rb, line 54 def send(*establishments) configure add_establishments establishments puts "Sent!" if BeerList.send_lists end
Private Instance Methods
add_establishments(establishments)
click to toggle source
# File lib/beer_list/cli.rb, line 62 def add_establishments(establishments) BeerList.add_establishments *classify(establishments) end
classify(establishments)
click to toggle source
# File lib/beer_list/cli.rb, line 73 def classify(establishments) establishments.map do |est| class_name = est.to_s.split('_').map(&:capitalize).join instantiate_or_die class_name end end
configure()
click to toggle source
# File lib/beer_list/cli.rb, line 66 def configure BeerList.configure do |c| c.establishments_dir = options[:directory] c.default_url = options[:url] end end
instantiate_or_die(class_name)
click to toggle source
# File lib/beer_list/cli.rb, line 80 def instantiate_or_die(class_name) if klass = BeerList.send(:get_class_with_namespace, class_name) klass.new else abort "#{class_name} is not recognized. Is it in your BeerList.establishments_dir?" end end