argh_ss 0.3.3 → 0.3.4

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: 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