DFS-player-rankings 0.0.0
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 +7 -0
- data/bin/DFS-player-rankings +5 -0
- data/config/environment.rb +7 -0
- data/lib/DFS_player_rankings.rb +4 -0
- data/lib/DFS_player_rankings/cli.rb +54 -0
- data/lib/DFS_player_rankings/player.rb +35 -0
- data/lib/DFS_player_rankings/scraper.rb +17 -0
- metadata +120 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 31a20d3def796689803a5b494d04614e08cfd038
|
4
|
+
data.tar.gz: 688b80dff3f950cad9a6abe4fbf3300b3095a4d8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 57fef98cb76960c4ba847d6e4f072f00ed6968fb269a4b6fc3e2be4b59ccca426e99222cb126d3968a369d43669c1e5ef50bbff40a0ee64f3e38858602fc0b96
|
7
|
+
data.tar.gz: 70f9e26c344877fecd1bc561b6c682086f8ae2d32c7159839fc14ea93486459c08cc05ebe00f6bbb5996c591a27df06baed6656bb5cd73e5e142322953899196
|
@@ -0,0 +1,54 @@
|
|
1
|
+
class DFSPlayerRankings::CLI
|
2
|
+
|
3
|
+
def call
|
4
|
+
DFSPlayerRankings::Scraper.new.make_players
|
5
|
+
puts "Welcome to the top DFS players in the world"
|
6
|
+
start
|
7
|
+
end
|
8
|
+
|
9
|
+
def start
|
10
|
+
puts ""
|
11
|
+
puts "Which set of players would you like to see? 1-10, 11-20, 21-30, 31-40, 41-50"
|
12
|
+
input = gets.strip.to_i
|
13
|
+
|
14
|
+
print_players(input)
|
15
|
+
|
16
|
+
puts ""
|
17
|
+
puts "What player would you like more information on?"
|
18
|
+
input = gets.strip
|
19
|
+
|
20
|
+
player = DFSPlayerRankings::Player.find(input.to_i)
|
21
|
+
|
22
|
+
print_player(player)
|
23
|
+
|
24
|
+
puts ""
|
25
|
+
puts "Would you like to see another player? Enter Y or N"
|
26
|
+
|
27
|
+
input = gets.strip.downcase
|
28
|
+
if input == "y"
|
29
|
+
start
|
30
|
+
else
|
31
|
+
puts ""
|
32
|
+
puts "Thank you! Have a great day!"
|
33
|
+
exit
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def print_player(player)
|
38
|
+
puts ""
|
39
|
+
puts "----------- #{player.name} - #{player.rank} -----------"
|
40
|
+
puts ""
|
41
|
+
puts "Total points: #{player.totalpoints}"
|
42
|
+
puts ""
|
43
|
+
end
|
44
|
+
|
45
|
+
def print_players(from_number)
|
46
|
+
puts ""
|
47
|
+
puts "---------- Players #{from_number} - #{from_number+9} ----------"
|
48
|
+
puts ""
|
49
|
+
DFSPlayerRankings::Player.all[from_number-1, 10].each.with_index(from_number) do |player, index|
|
50
|
+
puts "#{index}. #{player.name} - #{player.rank}"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class DFSPlayerRankings::Player
|
2
|
+
|
3
|
+
|
4
|
+
attr_accessor :name, :rank, :totalpoints
|
5
|
+
|
6
|
+
@@all = []
|
7
|
+
|
8
|
+
def self.new_from_index_page(r)
|
9
|
+
self.new(
|
10
|
+
r.css("td.player a").text,
|
11
|
+
r.css("td.rank").text.strip,
|
12
|
+
r.css("td.points").text.strip
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(name=nil, rank=nil, totalpoints=nil)
|
17
|
+
@name = name
|
18
|
+
@rank = rank
|
19
|
+
@totalpoints = totalpoints
|
20
|
+
@@all << self
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.all
|
24
|
+
@@all
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.find(id)
|
28
|
+
self.all[id-1]
|
29
|
+
end
|
30
|
+
|
31
|
+
def doc
|
32
|
+
@doc ||= Nokogiri::HTML(open(self.url))
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class DFSPlayerRankings::Scraper
|
2
|
+
|
3
|
+
def get_page
|
4
|
+
Nokogiri::HTML(open("https://rotogrinders.com/rankings"))
|
5
|
+
end
|
6
|
+
|
7
|
+
def scrape_players_index
|
8
|
+
self.get_page.css("tbody tr")
|
9
|
+
end
|
10
|
+
|
11
|
+
def make_players
|
12
|
+
scrape_players_index.each do |r|
|
13
|
+
DFSPlayerRankings::Player.new_from_index_page(r)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: DFS-player-rankings
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Nady
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-09-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: nokogiri
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: Provides details on the top DFS players in the world
|
84
|
+
email: nady.christopher@gmail.com
|
85
|
+
executables:
|
86
|
+
- DFS-player-rankings
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- bin/DFS-player-rankings
|
91
|
+
- config/environment.rb
|
92
|
+
- lib/DFS_player_rankings.rb
|
93
|
+
- lib/DFS_player_rankings/cli.rb
|
94
|
+
- lib/DFS_player_rankings/player.rb
|
95
|
+
- lib/DFS_player_rankings/scraper.rb
|
96
|
+
homepage: http://rubygems.org/gems/DFS-player-rankings
|
97
|
+
licenses:
|
98
|
+
- MIT
|
99
|
+
metadata: {}
|
100
|
+
post_install_message:
|
101
|
+
rdoc_options: []
|
102
|
+
require_paths:
|
103
|
+
- lib
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
requirements: []
|
115
|
+
rubyforge_project:
|
116
|
+
rubygems_version: 2.6.13
|
117
|
+
signing_key:
|
118
|
+
specification_version: 4
|
119
|
+
summary: Top ranked DFS players in the world
|
120
|
+
test_files: []
|