argh_ss 0.3.3 → 0.3.4

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: fa1144d35720cdad9f20170c7e8e893f70cda47b
4
- data.tar.gz: d5413a547590a1d5d9a4a3c2d5bd7576c2911762
3
+ metadata.gz: 245eb21da55999ec3b9a48ea2f6a2630855bcb55
4
+ data.tar.gz: bc6e86debdd6043734fc2c79766e548648273ad3
5
5
  SHA512:
6
- metadata.gz: 458da9eb484f005da26e3642bcf4539f22f241cb41a20539c720840d7afb44bbf296a64789378b1492e9c7ffc95ed9ad79e7adf44832be628e204d1f0c966bc6
7
- data.tar.gz: a1393801571068d95cfed5b9966ee2074aec916fd25ea88dc90862eb7dd97ce446bc9621db8693cce9a44225627ad7d5e002382e2f58307516733d99c64df8e0
6
+ metadata.gz: 109cb6d72122d94c70870f92515a433f6abc1dab661a112c84f34a22ec51fed5724452b501ba349fc1b3ab1618bdbfa0e246688f467c877eda706f8d8fd43e2d
7
+ data.tar.gz: 8a94c90df6d13ddf3f602862f6f1741b9a2d11707fb487ff5ec6d937292ce2993e0cd1f19af4a27acd5b9c147f96c67060956a762e240aae24adc50f06a93a0d
@@ -8,29 +8,24 @@ class RSSFeed
8
8
 
9
9
  [].tap do |result|
10
10
  open(url) do |rss|
11
- begin
12
- feed = RSS::Parser.parse(rss, false)
13
- case feed.feed_type
14
- when 'rss'
15
- feed.items.each do |item|
16
- hash = {}
17
- args.each do |content|
18
- hash[content] = item.send(rss_hash[content])
19
- end
20
- result << hash
11
+ feed = RSS::Parser.parse(rss, false)
12
+ raise NoMethodError, "Invalid feed" if !feed
13
+ case feed.feed_type
14
+ when 'rss'
15
+ feed.items.each_with_object({}) do |item, hash|
16
+ args.each do |content|
17
+ hash[content] = item.send(rss_hash[content])
21
18
  end
22
- when 'atom'
23
- feed.entries.each do |entry|
24
- hash = {}
25
- args.each do |content|
26
- args_array = atom_hash[content]
27
- hash[content] = entry.send(args_array[0]).send(args_array[1])
28
- end
29
- result << hash
19
+ result << hash
20
+ end
21
+ when 'atom'
22
+ feed.entries.each_with_object({}) do |entry, hash|
23
+ args.each do |content|
24
+ args_array = atom_hash[content]
25
+ hash[content] = entry.send(args_array[0]).send(args_array[1])
30
26
  end
27
+ result << hash
31
28
  end
32
- rescue
33
- next
34
29
  end
35
30
  end
36
31
  end
@@ -40,16 +35,13 @@ class RSSFeed
40
35
  def self.feed(url)
41
36
  {}.tap do |result|
42
37
  open(url) do |rss|
43
- begin
44
- feed = RSS::Parser.parse(rss)
45
- case feed.feed_type
46
- when 'rss'
47
- feed.items.each { |item| result[item.title] = item.link }
48
- when 'atom'
49
- feed.items.each { |item| result[item.title.content] = item.link.content }
50
- end
51
- rescue
52
- next
38
+ feed = RSS::Parser.parse(rss)
39
+ raise NoMethodError, "Invalid feed" if !feed
40
+ case feed.feed_type
41
+ when 'rss'
42
+ feed.items.each { |item| result[item.title] = item.link }
43
+ when 'atom'
44
+ feed.items.each { |item| result[item.title.content] = item.link.content }
53
45
  end
54
46
  end
55
47
  end
@@ -1,3 +1,3 @@
1
1
  module ArghSs
2
- VERSION = "0.3.3"
2
+ VERSION = "0.3.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: argh_ss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Holmes
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-24 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler