feed-abstract 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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