university_cli_app 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea7e46adc55048193812caac84f2e1d63225e1c392c5684c5dd6364ebfa7c2e4
4
- data.tar.gz: e30db1402b6562bbac39e8350577b1950d28ad57dbd3305511a19d33b8fd98ab
3
+ metadata.gz: 3c686f8666689a5206a20455b4a7c234964aa383a4ca72a35f821da83dcecd6a
4
+ data.tar.gz: 99e2005f0f840ccd0c29fff47b60c2f27383a03e296044b20897a22f39419d3f
5
5
  SHA512:
6
- metadata.gz: e7e06bda569da0dde1b855427f4bcfaeec19c50294ec95fd8f891ed9049efe5d73a659fe098b4b51e6a441ff930ad77b56934497706369f2caea0db3ce9887fa
7
- data.tar.gz: 5cfb4ad15fac573516f28dd3738fcfe3f550b28e439d4fd0d5ff67c3fbc94d35d08dd74585b566388efe93e392eb2f2359038633781493ccc77f0725a8a76696
6
+ metadata.gz: 93ad016da8145a08a0242430e3bd99c9b1583a09b946415df583c058467554cb9da2a12e03b74eb819e936aba32c607c0c26b52e70e395b89b99854773f05b4f
7
+ data.tar.gz: 89a2f450682f30679f1d9edd516a4cd0bcffc9d2068a1feb3b9653d83cb0acb0101d3e338ea9e78b3f04cadbd4295dbdaf609b201bd8adab062ada3f9fb6fb69
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- university_cli_app (0.1.0)
4
+ university_cli_app (0.1.2)
5
5
  capybara
6
6
  nokogiri
7
7
  poltergeist
data/README.md CHANGED
@@ -22,7 +22,7 @@ Or install it yourself as:
22
22
 
23
23
  Type the below and follow the on screen prompts.
24
24
 
25
- $ university
25
+ $ bin/university
26
26
 
27
27
  ## Development
28
28
 
data/bin/university CHANGED
@@ -1,10 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "university_cli_app"
5
- require "pry"
6
- require "capybara/poltergeist"
3
+ # require "bundler/setup"
4
+ # require "university_cli_app"
7
5
 
8
6
  require_relative '../lib/university_cli_app'
9
7
 
10
- University_cli.new.call
8
+ UniversityCliApp::UniversityCLI.new.call
@@ -6,3 +6,7 @@ require 'capybara/poltergeist'
6
6
  require_relative "./university_cli_app/version"
7
7
  require_relative "./university_cli_app/university_scraper"
8
8
  require_relative "./university_cli_app/university_cli"
9
+ require_relative "./university_cli_app/university"
10
+
11
+ module UniversityCliApp
12
+ end
@@ -0,0 +1,21 @@
1
+ class UniversityCliApp::University
2
+ attr_accessor :name, :rank, :location, :url, :description
3
+ @@all = []
4
+
5
+ def self.all
6
+ @@all
7
+ end
8
+
9
+ def initialize(name, rank, location, url, description)
10
+ @name = name
11
+ @rank = rank
12
+ @location = location
13
+ @url = url
14
+ @description = description
15
+ save
16
+ end
17
+
18
+ def save
19
+ @@all << self
20
+ end
21
+ end
@@ -1,14 +1,18 @@
1
- class University_cli
1
+ class UniversityCliApp::UniversityCLI
2
+ attr_accessor :list
2
3
 
3
4
  def call
5
+ puts "LOADING..."
6
+ puts ""
7
+ UniversityCliApp::University_scraper.school_list
4
8
  menu
5
9
  end
6
10
 
7
11
  def menu
12
+ puts "Welcome to the top 50 Colleges & Universities in America for 2018."
13
+ puts ""
8
14
  input = nil
9
15
  unless input == "3"
10
- puts "Welcome to the top 50 Colleges & Universities in America for 2018."
11
- puts ""
12
16
  puts "Please select an option and press enter:"
13
17
  puts "1. View entire college list"
14
18
  puts "2. Select University by rank"
