queenshop 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f38a45ae4c97e921217cdc3f2356967d69c5d1b
4
- data.tar.gz: 0923d54e09b5e94ee492a8d2548e3115ba22e417
3
+ metadata.gz: 51ff3a99efef2152c5528fc1377981e2802e74b0
4
+ data.tar.gz: c2e00a3763b9c6cf99f135424a66c2bb2f260400
5
5
  SHA512:
6
- metadata.gz: 6f30dd75b849c05dd81c6c6a7c941e95d50ab921714faf103baeadfe21324f081b1ed84d0138a398fb546fa21558fbdeb28896fb0e83b0e506db3226476fdde0
7
- data.tar.gz: 0eaee104168e6c1da58663f53b0abaea7e52d6a31919ea4822ef851cb4728f1713ad153bca180bf57c3e56563e4453b9bea68b73fe3bbc95368b07316b8cc679
6
+ metadata.gz: 6a78c3d74d6e22f3faf2944782d7526a58a1626579ca024c4366f0dc337745245c0aba6c26ff838ba6a39eca72ddac98a70a9b8696058342eff3b5414def917f
7
+ data.tar.gz: a827145c98212153608e90da678f7755815158621c47cfcacfdcb92dfd142833f29b47b88d77f8495341017fa0d4af66de5bb9176ea13cc237aa78662354e7d2
@@ -9,8 +9,7 @@ module Validate
9
9
  VALID_ARGS = [:item, :price, :pages]
10
10
 
11
11
  def validate_args(args)
12
- @parameters = { item: '', price: '', pages: '1..2' }
13
-
12
+ @parameters = {item: '', price: '', pages: '1..7'}
14
13
  args.each do |arg|
15
14
  begin
16
15
  match = /(?<key>.*?)=(?<value>.*)/.match(arg)
@@ -18,20 +17,19 @@ module Validate
18
17
  value = check(match)
19
18
  @parameters[match[:key].to_sym] = value
20
19
  rescue StandardError
21
- abort 'invalid usage: ' << usage << "\n\n"
20
+ abort "invalid usage...\n" << usage << "\n\n"
22
21
  end
23
22
  end
24
23
  end # end validate_args
25
24
 
26
25
  def check(match)
27
26
  value = match[:value]
28
- fail unless
29
- value =~ /^(>|<|>=|<=|==)\d*.\d*?$/ if match[:key].to_sym.eql?(:price)
27
+ fail unless value =~ /^(>|<|>=|<=|==)\d*.\d*?$/ if match[:key].to_sym.eql?(:price)
30
28
  # Float(value) if match[:key].to_sym.eql?(:price)
31
29
  fail unless value =~ /^\d*([.]{2}\d*)?$/ if match[:key].to_sym.eql?(:pages)
32
30
  value
33
31
  rescue StandardError
34
- abort 'invalid parameters'
32
+ abort "invalid parameters"
35
33
  end
36
34
 
37
35
  def pages
@@ -51,11 +49,10 @@ module Validate
51
49
  end
52
50
  end
53
51
 
54
- # basic config name conflic if called Config
55
52
  class QConfig
56
53
  include Validate
57
- def initialize(args)
58
- validate_args(args)
54
+ def initialize (args)
55
+ validate_args (args)
59
56
  pages
60
57
  end
61
58
  end
@@ -35,9 +35,9 @@ module QueenShopScraper
35
35
  items = document.xpath(@item_selector)
36
36
  # loop through the items and get the title and price
37
37
  items.map do |item|
38
- title = item.xpath(@title_selector).text.force_encoding('UTF-8')
38
+ title = item.xpath(@title_selector).text()
39
39
  price = item.xpath(@price_selector).text
40
- strip_filter(title, price)
40
+ strip_filter(title, price) unless title.chomp().empty?
41
41
  end
42
42
  @result
43
43
  end
@@ -67,12 +67,14 @@ module QueenShopScraper
67
67
  end
68
68
 
69
69
  def scrape (params=[])
70
+ params = ARGV.empty? ? params : ARGV
70
71
  conf = QConfig.new(params)
71
72
  @price_filter = conf.parameters[:price]
72
-
73
+ @title_selector << "/text()[contains(.,'#{conf.parameters[:item]}')]"
74
+
73
75
  conf.pages.map do |page|
74
76
  paginated_uri = "&page=#{page}"
75
- fetch_result (paginated_uri)
77
+ fetch_result(paginated_uri)
76
78
  end
77
79
  @result
78
80
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queenshop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Even Chang
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-10-26 00:00:00.000000000 Z
14
+ date: 2015-11-22 00:00:00.000000000 Z
15
15
  dependencies: []
16
16
  description: This is a gem scraping queenshop's website and returns the items with
17
17
  corresponding prices
@@ -29,7 +29,7 @@ files:
29
29
  - lib/queenshop.rb
30
30
  - lib/queenshop/config.rb
31
31
  - lib/queenshop/scraper.rb
32
- homepage: http://rubygems.org/gems/pinkoi
32
+ homepage: http://rubygems.org/gems/queenshop
33
33
  licenses:
34
34
  - MIT
35
35
  metadata: {}
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
49
49
  version: '0'
50
50
  requirements: []
51
51
  rubyforge_project:
52
- rubygems_version: 2.5.0
52
+ rubygems_version: 2.4.6
53
53
  signing_key:
54
54
  specification_version: 4
55
55
  summary: Scraper for Queenshop