sitemap-parser 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sitemap-parser.rb +22 -2
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a0682d686b4782b8a065dbd86b12031c0dfa5a7
4
- data.tar.gz: 1913c025c57a5fe9a9b374b2774ae049ad1b6dfc
3
+ metadata.gz: 5cf7f24d9633d44bd80514db606dafa869de8e8a
4
+ data.tar.gz: 5dc60886285798683a43f21e81f44f7afdbafc19
5
5
  SHA512:
6
- metadata.gz: cf5e98fc405576f597fe68c0994dc4fdc56d2b3bce0b147665f9e03d22790818a5dc8dd49d9012edb7e1fc52ae3ca6f9bb2f9e6fa6f31610814a7595a3e90eec
7
- data.tar.gz: 8f5d2fc31899c4049187e24bb3ce6395aa794ef1ff674c1e94775e08dc3e5e8a26246badcbdf1be4d03e920cdc9525b51d15e1c0594d4e4a6ca0730d0751c1fa
6
+ metadata.gz: 07241173a5e14eb552827d48b75a3caa27c5b40f1e3eaf39db588a7009d1c8f65b7c302072eef7d9e6a9ce6bce0b7ad94ec36130039a42640d159e8ddcea140f
7
+ data.tar.gz: c3a5d2fa4b2e182eb0b335cb04ba65839d213690fad73f12d3055b85e2ad10da5133aa88fa6baab304576dd0d04fd870de793c1b73c849f08cfaaf691f90b238
@@ -1,5 +1,5 @@
1
1
  require 'nokogiri'
2
- require 'open-uri'
2
+ require 'typhoeus'
3
3
 
4
4
  class SitemapParser
5
5
 
@@ -7,15 +7,35 @@ class SitemapParser
7
7
  @url = url
8
8
  end
9
9
 
10
+ def raw_sitemap
11
+ @raw_sitemap ||= begin
12
+ request = Typhoeus::Request.new(@url, followlocation: true)
13
+ request.on_complete do |response|
14
+ if response.success?
15
+ return response.body
16
+ else
17
+ return nil
18
+ end
19
+ end
20
+ request.run
21
+ end
22
+ end
23
+
10
24
  def sitemap
11
- @sitemap ||= Nokogiri::XML(open(@url))
25
+ @sitemap ||= Nokogiri::XML(raw_sitemap)
26
+ rescue
27
+ nil
12
28
  end
13
29
 
14
30
  def urls
15
31
  sitemap.at("urlset").search("url")
32
+ rescue
33
+ nil
16
34
  end
17
35
 
18
36
  def to_a
19
37
  urls.map { |url| url.at("loc").content }
38
+ rescue
39
+ []
20
40
  end
21
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitemap-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-02 00:00:00.000000000 Z
11
+ date: 2014-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.5.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: typhoeus
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.6.7
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.6.7
27
41
  description: Ruby Gem to parse sitemaps.org compliant sitemaps.
28
42
  email: ben.balter@github.com
29
43
  executables: []