DFS-player-rankings 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/DFS_player_rankings'
4
+
5
+ DFSPlayerRankings::CLI.new.call
@@ -0,0 +1,7 @@
1
+ require 'pry'
2
+ require 'nokogiri'
3
+ require 'open-uri'
4
+
5
+ require_relative '../lib/DFS_player_rankings/scraper'
6
+ require_relative '../lib/DFS_player_rankings/player'
7
+ require_relative '../lib/DFS_player_rankings/cli'
@@ -0,0 +1,4 @@
1
+ module DFSPlayerRankings
2
+ end
3
+
4
+ require_relative '../config/environment'
@@ -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: []