posterous_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.infinity_test ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ infinity_test do
4
+ use :test_framework => :rspec
5
+ end
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --autotest
3
+ --require fuubar --format Fuubar
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm --create 1.9.2@posterous_api
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ source :rubygems
4
+
5
+ gem 'httparty', '0.6.1'
6
+ gem 'jeweler'
7
+
8
+ group :test do
9
+ gem 'rspec', '2.1.0'
10
+ gem 'fakeweb', '1.3.0'
11
+ gem 'infinity_test', '1.0.2'
12
+ gem 'fuubar'
13
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,44 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ crack (0.1.8)
5
+ diff-lcs (1.1.2)
6
+ fakeweb (1.3.0)
7
+ fuubar (0.0.2)
8
+ rspec (~> 2.0)
9
+ rspec-instafail (~> 0.1.4)
10
+ ruby-progressbar (~> 0.0.9)
11
+ git (1.2.5)
12
+ httparty (0.6.1)
13
+ crack (= 0.1.8)
14
+ infinity_test (1.0.2)
15
+ notifiers (>= 1.1.0)
16
+ watchr (>= 0.7)
17
+ jeweler (1.5.1)
18
+ bundler (~> 1.0.0)
19
+ git (>= 1.2.5)
20
+ rake
21
+ notifiers (1.1.0)
22
+ rake (0.8.7)
23
+ rspec (2.1.0)
24
+ rspec-core (~> 2.1.0)
25
+ rspec-expectations (~> 2.1.0)
26
+ rspec-mocks (~> 2.1.0)
27
+ rspec-core (2.1.0)
28
+ rspec-expectations (2.1.0)
29
+ diff-lcs (~> 1.1.2)
30
+ rspec-instafail (0.1.4)
31
+ rspec-mocks (2.1.0)
32
+ ruby-progressbar (0.0.9)
33
+ watchr (0.7)
34
+
35
+ PLATFORMS
36
+ ruby
37
+
38
+ DEPENDENCIES
39
+ fakeweb (= 1.3.0)
40
+ fuubar
41
+ httparty (= 0.6.1)
42
+ infinity_test (= 1.0.2)
43
+ jeweler
44
+ rspec (= 2.1.0)
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'jeweler'
5
+ Jeweler::Tasks.new do |gemspec|
6
+ gemspec.name = "posterous_api"
7
+ gemspec.summary = ""
8
+ gemspec.description = ""
9
+ gemspec.email = "tomasdestefi@gmail.com"
10
+ gemspec.homepage = "http://github.com/tomas-stefano/posterous_api"
11
+ gemspec.authors = ["Tomas D'Stefano"]
12
+
13
+ gemspec.add_dependency('httparty', '>= 0.6.1')
14
+
15
+ end
16
+ Jeweler::GemcutterTasks.new
17
+ rescue LoadError
18
+ puts("-" * 80)
19
+ puts "Jeweler not available. Install it with:
20
+ [sudo] gem install jeweler"
21
+ puts("-" * 80)
22
+ end
data/Readme.markdown ADDED
@@ -0,0 +1,27 @@
1
+ # Posterous API
2
+
3
+ Posterous API is a extraction from Reblog application (that is not ready in production, but will be =] )
4
+
5
+ ## Install
6
+
7
+ gem install posterous_api
8
+
9
+ ## Require
10
+
11
+ require 'posterous_api'
12
+
13
+ ## Using
14
+
15
+ user = Posterous::User.new('my_user@email.com', 'my_password')
16
+
17
+ user.blogs # => return all blogs from posterous
18
+
19
+ users.posts_from :blog => 'site_id'
20
+
21
+ user.tasgs_from :blog => 'site_id'
22
+
23
+ # More Features
24
+
25
+ Just read the source code man!
26
+
27
+ =p
data/VERSION.yml ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 0
5
+ :build:
@@ -0,0 +1,9 @@
1
+ require 'httparty'
2
+
3
+ module Posterous
4
+ autoload :BaseURI, 'posterous_api/base_uri'
5
+ autoload :User, 'posterous_api/user'
6
+ autoload :Connection, 'posterous_api/connection'
7
+ autoload :NewAPI, 'posterous_api/new_api'
8
+ autoload :OldAPI, 'posterous_api/old_api'
9
+ end
@@ -0,0 +1,10 @@
1
+ module Posterous
2
+ module BaseURI
3
+
4
+ # Base URI for the Posterous API
5
+ #
6
+ def base_uri
7
+ @base_uri ||= "http://posterous.com/api"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ module Posterous
2
+ module Connection
3
+
4
+ def get(uri, options={})
5
+ klass = options[:klass] || HTTParty
6
+ klass.get(uri, { :basic_auth => credentials }.merge(options))
7
+ end
8
+
9
+ def post(uri, options={})
10
+ klass = options[:klass] || HTTParty
11
+ klass.post(uri, {:basic_auth => credentials}.merge(options))
12
+ end
13
+
14
+ def put(uri, options)
15
+ klass = options[:klass] || HTTParty
16
+ klass.put(uri, :basic_auth => credentials)
17
+ end
18
+
19
+ def delete(uri, klass=HTTParty)
20
+ klass = options[:klass] || HTTParty
21
+ klass.delete(uri, :basic_auth => credentials)
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,44 @@
1
+ module Posterous
2
+ module NewAPI
3
+ include BaseURI
4
+
5
+ # The get sites uri to get all the sites from a user
6
+ #
7
+ # Fields:
8
+ # None
9
+ #
10
+ def get_sites_uri
11
+ @get_sites_uri ||= "#{base_uri}/2/users/me/sites"
12
+ end
13
+
14
+ # Get the primary site from a user
15
+ #
16
+ def user_primary_site_uri
17
+ @user_primary_site_uri ||= "#{base_uri}/api/2/users/me/sites/primary"
18
+ end
19
+
20
+ # Create a site url
21
+ #
22
+ def create_site_uri
23
+ @create_site_uri ||= "#{base_uri}/api/2/users/me/sites"
24
+ end
25
+
26
+ # Get a User Uri
27
+ #
28
+ def get_a_user_uri
29
+ @get_a_user_uri ||= "#{base_uri}/api/2/users/me"
30
+ end
31
+
32
+ # Public posts uri from your primary site
33
+ #
34
+ def public_posts_from_primary_site_uri
35
+ @public_posts_from_primary_site_uri ||= "#{base_uri}/api/2/users/me/sites/primary/posts/public"
36
+ end
37
+
38
+ # The auth token uri to get the token
39
+ #
40
+ def auth_token_uri
41
+ @auth_token_uri ||= "#{base_uri}/2/auth/token"
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,65 @@
1
+ # Old API of Posterous:
2
+
3
+ # http://posterous.com/api/reading
4
+
5
+ module Posterous
6
+ module OldAPI
7
+ include BaseURI
8
+
9
+ def get_all_sites_uri
10
+ @get_all_sites_uri ||= "#{base_uri}/getsites"
11
+ end
12
+
13
+ # The get tags uri to get all the tags
14
+ #
15
+ # Fields:
16
+ # "site_id" - Optional. Id of the site to read from
17
+ # "hostname" - Optional. Subdomain of the site to read from
18
+ #
19
+ def get_tags_uri
20
+ @get_tags_uri ||= "#{base_uri}/gettags"
21
+ end
22
+
23
+ # The read posts uri to get all the posts from a site
24
+ #
25
+ # Fields:
26
+ # "site_id" - Optional. Id of the site to read from
27
+ # "hostname" - Optional. Subdomain of the site to read from
28
+ # "num_posts" - Optional. How many posts you want. Default is 10, max is 50
29
+ # "page" - Optional. What 'page' you want (based on num_posts). Default is 1
30
+ # "tag" - Optional
31
+ #
32
+ def read_posts_uri
33
+ @read_posts_uri ||= "#{base_uri}/readposts"
34
+ end
35
+
36
+ # Fields:
37
+ # "site_id" - Optional. Id of the site to post to. If not supplied, posts to the user's default site
38
+ # "media" - Optional. File data for single file.
39
+ # "media[]" - Optional. File data for multiple file upload. Can be specified multiple times.
40
+ # "title" - Optional. Title of post
41
+ # "body" - Optional. Body of post
42
+ # "autopost" - Optional. 0 or 1.
43
+ # "private" - Optional. 0 or 1.
44
+ # "date" - Optional. In GMT. Any parsable format. Cannot be in the future.
45
+ # "tags" - Optional. Comma separate tags
46
+ # "source" - Optional. The name of your application or website
47
+ # "sourceLink" - Optional. Link to your application or website
48
+ #
49
+ def new_post_uri
50
+ @new_post_uri ||= "#{base_uri}/newpost"
51
+ end
52
+
53
+ # Fields:
54
+ # "post_id" - Id of the post to update.
55
+ # "media" - Optional. File data for single file. Will append to post.
56
+ # "media[]" - Optional. File data for multiple file upload. Can be specified multiple times. Will append to post.
57
+ # "title" - Optional. Title of post. Will update post if present.
58
+ # "body" - Optional. Body of post. Will update post if present.
59
+ #
60
+ def update_post_uri
61
+ @update_post_uri ||= "#{base_uri}/updatepost"
62
+ end
63
+
64
+ end
65
+ end
@@ -0,0 +1,61 @@
1
+ module Posterous
2
+ class User
3
+ attr_accessor :email, :password
4
+ include Connection
5
+ include OldAPI
6
+
7
+ # http://posterous.com/api/posting
8
+
9
+ # Initialize of a Client with email and password
10
+ #
11
+ def initialize(email, password)
12
+ @email = email
13
+ @password = password
14
+ end
15
+
16
+ # Return the credentials to use with the old API
17
+ #
18
+ # user.credentials
19
+ #
20
+ def credentials
21
+ { :username => @email, :password => @password }
22
+ end
23
+
24
+ # Return all the sites for that user
25
+ #
26
+ # user.blogs
27
+ #
28
+ def blogs
29
+ get(get_all_sites_uri)
30
+ end
31
+
32
+ # Return all the posts from a blog
33
+ #
34
+ # user.posts_from :blog => '123456'
35
+ #
36
+ def posts_from(options={})
37
+ get(read_posts_uri, { :site_id => options[:blog]})
38
+ end
39
+ alias :posts :posts_from
40
+
41
+ # Return all the tags from a blog
42
+ #
43
+ # user.tags_from :blog => '123456'
44
+ #
45
+ def tags_from(options={})
46
+ get(get_tags_uri, { :site_id => options[:blog]})
47
+ end
48
+
49
+ # Create a new post in a blog
50
+ #
51
+ # user.create_post_for :blog => '123456', :title => 'My title', :body => 'Body'
52
+ #
53
+ def create_post_for(options)
54
+ site_id = options[:blog]
55
+ options.delete(:blog)
56
+ options[:site_id] = site_id
57
+ post(new_post_uri, options)
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,74 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{posterous_api}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tomas D'Stefano"]
12
+ s.date = %q{2010-11-20}
13
+ s.description = %q{}
14
+ s.email = %q{tomasdestefi@gmail.com}
15
+ s.files = [
16
+ ".infinity_test",
17
+ ".rspec",
18
+ ".rvmrc",
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "Rakefile",
22
+ "Readme.markdown",
23
+ "VERSION.yml",
24
+ "lib/posterous_api.rb",
25
+ "lib/posterous_api/base_uri.rb",
26
+ "lib/posterous_api/connection.rb",
27
+ "lib/posterous_api/new_api.rb",
28
+ "lib/posterous_api/old_api.rb",
29
+ "lib/posterous_api/user.rb",
30
+ "posterous_api.gemspec",
31
+ "spec/posterous_api/base_uri_spec.rb",
32
+ "spec/posterous_api/connection_spec.rb",
33
+ "spec/posterous_api/new_api_spec.rb",
34
+ "spec/posterous_api/old_api_spec.rb",
35
+ "spec/posterous_api/posterous_api_spec.rb",
36
+ "spec/posterous_api/user_spec.rb",
37
+ "spec/spec_helper.rb",
38
+ "spec/support/faker_response.rb"
39
+ ]
40
+ s.homepage = %q{http://github.com/tomas-stefano/posterous_api}
41
+ s.require_paths = ["lib"]
42
+ s.rubygems_version = %q{1.3.7}
43
+ s.summary = %q{}
44
+ s.test_files = [
45
+ "spec/posterous_api/base_uri_spec.rb",
46
+ "spec/posterous_api/connection_spec.rb",
47
+ "spec/posterous_api/new_api_spec.rb",
48
+ "spec/posterous_api/old_api_spec.rb",
49
+ "spec/posterous_api/posterous_api_spec.rb",
50
+ "spec/posterous_api/user_spec.rb",
51
+ "spec/spec_helper.rb",
52
+ "spec/support/faker_response.rb"
53
+ ]
54
+
55
+ if s.respond_to? :specification_version then
56
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
57
+ s.specification_version = 3
58
+
59
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
60
+ s.add_runtime_dependency(%q<httparty>, ["= 0.6.1"])
61
+ s.add_runtime_dependency(%q<jeweler>, [">= 0"])
62
+ s.add_runtime_dependency(%q<httparty>, [">= 0.6.1"])
63
+ else
64
+ s.add_dependency(%q<httparty>, ["= 0.6.1"])
65
+ s.add_dependency(%q<jeweler>, [">= 0"])
66
+ s.add_dependency(%q<httparty>, [">= 0.6.1"])
67
+ end
68
+ else
69
+ s.add_dependency(%q<httparty>, ["= 0.6.1"])
70
+ s.add_dependency(%q<jeweler>, [">= 0"])
71
+ s.add_dependency(%q<httparty>, [">= 0.6.1"])
72
+ end
73
+ end
74
+
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ module Posterous
4
+ describe BaseURI do
5
+ include BaseURI
6
+ describe '#base_uri' do
7
+ it "should return the base uri" do
8
+ base_uri.should == "http://posterous.com/api"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,6 @@
1
+ require 'spec_helper'
2
+
3
+ module Posterous
4
+ describe Connection do
5
+ end
6
+ end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ module Posterous
4
+ describe NewAPI do
5
+ include NewAPI
6
+
7
+ it "should return the auth token uri" do
8
+ auth_token_uri.should == "#{@base_uri}/2/auth/token"
9
+ end
10
+
11
+ context 'in sites' do
12
+
13
+ it "should return the get sites uri" do
14
+ get_sites_uri.should == "#{@base_uri}/2/users/me/sites"
15
+ end
16
+
17
+ it "should return a uri from users primary site" do
18
+ user_primary_site_uri.should == "#{@base_uri}/api/2/users/me/sites/primary"
19
+ end
20
+
21
+ it "should return a uri from create a site" do
22
+ create_site_uri.should == "#{@base_uri}/api/2/users/me/sites"
23
+ end
24
+
25
+ end
26
+
27
+ context 'in users' do
28
+
29
+ it "should return a uri to get a user" do
30
+ get_a_user_uri.should == "#{@base_uri}/api/2/users/me"
31
+ end
32
+
33
+ end
34
+
35
+ context 'in posts' do
36
+
37
+ it "should return the public posts from the primary site uri" do
38
+ public_posts_from_primary_site_uri.should == "#{@base_uri}/api/2/users/me/sites/primary/posts/public"
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ module Posterous
4
+ describe OldAPI do
5
+ include OldAPI
6
+ context 'blogs' do
7
+ it "should return the get all blogs uri" do
8
+ get_all_sites_uri.should == "#{@base_uri}/getsites"
9
+ end
10
+ end
11
+
12
+ context 'posts' do
13
+ it "should return the read posts uri" do
14
+ read_posts_uri.should == "#{@base_uri}/readposts"
15
+ end
16
+
17
+ it "should return the get tags uri" do
18
+ get_tags_uri.should == "#{@base_uri}/gettags"
19
+ end
20
+
21
+ it "should return the new post uri" do
22
+ new_post_uri.should == "#{@base_uri}/newpost"
23
+ end
24
+
25
+ it "should return the update post uri" do
26
+ update_post_uri.should == "#{@base_uri}/updatepost"
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+
3
+ describe Posterous do
4
+ end
@@ -0,0 +1,88 @@
1
+ require 'spec_helper'
2
+
3
+ FakeWeb.allow_net_connect = false
4
+
5
+ module Posterous
6
+ describe User do
7
+ let(:user) { Posterous::User.new('fake_email@gmail.com', 'secret')}
8
+ let(:batman) { Posterous::User.new('batman@gmail.com', 'super_secret') }
9
+ include FakerResponse
10
+
11
+ describe '#initialize' do
12
+
13
+ it "should storage the email of the user" do
14
+ Posterous::User.new('my_email@gmail.com', 'password').email.should == "my_email@gmail.com"
15
+ end
16
+
17
+ it "should storage the password for user" do
18
+ Posterous::User.new('my_email@gmail.com', 'secret').password.should == 'secret'
19
+ end
20
+
21
+ end
22
+
23
+ describe '#credentials' do
24
+ it "should return a instance of Hash" do
25
+ user.credentials.should be_instance_of(Hash)
26
+ end
27
+
28
+ it "should return a username in the key" do
29
+ user.credentials.should have_key(:username)
30
+ end
31
+
32
+ it "should have the email in the username value" do
33
+ user.credentials.should have_value(user.email)
34
+ end
35
+
36
+ it "should return a username in the key" do
37
+ user.credentials.should have_key(:password)
38
+ end
39
+
40
+ it "should have the password in the email value" do
41
+ user.credentials.should have_value(user.password)
42
+ end
43
+ end
44
+
45
+ describe '#blogs' do
46
+
47
+ it "should call the Httparty" do
48
+ mock_sites(user)
49
+ user.blogs
50
+ end
51
+ end
52
+
53
+ describe '#posts' do
54
+
55
+ it "should return a post from a site in a instance of Array" do
56
+ mock_posts(user, '12345')
57
+ user.posts_from(:blog => '12345')
58
+ end
59
+
60
+ end
61
+
62
+ describe '#tags_from' do
63
+ it "should pass to HTTParty the uri and the site id" do
64
+ mock_tags(user, '126789')
65
+ user.tags_from(:blog => '126789')
66
+ end
67
+ end
68
+
69
+ describe '#create_post_for' do
70
+
71
+ it "should call the Httparty get method with the right uri" do
72
+ mock_create_post(user, :blog => '12345', :title => 'Just the title', :body => 'The body of the post!')
73
+ user.create_post_for :blog => '12345', :title => 'Just the title', :body => 'The body of the post!'
74
+ end
75
+
76
+ end
77
+
78
+ describe '#get' do
79
+
80
+ it "should get all the blogs from user" do
81
+ mock_sites(batman)
82
+ batman.get(batman.get_all_sites_uri).should == 'response'
83
+ end
84
+
85
+ end
86
+
87
+ end
88
+ end
@@ -0,0 +1,8 @@
1
+ require 'rspec'
2
+ require 'posterous_api'
3
+ require 'fakeweb'
4
+ require 'support/faker_response'
5
+
6
+ RSpec.configure do |config|
7
+ config.include FakerResponse
8
+ end
@@ -0,0 +1,43 @@
1
+
2
+ module FakerResponse
3
+ def blogs_response
4
+ {
5
+ "rsp" => {
6
+ "site" => [
7
+ { "id" => "2165389", "name" => "testandoreblog's posterous" }
8
+ ] }
9
+ }
10
+ end
11
+
12
+ def mock_sites(user)
13
+ HTTParty.should_receive(:get).with(user.get_all_sites_uri,
14
+ :basic_auth => { :username => user.email, :password => user.password
15
+ }).and_return('response')
16
+ end
17
+
18
+ def mock_posts(user, blog_id)
19
+ HTTParty.should_receive(:get).with(user.read_posts_uri,
20
+ :basic_auth => { :username => user.email, :password => user.password},
21
+ :site_id => blog_id
22
+ ).and_return('response')
23
+ end
24
+
25
+ def mock_tags(user, blog_id)
26
+ HTTParty.should_receive(:get).with(user.get_tags_uri,
27
+ :basic_auth => { :username => user.email, :password => user.password},
28
+ :site_id => blog_id
29
+ ).and_return('response')
30
+ end
31
+
32
+ def mock_create_post(user, options)
33
+ blog = options[:blog]
34
+ options.delete(:blog)
35
+ HTTParty.should_receive(:post).with(user.new_post_uri,
36
+ {:basic_auth => { :username => user.email, :password => user.password},
37
+ :site_id => blog,
38
+ :title => nil,
39
+ :body => nil }.merge(options)
40
+ ).and_return('response')
41
+ end
42
+
43
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: posterous_api
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 0
9
+ version: 0.1.0
10
+ platform: ruby
11
+ authors:
12
+ - Tomas D'Stefano
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-11-20 00:00:00 -02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: httparty
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - "="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 6
30
+ - 1
31
+ version: 0.6.1
32
+ type: :runtime
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: jeweler
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: httparty
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ - 6
58
+ - 1
59
+ version: 0.6.1
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: *id003
63
+ description: ""
64
+ email: tomasdestefi@gmail.com
65
+ executables: []
66
+
67
+ extensions: []
68
+
69
+ extra_rdoc_files: []
70
+
71
+ files:
72
+ - .infinity_test
73
+ - .rspec
74
+ - .rvmrc
75
+ - Gemfile
76
+ - Gemfile.lock
77
+ - Rakefile
78
+ - Readme.markdown
79
+ - VERSION.yml
80
+ - lib/posterous_api.rb
81
+ - lib/posterous_api/base_uri.rb
82
+ - lib/posterous_api/connection.rb
83
+ - lib/posterous_api/new_api.rb
84
+ - lib/posterous_api/old_api.rb
85
+ - lib/posterous_api/user.rb
86
+ - posterous_api.gemspec
87
+ - spec/posterous_api/base_uri_spec.rb
88
+ - spec/posterous_api/connection_spec.rb
89
+ - spec/posterous_api/new_api_spec.rb
90
+ - spec/posterous_api/old_api_spec.rb
91
+ - spec/posterous_api/posterous_api_spec.rb
92
+ - spec/posterous_api/user_spec.rb
93
+ - spec/spec_helper.rb
94
+ - spec/support/faker_response.rb
95
+ has_rdoc: true
96
+ homepage: http://github.com/tomas-stefano/posterous_api
97
+ licenses: []
98
+
99
+ post_install_message:
100
+ rdoc_options: []
101
+
102
+ require_paths:
103
+ - lib
104
+ required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ segments:
110
+ - 0
111
+ version: "0"
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ requirements: []
121
+
122
+ rubyforge_project:
123
+ rubygems_version: 1.3.7
124
+ signing_key:
125
+ specification_version: 3
126
+ summary: ""
127
+ test_files:
128
+ - spec/posterous_api/base_uri_spec.rb
129
+ - spec/posterous_api/connection_spec.rb
130
+ - spec/posterous_api/new_api_spec.rb
131
+ - spec/posterous_api/old_api_spec.rb
132
+ - spec/posterous_api/posterous_api_spec.rb
133
+ - spec/posterous_api/user_spec.rb
134
+ - spec/spec_helper.rb
135
+ - spec/support/faker_response.rb