feed-abstract 0.0.4 → 0.0.5

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.
data/Rakefile CHANGED
@@ -1,2 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+
1
3
  require 'bundler'
4
+ require './lib/feed-abstract'
2
5
  Bundler::GemHelper.install_tasks
6
+
7
+ begin
8
+ require 'jeweler'
9
+ Jeweler::Tasks.new do |s|
10
+ s.name = "feed-abstract"
11
+ s.version = FeedAbstract::VERSION
12
+ s.homepage = "https://github.com/berkmancenter/feed-abstract"
13
+ s.summary = %q{Abstracts RSS/Atom/RDF parsing features from the ruby standard lib into a common object graph.}
14
+ s.description = %q{This library creates a common object graph for the RSS/Atom/RDF parsing classes in the ruby standard library. This allows you parse different feed formats and get back the same (or at least a very similar) set of results - item authors are accessible under an "author(s)" attribute, categories/tags/subjects are accessible under "category(ies)" attributes, etc. We do our best to make sure the data makes sense, too - RSS items lack an "updated" attribute, so we use "pubDate" to populate it. }
15
+ s.authors = ["Daniel Collis-Puro"]
16
+ s.email = ["djcp@cyber.law.harvard.edu"]
17
+ s.files = `git ls-files`.split("\n")
18
+ s.rdoc_options = ["--charset=UTF-8"]
19
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+ s.add_development_dependency "rspec"
23
+ s.extra_rdoc_files = [
24
+ "README.rdoc"
25
+ ]
26
+ end
27
+ rescue LoadError
28
+ puts "Jeweler, or one of its dependencies, is not available."
29
+ end
30
+
@@ -1,23 +1,87 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
1
4
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "feed-abstract/version"
4
5
 
5
6
  Gem::Specification.new do |s|
6
- s.name = "feed-abstract"
7
- s.version = FeedAbstract::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Daniel Collis-Puro"]
10
- s.email = ["djcp@cyber.law.harvard.edu"]
11
- s.homepage = "https://github.com/berkmancenter/feed-abstract"
12
- s.summary = %q{Abstracts RSS/Atom/RDF parsing features from the ruby standard lib into a common object graph.}
7
+ s.name = %q{feed-abstract}
8
+ s.version = "0.0.5"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = [%q{Daniel Collis-Puro}]
12
+ s.date = %q{2011-09-07}
13
13
  s.description = %q{This library creates a common object graph for the RSS/Atom/RDF parsing classes in the ruby standard library. This allows you parse different feed formats and get back the same (or at least a very similar) set of results - item authors are accessible under an "author(s)" attribute, categories/tags/subjects are accessible under "category(ies)" attributes, etc. We do our best to make sure the data makes sense, too - RSS items lack an "updated" attribute, so we use "pubDate" to populate it. }
14
- s.files = `git ls-files`.split("\n")
15
- s.rdoc_options = ["--charset=UTF-8"]
16
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
19
- s.add_development_dependency "rspec", "2.6"
14
+ s.email = [%q{djcp@cyber.law.harvard.edu}]
20
15
  s.extra_rdoc_files = [
21
16
  "README.rdoc"
22
17
  ]
