opengraph 0.0.1 → 0.0.2

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/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Michael Bleigh
1
+ Copyright (c) 2009 Intridea, Inc. and Michael Bleigh
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.rdoc CHANGED
@@ -1,6 +1,30 @@
1
1
  = OpenGraph
2
2
 
3
- OpenGraph is a very simple library for parsing Open Graph information from web sites.
3
+ OpenGraph is a very simple library for parsing Open Graph protocol
4
+ information from web sites. Learn more about the protocol at:
5
+
6
+ http://opengraphprotocol.org
7
+
8
+ == Installation
9
+
10
+ gem install opengraph
11
+
12
+ == Usage
13
+
14
+ require 'opengraph'
15
+
16
+ movie = OpenGraph.fetch('http://www.rottentomatoes.com/m/1217700-kick_ass/')
17
+
18
+ movie.title # => 'Kick-Ass'
19
+ movie.movie? # => true
20
+ movie.image # => 'http://images.rottentomatoes.com/images/movie/custom/00/1217700.jpg'
21
+
22
+ If you try to fetch Open Graph information for a URL that doesn't
23
+ have any, the <tt>fetch</tt> method will return <tt>false.</tt>.
24
+ The OpenGraph::Object that is returned is just a Hash with accessors
25
+ built into it, so you can examine what properties you've retrieved like so:
26
+
27
+ movie.keys # => ['type','image','title','url']
4
28
 
5
29
  == Note on Patches/Pull Requests
6
30
 
@@ -14,4 +38,4 @@ OpenGraph is a very simple library for parsing Open Graph information from web s
14
38
 
15
39
  == Copyright
16
40
 
17
- Copyright (c) 2010 Michael Bleigh. See LICENSE for details.
41
+ Copyright (c) 2010 Intridea, Inc. and Michael Bleigh. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/lib/opengraph.rb CHANGED
@@ -8,6 +8,8 @@ module OpenGraph
8
8
  # is data to be found or <tt>false</tt> if there isn't.
9
9
  def self.fetch(uri)
10
10
  parse(RestClient.get(uri).body)
11
+ rescue RestClient::Exception, SocketError
12
+ false
11
13
  end
12
14
 
13
15
  def self.parse(html)
@@ -20,8 +22,6 @@ module OpenGraph
20
22
  end
21
23
  return false unless page.valid?
22
24
  page
23
- rescue RestClient::Exception
24
- false
25
25
  end
26
26
 
27
27
  TYPES = {
data/opengraph.gemspec ADDED
@@ -0,0 +1,68 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{opengraph}
8
+ s.version = "0.0.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Michael Bleigh"]
12
+ s.date = %q{2010-04-24}
13
+ s.description = %q{A very simple Ruby library for parsing Open Graph prototocol information from websites. See http://opengraphprotocol.org for more information.}
14
+ s.email = %q{michael@intridea.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/opengraph.rb",
27
+ "opengraph.gemspec",
28
+ "spec/examples/rottentomatoes.html",
29
+ "spec/opengraph_spec.rb",
30
+ "spec/spec.opts",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = %q{http://github.com/intridea/opengraph}
34
+ s.rdoc_options = ["--charset=UTF-8"]
35
+ s.require_paths = ["lib"]
36
+ s.rubygems_version = %q{1.3.6}
37
+ s.summary = %q{A very simple Ruby library for parsing Open Graph prototocol information from websites.}
38
+ s.test_files = [
39
+ "spec/opengraph_spec.rb",
40
+ "spec/spec_helper.rb"
41
+ ]
42
+
43
+ if s.respond_to? :specification_version then
44
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
45
+ s.specification_version = 3
46
+
47
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
48
+ s.add_runtime_dependency(%q<hashie>, [">= 0"])
49
+ s.add_runtime_dependency(%q<nokogiri>, ["~> 1.4.0"])
50
+ s.add_runtime_dependency(%q<rest-client>, ["~> 1.4.0"])
51
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
52
+ s.add_development_dependency(%q<webmock>, [">= 0"])
53
+ else
54
+ s.add_dependency(%q<hashie>, [">= 0"])
55
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.0"])
56
+ s.add_dependency(%q<rest-client>, ["~> 1.4.0"])
57
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
58
+ s.add_dependency(%q<webmock>, [">= 0"])
59
+ end
60
+ else
61
+ s.add_dependency(%q<hashie>, [">= 0"])
62
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.0"])
63
+ s.add_dependency(%q<rest-client>, ["~> 1.4.0"])
64
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
65
+ s.add_dependency(%q<webmock>, [">= 0"])
66
+ end
67
+ end
68
+
@@ -19,6 +19,13 @@ describe OpenGraph do
19
19
  OpenGraph.fetch('http://www.rottentomatoes.com/m/1217700-kick_ass/').title.should == 'Kick-Ass'
20
20
  WebMock.should have_requested(:get, 'http://www.rottentomatoes.com/m/1217700-kick_ass/')
21
21
  end
22
+
23
+ it 'should catch errors' do
24
+ stub_request(:get, 'http://example.com').to_return(:status => 404)
25
+ OpenGraph.fetch('http://example.com').should be_false
26
+ RestClient.should_receive(:get).with('http://example.com').and_raise(SocketError)
27
+ OpenGraph.fetch('http://example.com').should be_false
28
+ end
22
29
  end
23
30
  end
24
31
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Bleigh
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-22 00:00:00 -04:00
17
+ date: 2010-04-24 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -100,6 +100,7 @@ files:
100
100
  - Rakefile
101
101
  - VERSION
102
102
  - lib/opengraph.rb
103
+ - opengraph.gemspec
103
104
  - spec/examples/rottentomatoes.html
104
105
  - spec/opengraph_spec.rb
105
106
  - spec/spec.opts