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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/bin/university +3 -5
- data/lib/university_cli_app.rb +4 -0
- data/lib/university_cli_app/university.rb +21 -0
- data/lib/university_cli_app/university_cli.rb +17 -16
- data/lib/university_cli_app/university_scraper.rb +8 -13
- data/lib/university_cli_app/version.rb +1 -1
- data/university_cli_app-0.1.2.gem +0 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c686f8666689a5206a20455b4a7c234964aa383a4ca72a35f821da83dcecd6a
|
4
|
+
data.tar.gz: 99e2005f0f840ccd0c29fff47b60c2f27383a03e296044b20897a22f39419d3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93ad016da8145a08a0242430e3bd99c9b1583a09b946415df583c058467554cb9da2a12e03b74eb819e936aba32c607c0c26b52e70e395b89b99854773f05b4f
|
7
|
+
data.tar.gz: 89a2f450682f30679f1d9edd516a4cd0bcffc9d2068a1feb3b9653d83cb0acb0101d3e338ea9e78b3f04cadbd4295dbdaf609b201bd8adab062ada3f9fb6fb69
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
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
|
-
|
8
|
+
UniversityCliApp::UniversityCLI.new.call
|
data/lib/university_cli_app.rb
CHANGED
@@ -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
|
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 =
|
49
|
-
list.
|
50
|
-
puts "#{
|
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 =
|
66
|
-
list.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
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
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
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
|
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.
|
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-
|
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:
|