newegg_scraper_chsbr 0.2.2 → 0.2.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: b6f2133128bd60c1e34d9d7ed98d65aa0bd5c305c804a4491738c22ea6b48931
4
- data.tar.gz: f431eac85ce8616a3143537293e3b552a50056bb83b7afd84d6f0be525387b90
3
+ metadata.gz: f34ca8fd0dbc560e05743c291654c9bdd092cc8c30c534978898666fdad5eaa3
4
+ data.tar.gz: 55eec0e26900218bf9ad0ae8ae37c65863add7639365a3df818ece9625e0aaa9
5
5
  SHA512:
6
- metadata.gz: 32761b7f137118cd0b9ff915b745078f28ed74402ded5cfee1163196a6412e5904e53a5c8be73a8c818e637fa98884f483c714c3c62297a4c9b0dbded09d5fbd
7
- data.tar.gz: deefa949cc5df1ea06cd1bf75a6977277b76573ac2ad9c1b5a2fc6fb01dc921bb7ed4163c9a1f1df5518f19cbaeddbc5df6b6afc7a7e58f643205bc42ef5f7f9
6
+ metadata.gz: b50c23b2586cb80492649ed42cfce04f1f1e099baa4d99ddf9539fcfd0b66013f989e47ed56fd2a6f2fc0f9fe8428a338ac6e5d0b16acd993acb6fc8c06f39a9
7
+ data.tar.gz: 1bf45a023b6508aa5c2bd90996928291667945e4c6e588c7776da5f5dbc6232e684f9f598fbc865b605d4fd9054d97b808fdb08554497c59e895297bb9d45b24
@@ -1,4 +1,3 @@
1
-
2
1
  class NeweggScraperChsbr::CLI
3
2
  attr_reader :user
4
3
  def initialize
@@ -18,8 +17,12 @@ class NeweggScraperChsbr::CLI
18
17
  while @counter == 'y'
19
18
  get_price_range
20
19
  get_init_data_for_user
21
- NeweggScraperChsbr::Cpu.display_cpu(@user)
22
- @user.choose_cpu
20
+ printed_cpus = NeweggScraperChsbr::Cpu.display_cpu(@user)
21
+
22
+
23
+ @user.choose_cpu(printed_cpus)
24
+
25
+
23
26
  NeweggScraperChsbr::Cpu.display_cpu_with_extras(@user)
24
27
  puts "If you would like to restart the program please enter : #{@counter}.\nTo exit type n or exit."
25
28
  @counter = gets.strip
@@ -23,6 +23,7 @@ class NeweggScraperChsbr::Cpu
23
23
  end
24
24
  def self.display_cpu(user)
25
25
  counter = 1
26
+ printed_cpus = []
26
27
  @@all.each do | computer |
27
28
  if user.max_price.to_i != 0 && user.min_price.to_i == 0
28
29
 
@@ -32,23 +33,40 @@ class NeweggScraperChsbr::Cpu
32
33
  if user.max_price.to_i == 0 &&
33
34
  user.min_price.to_i == 0 &&
34
35
  (NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make) == "Intel" || NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make) == "AMD")
35
- computer.name.name.include?(NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make)) ? puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}") : nil
36
- elsif user.max_price.to_i == 0 &&
37
- user.min_price.to_i == 0 &&
38
- user.cpu_make == 'x'
36
+ if computer.name.name.include?(NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make))
37
+ puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}")
38
+ printed_cpus << counter
39
+ else
40
+ nil
41
+ end
42
+ elsif user.max_price.to_i == 0 && user.min_price.to_i == 0 && user.cpu_make == 'x'
43
+
39
44
  puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}")
45
+ printed_cpus << counter
40
46
  elsif user.max_price.to_i >= computer.price.convert_price &&
41
47
  user.min_price.to_i <= computer.price.convert_price &&
42
48
  (NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make) == "Intel" || NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make) == "AMD")
43
- computer.name.name.include?(NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make)) ? puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}") : nil
49
+ if computer.name.name.include?(NeweggScraperChsbr::Cpu.cpu_maker(user.cpu_make))
50
+ puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}")
51
+ printed_cpus << counter
52
+ else
53
+ nil
54
+ end
44
55
 
45
56
  elsif user.max_price.to_i >= computer.price.convert_price &&
46
57
  user.min_price.to_i <= computer.price.convert_price &&
47
58
  user.cpu_make == 'x'
48
59
  puts("\n #{counter}:\n Name: #{computer.name.name}\n Price: #{computer.price.price}")
60
+ printed_cpus << counter
61
+
62
+ elsif printed_cpus.size == 0
63
+ puts "You did not match any CPU criteria."
49
64
  end
65
+
50
66
  counter += 1
67
+
51
68
  end
69
+ printed_cpus
52
70
 
53
71
  end
54
72
  def self.display_cpu_with_extras(user)
@@ -70,7 +70,7 @@ class NeweggScraperChsbr::DataGrabber
70
70
  end
71
71
  end
72
72
  def isCoolerOrMB?(name)
73
- name.include?("Water") || name.include?("Air") || name.include?("Motherboard")
73
+ name.include?("Water") || name.include?("Air") || name.include?("Motherboard") || name.include?("AIO") || name.include?("FLY")
74
74
  end
75
75
  def getPrice
76
76
  scraped_info = NeweggScraperChsbr::Scraper.new
@@ -7,19 +7,23 @@ class NeweggScraperChsbr::User
7
7
  @max_price = max_price
8
8
  @chosen_cpu = []
9
9
  end
10
- def choose_cpu
10
+ def choose_cpu(printed_cpus)
11
11
  puts "Please enter the number of the CPU you'd like to see more about."
12
12
  chosen = gets.strip
13
13
  while !is_numeric?(chosen)
14
14
  puts "Please enter the number of the CPU you'd like to see more about."
15
15
  chosen = gets.strip
16
16
  end
17
+ if !printed_cpus.include?(chosen.to_i)
18
+ puts "You chose a CPU outside of your budget please choose another."
19
+ choose_cpu(printed_cpus)
20
+ end
17
21
  @chosen_cpu << chosen.to_i
18
22
  puts "Would you like to see more about another CPU?\nEnter y to do so.\nEnter n to see details about the chosen CPU(s)"
19
23
  input = gets.strip
20
24
 
21
25
  if input == 'y'
22
- choose_cpu
26
+ choose_cpu(printed_cpus)
23
27
  end
24
28
 
25
29
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NeweggScraperChsbr
4
- VERSION = "0.2.2"
4
+ VERSION = "0.2.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newegg_scraper_chsbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lrd134