@@ -45,9 +49,9 @@ class University_cli
45
49
 
46
50
  def list_colleges
47
51
  puts "Top 50 Colleges & Universities in America for 2018"
48
- list = University_scraper.school_list
49
- list.each do |school|
50
- puts "#{school[:rank]}. #{school[:name]}"
52
+ list = UniversityCliApp::University.all
53
+ list.each_with_index do |school, i|
54
+ puts "#{list[i].rank}. #{list[i].name}"
51
55
  end
52
56
  puts ""
53
57
  end
@@ -60,18 +64,15 @@ class University_cli
60
64
  unless num >= 1 && num <= 50
61
65
  puts "Invalid. Please try again."
62
66
  answer = gets.strip
67
+ num = answer.to_i
63
68
  end
64
69
 
65
- list = University_scraper.school_list
66
- list.each do |school|
67
- if answer == school[:rank]
68
- puts "#{school[:rank]}. #{school[:name]}"
69
- puts "#{school[:location].capitalize}"
70
- puts "#{school[:description]}"
71
- puts "Learn more at: #{school[:url]}."
72
- puts ""
73
- end
74
- end
70
+ list = UniversityCliApp::University.all
71
+ puts "#{list[num].rank}. #{list[num].name}"
72
+ puts "#{list[num].location}"
73
+ puts "#{list[num].description}"
74
+ puts "Learn more at: #{list[num].url}."
75
+ puts ""
75
76
  end
76
77
 
77
78
  def close_app
@@ -1,8 +1,7 @@
1
1
  # require 'capybara/poltergeist'
2
2
  # require 'pry'
3
3
 
4
- class University_scraper
5
- attr_accessor :name, :rank, :location, :url, :description
4
+ class UniversityCliApp::University_scraper
6
5
 
7
6
  def self.school_list
8
7
  scrape_school_list
@@ -12,7 +11,6 @@ class University_scraper
12
11
  # options = {
13
12
  # js_errors: false,
14
13
  # }
15
-
16
14
  Capybara.register_driver :poltergeist do |app|
17
15
  Capybara::Poltergeist::Driver.new(app,
18
16
  js_errors: false, phantomjs_logger: StringIO.new)
@@ -24,17 +22,14 @@ class University_scraper
24
22
  session.find('.js-rankings-expand-all').click
25
23
  #puts session.document.title
26
24
 
27
- list = []
28
25
  session.all('table.rankings-list tbody tr').each do |item|
29
- list << {
30
- :rank => item.find('td.rank').text,
31
- :name => item.find('td.title a.rank-title-link').text,
32
- :location => item.find('td.title span.label').text,
33
- :url => item.find('td.stat.link a')['href'],
34
- :description => item.first("td.stat.copy p").text
35
- }
26
+ rank = item.find('td.rank').text,
27
+ name = item.find('td.title a.rank-title-link').text,
28
+ location = item.find('td.title span.label').text,
29
+ url = item.find('td.stat.link a')['href'],
30
+ description = item.first("td.stat.copy p").text
31
+
32
+ school = UniversityCliApp::University.new(name, rank[0], location, url, description)
36
33
  end
37
- #binding.pry
38
- list
39
34
  end
40
35
  end
@@ -1,3 +1,3 @@
1
1
  module UniversityCliApp
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: university_cli_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christine Xiang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-01 00:00:00.000000000 Z
11
+ date: 2018-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -139,11 +139,13 @@ files:
139
139
  - bin/setup
140
140
  - bin/university
141
141
  - lib/university_cli_app.rb
142
+ - lib/university_cli_app/university.rb
142
143
  - lib/university_cli_app/university_cli.rb
143
144
  - lib/university_cli_app/university_scraper.rb
144
145
  - lib/university_cli_app/version.rb
145
146
  - university_cli_app-0.1.0.gem
146
147
  - university_cli_app-0.1.1.gem
148
+ - university_cli_app-0.1.2.gem
147
149
  - university_cli_app.gemspec
148
150
  homepage: https://github.com/yutingcxiang/university-cli-app
149
151
  licenses: