Sha256: bf74c01a291842c3d9e1cb8718134030d0bceffb78cbb63851c5f022a0b4dd3f

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

require 'thor'
require 'whos_dated_who'

module WhosDatedWho
  class CLI < Thor
    desc 'version', 'Return the version of WhosDatedWho'
    def version
      puts WhosDatedWho::VERSION
    end

    desc 'query', 'Return the relationship status of a celebrity'
    def query(name)
      result = Client.new.fetch(name)
      status = [
        result[:status], result[:current_relationship][:human]
      ].join(': ')

      puts status
      puts result[:current_relationship][:dates].join(', ')
    end

    desc 'explore', 'Return the relationship status of everyone in celebs.yml'
    def explore
      my_celebs.map do |celeb|
        puts "Processing #{celeb}..."
        begin
          Client.new.fetch(celeb)
        rescue
          puts "Error processing #{celeb}"
        end
      end.compact
    end

    desc 'import_mine', 'Import my favorites into RethinkDB'
    def import_mine
      Importer.new('celebs', 'mine').fetch_and_import(my_celebs)
    end

    desc 'import_maxim', 'Import maxim hot 100'
    def import_maxim
      # TODO
      # resp = Faraday.get('http://www.maxim.com/hot100/2014')
    end

    private

    def my_celebs
      YAML.load_file(File.expand_path('../../../celebs.yml', __FILE__))
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
whos_dated_who-1.0.4 lib/whos_dated_who/cli.rb
whos_dated_who-1.0.3 lib/whos_dated_who/cli.rb
whos_dated_who-1.0.2 lib/whos_dated_who/cli.rb
whos_dated_who-1.0.1 lib/whos_dated_who/cli.rb