Class: Flico::CommandLineInterface
- Inherits:
-
Object
- Object
- Flico::CommandLineInterface
- Defined in:
- lib/flico.rb
Class Method Summary collapse
- .parse_args(args) ⇒ Object
- .start(args) ⇒ Object
- .validate_dictionary ⇒ Object
- .validate_flickr_api ⇒ Object
- .validate_resources(keywords, options = {}) ⇒ Object
Class Method Details
.parse_args(args) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/flico.rb', line 14 def self.parse_args(args) = {} OptionParser.new do |opts| opts. = "Usage: flico [options] [10 keywords with space as delimiter]" opts.on("-f", "--file_name [FileName]", "Collage FileName") do |f| [:file_name] = f end end.parse!(args) [args, ] end |
.start(args) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/flico.rb', line 25 def self.start(args) keywords, = parse_args(args) puts "Given Keywords: #{keywords.join(' ')} with Options: #{options}" resources = validate_resources(keywords, ) App.new(resources).create_collage end |
.validate_dictionary ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/flico.rb', line 53 def self.validate_dictionary dictionary_path = '/usr/share/dict/words' if File.exist?(dictionary_path) dictionary = Dictionary.new(dictionary_path) else STDERR.puts "Performing AutoExit due to missing required dictionary at path: #{dictionary_path}" exit 1 end end |
.validate_flickr_api ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/flico.rb', line 41 def self.validate_flickr_api key, secret = ENV['FLICKR_KEY'], ENV['FLICKR_SECRET'] unless key == nil && secret == nil FlickRaw.api_key = key FlickRaw.shared_secret = secret FlickrCommand.setup(FlickRaw::Flickr.new) else STDERR.puts "Performing AutoExit due to missing required environment variables: FLICKR_KEY and FLICKR_SECRET" exit 1 end end |
.validate_resources(keywords, options = {}) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/flico.rb', line 32 def self.validate_resources(keywords, ={}) dictionary = validate_dictionary dictionary.append(keywords) col = SaveCollage.new col.output_file_name = [:file_name] Resource.new(flickr_api: validate_flickr_api, dictionary: dictionary, fetch_image: FetchImage.new, collager: Collager.new, save_collage: col) end |