steamdeals-cli-gem 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
  SHA1:
3
- metadata.gz: fd3e3f4c03fbf30840b1e64a362565bf24c61d2a
4
- data.tar.gz: 066318670b29d4ed31e950e716d8be9cdc87bb4f
3
+ metadata.gz: 92aa53e4a63e983857f1a692fe0105d1cf99da31
4
+ data.tar.gz: 7d8c5af0a1edff6f04cf93663462a9500af9c6ba
5
5
  SHA512:
6
- metadata.gz: be7a579d1ceadab55eb3832c9c5384e20e484274f2322756636ca5d79600241ce82ecfb8bf35c7f38dcc1fc8faeb4968378ea169cafaf4d695613fc97e013db0
7
- data.tar.gz: 9adfa5bc61688a6611bfc9fd123341277d4cfd9d857f964ba5add6e9f5090bf8d6567d3116d2427aa4b281cc9b8576ac15fdf0ff205c74f1dbe6d2c22503d562
6
+ metadata.gz: fa8a014cd3b515946693ee7967c7158a510184a441bd05347ddc8ed0d1cda8f09c0d659b9b82094a94c630a4056c4262eba8432ca25fc570b101c149302e3e8b
7
+ data.tar.gz: 244312e5d7066dd6a8821bc7f9ebf62f56bccbc8c37937c63e96adeb21c8b016f8cb7020ce9e9cbb74ffc7a9412bbbb5e4046dae03ea9064ff1d6020417a3d6e
@@ -1,42 +1,62 @@
1
- require 'pry'
2
1
  class SteamDeals::CLI
3
2
 
4
3
  def start
5
4
  input = ""
6
5
  while input != "exit"
7
- puts "Here are the apps listed for today's Steam Daily Deals"
8
- puts "-------------------------------------------------------"
9
- SteamDeals::Deal.scrape_deals_list
10
- SteamDeals::Deal.all.each.with_index(1) do |app, index|
11
- puts "#{index}. #{app.name}"
12
- end
13
- puts " "
14
-
15
- puts "Which game would you like to see in detail? (Enter the number associtaed with game on list)"
16
- puts "or you can enter 'exit' to exit out of the program"
17
- input = gets.chomp
18
-
19
- if input.downcase == "exit"
6
+ puts "\nWhich Sale would you like to see?"
7
+ puts "---------------------------------"
8
+ puts "1. Daily Deals\n"
9
+ puts "2. Weeklong Deals"
10
+ puts "(Or type 'exit' to end program)\n"
11
+ input = gets.strip.downcase
12
+ case input
13
+ when "1"
14
+ display_daily_deals
15
+ when "2"
16
+ display_weeklong_deals
17
+ when "exit"
20
18
  puts "\nGoodbye!"
21
- elsif input.to_i > 0 && game = SteamDeals::Deal.app_at(input.to_i)
22
- display_details(game)
23
19
  else
24
- puts "\nInvalid input. Try again.\n"
20
+ puts "\nInvalid input, try again!\n"
25
21
  end
26
22
  end
27
23
  end
28
24
 
25
+ def display_daily_deals
26
+ puts "\nNow retreiving Daily Deals. Please be patient\n"
27
+ puts "\nHere are the apps listed for today's Steam Daily Deals"
28
+ puts "-------------------------------------------------------"
29
+ SteamDeals::Deal.scrape_daily_deals
30
+ SteamDeals::Deal.all.each.with_index(1) do |app, index|
31
+ puts "#{index}. #{app.name}"
32
+ end
33
+ puts " "
34
+ show_game_list
35
+ end
36
+
37
+ def display_weeklong_deals
38
+ puts "\nNow retreiving Weeklong Deals. Please be patient\n"
39
+ SteamDeals::Deal.scrape_weeklong_deals
40
+ puts "Here are the apps listed for today's Steam Weeklong Deals"
41
+ puts "-------------------------------------------------------"
42
+ SteamDeals::Deal.all.each.with_index(1) do |app,index|
43
+ puts "#{index}. #{app.name}"
44
+ end
45
+ puts " "
46
+ show_game_list
47
+ end
48
+
29
49
  def display_details(game)
30
50
  input = ""
31
- while input.downcase != "exit"
51
+ while input != "exit"
32
52
  puts ""
33
- puts "What details would you like to see? (Enter number choice or type exit to return to previous menu"
53
+ puts "What details would you like to see? (Enter number choice or type exit to return to previous menu)"
34
54
  puts ""
35
55
  puts "1. Sale Details"
36
56
  puts "2. Game Details"
37
57
  puts ""
38
58
 
39
- input = gets.chomp
59
+ input = gets.chomp.downcase
40
60
  case input
41
61
  when "1"
42
62
  show_sale_details(game)
@@ -52,7 +72,7 @@ class SteamDeals::CLI
52
72
  end
53
73
 
54
74
  def show_sale_details(game)
55
- puts ""
75
+ puts "Loading sale details...\n\n"
56
76
  puts "Here are the sale details"
57
77
  puts "-------------------------"
58
78
  puts "Name : #{game.name}"
@@ -63,7 +83,8 @@ class SteamDeals::CLI
63
83
  end
64
84
 
65
85
  def show_app_details(game)
66
- puts ""
86
+ puts "Loading Game Details...\n\n"
87
+ game.scrape_add_details
67
88
  puts "Here are the app details"
68
89
  puts "------------------------"
69
90
  puts "Name : #{game.name}"
