Class: GitTrend::CLI

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

Instance Method Summary collapse

Instance Method Details

#callObject



3
4
5
6
# File 'lib/git_trend/cli.rb', line 3

def call
  greet_user
  set_lang
end

#display_projects(lang) ⇒ Object



49
50
51
52
# File 'lib/git_trend/cli.rb', line 49

def display_projects(lang)
  projects = GitTrend::Scraper.get_page(lang)
  projects.each_with_index {|e, i| puts "#{i+1}. #{e[:title]} -- #{e[:description]}" }
end

#display_readme(lang) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/git_trend/cli.rb', line 27

def display_readme(lang)
  puts "Choose a number for the project"
  input = gets.strip.to_i - 1
  project = GitTrend::Scraper.get_page(lang)
  readme = project[input][:readme]
  GitTrend::Scraper.get_readme(readme)
end

#goodbye_userObject



12
13
14
15
# File 'lib/git_trend/cli.rb', line 12

def goodbye_user
  puts "Stay Trendy!"
  exit
end

#greet_userObject



8
9
10
# File 'lib/git_trend/cli.rb', line 8

def greet_user
  puts "Welcome, lets see what's trending in your language."
end

#request_infoObject



17
18
19
20
21
22
23
24
25
# File 'lib/git_trend/cli.rb', line 17

def request_info
  puts "Would you like to see a README of a trending project?"
  input = gets.strip.downcase
  if input == "yes"
    true
  else
    false
  end
end

#set_langObject



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/git_trend/cli.rb', line 35

def set_lang
  puts "What language would you like to search?"
  input = gets.strip.downcase
  while input != "exit"
    display_projects(input)
    if request_info
      display_readme(input)
    else
      set_lang
    end
  end
  goodbye_user
end