Class: AllTweets::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/alltweets/cli.rb

Instance Method Summary collapse

Constructor Details

#initializeCLI

Returns a new instance of CLI.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/alltweets/cli.rb', line 7

def initialize
  @screen_name, @opts = parse_args
  @settings = Settings.new
  update_access_token
  @fetcher = Fetcher.new(
    consumer_key: @settings.consumer_key,
    consumer_secret: @settings.consumer_secret,
    access_token: @settings.access_token,
    access_token_secret: @settings.access_token_secret
  )
end

Instance Method Details

#runObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/alltweets/cli.rb', line 19

def run
  warn "Downloading @#{@screen_name}'s all tweets"
  result = @fetcher.fetch_all_tweets(@screen_name, include_retweets: @opts[:retweets]).map(&:to_h)

  if @opts[:yaml]
    dump_data = YAML.dump(result)
  else
    dump_data = JSON.dump(result)
  end

  puts dump_data
rescue
  warn "Error: #{$!}".colorize(:red)
  exit 1
end