@@ -78,4 +99,22 @@ class SteamDeals::CLI
78
99
  puts "---------------------------------------------------"
79
100
  puts ""
80
101
  end
102
+
103
+ def show_game_list
104
+ input = ""
105
+ while input != "exit"
106
+ puts "Which game would you like to see in detail? (Enter the number associtaed with game on list)"
107
+ puts "or you can enter 'exit' to return to previous menu"
108
+ input = gets.chomp.downcase
109
+
110
+ if input.downcase == "exit"
111
+ puts "\nReturning to previous menu\n"
112
+ elsif input.to_i > 0 && game = SteamDeals::Deal.app_at(input.to_i)
113
+ display_details(game)
114
+ else
115
+ puts "\nInvalid input. Try again.\n"
116
+ end
117
+ end
118
+ end
119
+
81
120
  end
@@ -13,22 +13,22 @@ class SteamDeals::Deal
13
13
  @publisher = "N/A"
14
14
  @supported_os = "N/A"
15
15
  @app_desc = "N/A"
16
- scrape_add_details
17
16
  end
18
17
 
19
- def self.scrape_deals_list #only scrapes daily deal for now
18
+ def self.scrape_weeklong_deals
19
+ @@all.clear
20
+ doc = Nokogiri::HTML(open("https://steamdb.info/sales/"))
21
+ app_list = doc.css("#sales-section-weeklong-deals .table-sales .appimg")
22
+ scrape_initial_details(app_list)
23
+ self.all
24
+ end
25
+
26
+
27
+ def self.scrape_daily_deals
20
28
  @@all.clear
21
29
  doc = Nokogiri::HTML(open("https://steamdb.info/sales/"))
22
30
  app_list = doc.css("#sales-section-daily-deal .table-sales .appimg")
23
- app_list.each do |app|
24
- app_name = app.css("a.b")[0].text
25
- app_url ="https://steamdb.info/#{app.css("a.b")[0]["href"]}"
26
- discount = app.css(".price-discount i").text
27
- discount = app.css(".price-discount-minor i").text if discount.empty?
28
- price = "#{app.css("td")[4].text}"
29
- game = SteamDeals::Deal.new(app_name,app_url,discount,price)
30
- @@all << game
31
- end
31
+ scrape_initial_details(app_list)
32
32
  self.all
33
33
  end
34
34
 
@@ -40,6 +40,19 @@ class SteamDeals::Deal
40
40
  @@all[num-1]
41
41
  end
42
42
 
43
+
44
+ def self.scrape_initial_details(app_list)
45
+ app_list.each do |app|
46
+ app_name = app.css("a.b")[0].text
47
+ app_url ="https://steamdb.info/#{app.css("a.b")[0]["href"]}"
48
+ discount = app.css(".price-discount i").text
49
+ discount = app.css(".price-discount-minor i").text if discount.empty?
50
+ price = "#{app.css("td")[4].text}"
51
+ game = SteamDeals::Deal.new(app_name,app_url,discount,price)
52
+ @@all << game
53
+ end
54
+ end
55
+
43
56
  def scrape_add_details
44
57
  doc = Nokogiri::HTML(open(@details_url))
45
58
  @app_desc = doc.css(".span4 p.header-description").text
@@ -1,3 +1,3 @@
1
1
  module SteamDeals
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: steamdeals-cli-gem
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
  - Justin Thomas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-21 00:00:00.000000000 Z
11
+ date: 2016-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '1.10'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.10'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.10'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rake
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +37,9 @@ dependencies:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
39
  version: '10.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '10.0'
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,62 +47,69 @@ dependencies:
38
47
  - - "~>"
39
48
  - !ruby/object:Gem::Version
40
49
  version: '10.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '10.0'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: rspec
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 3.4.0
45
60
  - - ">="
46
61
  - !ruby/object:Gem::Version
47
- version: '0'
62
+ version: 3.4.0
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 3.4.0
52
70
  - - ">="
53
71
  - !ruby/object:Gem::Version
54
- version: '0'
72
+ version: 3.4.0
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: nokogiri
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 1.6.8
59
80
  - - ">="
60
81
  - !ruby/object:Gem::Version
61
- version: '0'
82
+ version: 1.6.8
62
83
  type: :development
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.6.8
66
90
  - - ">="
67
91
  - !ruby/object:Gem::Version
68
- version: '0'
92
+ version: 1.6.8
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: pry
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  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
- - - ">="
97
+ - - "~>"
81
98
  - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: open-uri
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
99
+ version: 0.10.3
87
100
  - - ">="
88
101
  - !ruby/object:Gem::Version
89
- version: '0'
102
+ version: 0.10.3
90
103
  type: :development
91
104
  prerelease: false
92
105
  version_requirements: !ruby/object:Gem::Requirement
93
106
  requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 0.10.3
94
110
  - - ">="
95
111
  - !ruby/object:Gem::Version
96
- version: '0'
112
+ version: 0.10.3
97
113
  description: Scrape steamdb.info for daily steam deals, provides name, sale price,
98
114
  sale discount, and minor descriptions
99
115
  email:
@@ -132,6 +148,5 @@ rubyforge_project:
132
148
  rubygems_version: 2.4.5.1
133
149
  signing_key:
134
150
  specification_version: 4
135
- summary: Scrape steamdb.info for daily steam deals, provides name, sale price, sale
136
- discount, and minor descriptions
151
+ summary: Scrapes steamdb.info for daily and weeklong deals
137
152
  test_files: []