18
+ s.files = [
19
+ ".gitignore",
20
+ "Gemfile",
21
+ "README.rdoc",
22
+ "Rakefile",
23
+ "feed-abstract.gemspec",
24
+ "lib/feed-abstract.rb",
25
+ "lib/feed-abstract/channel/atom.rb",
26
+ "lib/feed-abstract/channel/rdf.rb",
27
+ "lib/feed-abstract/channel/rss.rb",
28
+ "lib/feed-abstract/feed.rb",
29
+ "lib/feed-abstract/item/atom.rb",
30
+ "lib/feed-abstract/item/rdf.rb",
31
+ "lib/feed-abstract/item/rss.rb",
32
+ "lib/feed-abstract/items/atom.rb",
33
+ "lib/feed-abstract/items/rdf.rb",
34
+ "lib/feed-abstract/items/rss.rb",
35
+ "lib/feed-abstract/mixins.rb",
36
+ "lib/feed-abstract/version.rb",
37
+ "spec/feed_abstract_channel_spec.rb",
38
+ "spec/feed_abstract_item_spec.rb",
39
+ "spec/feed_abstract_spec.rb",
40
+ "spec/spec_helper.rb",
41
+ "spec/test_data/djcp.rss",
42
+ "spec/test_data/djcp.rss92",
43
+ "spec/test_data/djcp_code.rss",
44
+ "spec/test_data/djcp_delicious.rss",
45
+ "spec/test_data/doc.atom",
46
+ "spec/test_data/feedburner.rss",
47
+ "spec/test_data/katanapg.atom",
48
+ "spec/test_data/oa.africa.rss",
49
+ "spec/test_data/zotero.rss"
50
+ ]
51
+ s.homepage = %q{https://github.com/berkmancenter/feed-abstract}
52
+ s.rdoc_options = [%q{--charset=UTF-8}]
53
+ s.require_paths = [%q{lib}]
54
+ s.rubygems_version = %q{1.8.6}
55
+ s.summary = %q{Abstracts RSS/Atom/RDF parsing features from the ruby standard lib into a common object graph.}
56
+
57
+ if s.respond_to? :specification_version then
58
+ s.specification_version = 3
59
+
60
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ s.add_runtime_dependency(%q<feed-abstract>, [">= 0"])
62
+ s.add_development_dependency(%q<rspec>, [">= 0"])
63
+ s.add_development_dependency(%q<rspec>, [">= 0"])
64
+ s.add_development_dependency(%q<rspec>, [">= 0"])
65
+ s.add_development_dependency(%q<rspec>, [">= 0"])
66
+ s.add_development_dependency(%q<rspec>, [">= 0"])
67
+ s.add_development_dependency(%q<rspec>, [">= 0"])
68
+ else
69
+ s.add_dependency(%q<feed-abstract>, [">= 0"])
70
+ s.add_dependency(%q<rspec>, [">= 0"])
71
+ s.add_dependency(%q<rspec>, [">= 0"])
72
+ s.add_dependency(%q<rspec>, [">= 0"])
73
+ s.add_dependency(%q<rspec>, [">= 0"])
74
+ s.add_dependency(%q<rspec>, [">= 0"])
75
+ s.add_dependency(%q<rspec>, [">= 0"])
76
+ end
77
+ else
78
+ s.add_dependency(%q<feed-abstract>, [">= 0"])
79
+ s.add_dependency(%q<rspec>, [">= 0"])
80
+ s.add_dependency(%q<rspec>, [">= 0"])
81
+ s.add_dependency(%q<rspec>, [">= 0"])
82
+ s.add_dependency(%q<rspec>, [">= 0"])
83
+ s.add_dependency(%q<rspec>, [">= 0"])
84
+ s.add_dependency(%q<rspec>, [">= 0"])
85
+ end
23
86
  end
87
+
@@ -25,7 +25,18 @@ module FeedAbstract
25
25
  # You will most likely be using the <b>channel</b> and <b>items</b> attributes.
26
26
  #
27
27
  # === Notes
28
- # If a feed can't be parsed, we'll throw a FeedAbstract::ParserError.
28
+ # * If a feed can't be parsed, we'll throw a FeedAbstract::ParserError.
29
+ # * All dates are returned as Time objects. You will need to convert if you're using ActiveRecord as it expects DateTime objects - fortunately this is very easy via the 'to_datetime' extension that ActiveRecord provides.
30
+ #
31
+ # feed = FeedAbstract::Feed.new(feed_xml_string)
32
+ # feed.items.each do |item|
33
+ # fi = FeedItem.new #Your feed item model.
34
+ # if item.updated.respond_to?(:to_datetime) #There's a date instead of an empty string
35
+ # fi.last_updated = item.updated.to_datetime # <<--- here!
36
+ # end
37
+ # #More happens. . .
38
+ # fi.save
39
+ # end
29
40
  #
30
41
  # == Examples
31
42
  #
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module FeedAbstract
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feed-abstract
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,85 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-06 00:00:00.000000000Z
12
+ date: 2011-09-07 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: feed-abstract
16
+ requirement: &84055580 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *84055580
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &84055280 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *84055280
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &84054980 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *84054980
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: &84054710 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *84054710
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec
60
+ requirement: &84054440 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *84054440
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: &84054140 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *84054140
14
80
  - !ruby/object:Gem::Dependency
15
81
  name: rspec
16
- requirement: &72099580 !ruby/object:Gem::Requirement
82
+ requirement: &84053840 !ruby/object:Gem::Requirement
17
83
  none: false
18
84
  requirements:
19
- - - =
85
+ - - ! '>='
20
86
  - !ruby/object:Gem::Version
21
- version: '2.6'
87
+ version: '0'
22
88
  type: :development
23
89
  prerelease: false
24
- version_requirements: *72099580
90
+ version_requirements: *84053840
25
91
  description: ! 'This library creates a common object graph for the RSS/Atom/RDF parsing
26
92
  classes in the ruby standard library. This allows you parse different feed formats
27
93
  and get back the same (or at least a very similar) set of results - item authors