stratify-instapaper 0.1.0

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/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ *.gem
2
+ .bundle
3
+ pkg/*
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use ruby-1.9.2-p180@stratify
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in stratify-instapaper.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,94 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ stratify-instapaper (0.1.0)
5
+ railties (~> 3.1.0.rc1)
6
+ stratify-base (~> 0.1.0)
7
+ thoughtafter-simple-rss (~> 1.2.3)
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ actionpack (3.1.0.rc1)
13
+ activemodel (= 3.1.0.rc1)
14
+ activesupport (= 3.1.0.rc1)
15
+ builder (~> 3.0.0)
16
+ erubis (~> 2.7.0)
17
+ i18n (~> 0.6.0beta1)
18
+ rack (~> 1.3.0.beta2)
19
+ rack-cache (~> 1.0.1)
20
+ rack-mount (~> 0.8.1)
21
+ rack-test (~> 0.6.0)
22
+ sprockets (~> 2.0.0.beta.5)
23
+ tzinfo (~> 0.3.27)
24
+ activemodel (3.1.0.rc1)
25
+ activesupport (= 3.1.0.rc1)
26
+ bcrypt-ruby (~> 2.1.4)
27
+ builder (~> 3.0.0)
28
+ i18n (~> 0.6.0beta1)
29
+ activesupport (3.1.0.rc1)
30
+ multi_json (~> 1.0)
31
+ bcrypt-ruby (2.1.4)
32
+ bson (1.3.1)
33
+ bson_ext (1.3.1)
34
+ builder (3.0.0)
35
+ database_cleaner (0.6.7)
36
+ diff-lcs (1.1.2)
37
+ erubis (2.7.0)
38
+ fakeweb (1.3.0)
39
+ hike (1.0.0)
40
+ i18n (0.6.0)
41
+ mongo (1.3.1)
42
+ bson (>= 1.3.1)
43
+ mongoid (2.0.2)
44
+ activemodel (~> 3.0)
45
+ mongo (~> 1.3)
46
+ tzinfo (~> 0.3.22)
47
+ multi_json (1.0.3)
48
+ rack (1.3.0)
49
+ rack-cache (1.0.2)
50
+ rack (>= 0.4)
51
+ rack-mount (0.8.1)
52
+ rack (>= 1.0.0)
53
+ rack-ssl (1.3.2)
54
+ rack
55
+ rack-test (0.6.0)
56
+ rack (>= 1.0)
57
+ railties (3.1.0.rc1)
58
+ actionpack (= 3.1.0.rc1)
59
+ activesupport (= 3.1.0.rc1)
60
+ rack-ssl (~> 1.3.2)
61
+ rake (>= 0.8.7)
62
+ thor (~> 0.14.6)
63
+ rake (0.9.1)
64
+ rspec (2.6.0)
65
+ rspec-core (~> 2.6.0)
66
+ rspec-expectations (~> 2.6.0)
67
+ rspec-mocks (~> 2.6.0)
68
+ rspec-core (2.6.3)
69
+ rspec-expectations (2.6.0)
70
+ diff-lcs (~> 1.1.2)
71
+ rspec-mocks (2.6.0)
72
+ sprockets (2.0.0.beta.10)
73
+ hike (~> 1.0)
74
+ rack (~> 1.0)
75
+ tilt (!= 1.3.0, ~> 1.1)
76
+ stratify-base (0.1.0)
77
+ bson_ext (~> 1.3.1)
78
+ mongoid (~> 2.0.2)
79
+ tilt (~> 1.3.2)
80
+ thor (0.14.6)
81
+ thoughtafter-simple-rss (1.2.3.3)
82
+ tilt (1.3.2)
83
+ tzinfo (0.3.27)
84
+ vcr (1.10.0)
85
+
86
+ PLATFORMS
87
+ ruby
88
+
89
+ DEPENDENCIES
90
+ database_cleaner (~> 0.6.7)
91
+ fakeweb (~> 1.3.0)
92
+ rspec (~> 2.6.0)
93
+ stratify-instapaper!
94
+ vcr (~> 1.10.0)
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Jason Rudolph (http://jasonrudolph.com)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ 'Software'), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # stratify-instapaper
2
+
3
+ ## Dependencies
4
+
5
+ Stratify is developed and tested with the following dependencies.
6
+
7
+ * Ruby 1.9.2 (See `.rvmrc` for the specific version.)
8
+ * MongoDB 1.8
9
+
10
+ ## Development
11
+
12
+ To get set up for development on stratify-instapaper, clone the repo, and ...
13
+
14
+ cd stratify/stratify-instapaper
15
+ gem install bundler
16
+ bundle
17
+ rake
18
+
19
+ ## License
20
+
21
+ Copyright 2011 Jason Rudolph ([jasonrudolph.com](http://jasonrudolph.com)). Released under the MIT license. See the LICENSE file for further details.
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec/core'
5
+ require 'rspec/core/rake_task'
6
+ RSpec::Core::RakeTask.new(:spec) do |spec|
7
+ spec.pattern = FileList['spec/**/*_spec.rb']
8
+ end
9
+
10
+ task :default => :spec
@@ -0,0 +1,6 @@
1
+ require 'stratify-base'
2
+
3
+ require 'stratify-instapaper/activity'
4
+ require 'stratify-instapaper/collector'
5
+ require 'stratify-instapaper/engine'
6
+ require 'stratify-instapaper/version'
@@ -0,0 +1,28 @@
1
+ require 'stratify-instapaper/presenter'
2
+
3
+ module Stratify
4
+ module Instapaper
5
+ class Activity < Stratify::Activity
6
+ field :url
7
+ field :title
8
+ field :description
9
+
10
+ natural_key :url, :created_at
11
+
12
+ validates_presence_of :url
13
+
14
+ template %q[
15
+ <p class="summary"><a href="<%= url %>"><%= summary %></a></p>
16
+ <p class="details"><%= details %></p>
17
+ ]
18
+
19
+ def permalink
20
+ url
21
+ end
22
+
23
+ def presenter
24
+ Stratify::Instapaper::Presenter.new(self)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ require 'stratify-instapaper/query'
2
+
3
+ module Stratify
4
+ module Instapaper
5
+ class Collector < Stratify::Collector
6
+ source "Instapaper"
7
+
8
+ configuration_fields :rss_url => {:type => :string, :label => "RSS URL"}
9
+
10
+ configuration_instructions %q[
11
+ <p>To collect the articles that you've read on Instapaper, the Instapaper collector needs the RSS feed for your archived articles.</p>
12
+
13
+ <p>To find the URL for your personal RSS feed, go to the <a href="http://www.instapaper.com/archive" target="_blank">archive for your Instapaper account</a>. Look for the RSS feed link on that page. (You should find it toward the bottom right of the page.) The URL will look something like this:</p>
14
+
15
+ <p><code>http://www.instapaper.com/archive/rss/123456/0123456789abcdefghijklmnopq</code></p>
16
+
17
+ <p>Grab the RSS feed URL for your account and paste it into the field below.</p>
18
+ ]
19
+
20
+ def activities
21
+ query.activities
22
+ end
23
+
24
+ def query
25
+ Stratify::Instapaper::Query.new(rss_url)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,9 @@
1
+ require 'rails'
2
+
3
+ module Stratify
4
+ module Instapaper
5
+ class Engine < Rails::Engine
6
+ engine_name :stratify_instapaper
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,34 @@
1
+ module Stratify
2
+ module Instapaper
3
+ class Presenter
4
+ delegate :url, :title, :description, :to => :@activity
5
+
6
+ def initialize(activity)
7
+ @activity = activity
8
+ end
9
+
10
+ def summary
11
+ title.blank? ? url : title
12
+ end
13
+
14
+ def details
15
+ join_fields_with_separator domain, description
16
+ end
17
+
18
+ def domain
19
+ URI.parse(url).host
20
+ end
21
+
22
+ private
23
+
24
+ def separator
25
+ "\u2022"
26
+ end
27
+
28
+ def join_fields_with_separator(*fields)
29
+ fields.reject(&:blank?).join(" #{separator} ")
30
+ end
31
+ end
32
+ end
33
+ end
34
+
@@ -0,0 +1,34 @@
1
+ require 'open-uri'
2
+ require 'simple-rss'
3
+
4
+ module Stratify
5
+ module Instapaper
6
+ class Query
7
+ attr_reader :rss_url
8
+
9
+ def initialize(rss_url)
10
+ @rss_url = rss_url
11
+ end
12
+
13
+ def activities
14
+ raw_activities.map {|raw_activity| build_activity_from_raw_data(raw_activity)}
15
+ end
16
+
17
+ private
18
+
19
+ def raw_activities
20
+ rss = SimpleRSS.parse open(rss_url)
21
+ rss.items
22
+ end
23
+
24
+ def build_activity_from_raw_data(raw_activity)
25
+ Stratify::Instapaper::Activity.new({
26
+ :url => raw_activity.link,
27
+ :title => raw_activity.title,
28
+ :description => raw_activity.description,
29
+ :created_at => raw_activity.pubDate
30
+ })
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,5 @@
1
+ module Stratify
2
+ module Instapaper
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
data/spec/mongoid.yml ADDED
@@ -0,0 +1,3 @@
1
+ persist_in_safe_mode: true
2
+ host: localhost
3
+ database: stratify_instapaper_test
@@ -0,0 +1,38 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'stratify-instapaper'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ require 'database_cleaner'
11
+
12
+ RSpec.configure do |config|
13
+ config.color_enabled = true
14
+ config.formatter = :progress
15
+
16
+ # Configure RSpec to run focused specs, and also respect the alias 'fit' for focused specs
17
+ config.filter_run :focused => true
18
+ config.run_all_when_everything_filtered = true
19
+ config.alias_example_to :fit, :focused => true
20
+
21
+ config.extend VCR::RSpec::Macros
22
+
23
+ # Configure RSpec to truncate the database before any spec tagged with ":database => true"
24
+ DatabaseCleaner.strategy = :truncation
25
+ DatabaseCleaner.orm = "mongoid"
26
+ config.before(:each, :database => true) do
27
+ DatabaseCleaner.clean
28
+ end
29
+
30
+ config.before(:suite) do
31
+ initialize_mongoid_configuration
32
+ end
33
+ end
34
+
35
+ def initialize_mongoid_configuration
36
+ mongoid_config = YAML::load_file(File.join(File.dirname(__FILE__), "mongoid.yml"))
37
+ Mongoid.from_hash(mongoid_config)
38
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe Stratify::Instapaper::Activity do
4
+ describe "#permalink" do
5
+ it "returns the URL of the Instapaper item" do
6
+ item = Stratify::Instapaper::Activity.new(:url => "http://google.com")
7
+ item.permalink.should == "http://google.com"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe "stratify-instpaper" do
4
+ use_vcr_cassette "instapaper"
5
+
6
+ it "collects and stores data from Instapaper", :database => true do
7
+ collector = Stratify::Instapaper::Collector.create!(:rss_url => "http://www.instapaper.com/archive/rss/012345/6789abcdefghijklmnopqrstuvw")
8
+ collector.run
9
+
10
+ Stratify::Instapaper::Activity.where(
11
+ :title => "Gowalla Begins Connecting The Dots On Travel",
12
+ :url => "http://techcrunch.com/2011/01/28/gowalla-travel/",
13
+ :created_at => Time.parse("Sun, 06 Feb 2011 12:28:54 EST")
14
+ ).should exist
15
+
16
+ Stratify::Instapaper::Activity.where(
17
+ :title => "A List Apart: Articles: Kick Ass Kickoff Meetings",
18
+ :url => "http://www.alistapart.com/articles/kick-ass-kickoff-meetings/",
19
+ :description => "jessmartin: Project kickoff meetings need to be well designed: http://bit.ly/duPjmZ Also: http://bit.ly/gE480U",
20
+ :created_at => Time.parse("Mon, 07 Feb 2011 22:51:18 EST")
21
+ ).should exist
22
+ end
23
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe Stratify::Instapaper::Presenter do
4
+ describe "#domain" do
5
+ it "returns just the domain of the Instapaper item's URL" do
6
+ activity = Stratify::Instapaper::Activity.new(:url => "http://googledocs.blogspot.com/2011/02/12-new-file-formats-in-google-docs.html")
7
+ presenter = Stratify::Instapaper::Presenter.new(activity)
8
+ presenter.domain.should == "googledocs.blogspot.com"
9
+ end
10
+ end
11
+
12
+ describe "summary" do
13
+ it "returns the Instapaper item's title when a title is present" do
14
+ activity = Stratify::Instapaper::Activity.new(:title => "some title")
15
+ presenter = Stratify::Instapaper::Presenter.new(activity)
16
+ presenter.summary.should == "some title"
17
+ end
18
+
19
+ it "returns the Instapaper item's URL when the item does not have a title" do
20
+ activity = Stratify::Instapaper::Activity.new(:title => "", :url => "http://example.com")
21
+ presenter = Stratify::Instapaper::Presenter.new(activity)
22
+ presenter.summary.should == "http://example.com"
23
+ end
24
+ end
25
+
26
+ describe "details" do
27
+ it "provides the Instapaper item's domain and description" do
28
+ activity = Stratify::Instapaper::Activity.new(:url => "http://nex-3.com/posts/104-haml-and-sass-3-1-are-released",
29
+ :description => "dhh: Great new stuff for Sass 3.1")
30
+ presenter = Stratify::Instapaper::Presenter.new(activity)
31
+ presenter.details.should == "nex-3.com \u2022 dhh: Great new stuff for Sass 3.1"
32
+ end
33
+
34
+ it "provides only the Instapaper item's domain when the description is blank" do
35
+ activity = Stratify::Instapaper::Activity.new(:url => "http://nex-3.com/posts/104-haml-and-sass-3-1-are-released",
36
+ :description => "")
37
+ presenter = Stratify::Instapaper::Presenter.new(activity)
38
+ presenter.details.should == "nex-3.com"
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,7 @@
1
+ require 'vcr'
2
+
3
+ VCR.config do |c|
4
+ c.cassette_library_dir = 'vcr_cassettes'
5
+ c.stub_with :fakeweb
6
+ c.default_cassette_options = { :record => :once }
7
+ end
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "stratify-instapaper/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "stratify-instapaper"
7
+ s.version = Stratify::Instapaper::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Jason Rudolph"]
10
+ s.email = ["jason@jasonrudolph.com"]
11
+ s.homepage = "http://github.com/jasonrudolph/stratify/"
12
+ s.summary = "Instapaper plugin for Stratify"
13
+ s.description = s.summary
14
+
15
+ s.rubyforge_project = "stratify-instapaper"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_runtime_dependency "railties", "~> 3.1.0.rc1"
23
+ s.add_runtime_dependency "stratify-base", "~> 0.1.0"
24
+ s.add_runtime_dependency "thoughtafter-simple-rss", "~> 1.2.3"
25
+
26
+ s.add_development_dependency "database_cleaner", "~> 0.6.7"
27
+ s.add_development_dependency "fakeweb", "~> 1.3.0"
28
+ s.add_development_dependency "rspec", "~> 2.6.0"
29
+ s.add_development_dependency "vcr", "~> 1.10.0"
30
+ end
@@ -0,0 +1,29 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://www.instapaper.com:80/archive/rss/012345/6789abcdefghijklmnopqrstuvw
6
+ body:
7
+ headers:
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Fri, 11 Feb 2011 21:36:23 GMT
15
+ server:
16
+ - Apache
17
+ x-powered-by:
18
+ - PHP/5.3.3
19
+ p3p:
20
+ - CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"
21
+ vary:
22
+ - Accept-Encoding
23
+ content-length:
24
+ - "7508"
25
+ content-type:
26
+ - text/xml; charset=utf-8
27
+ body: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
28
+ <rss version=\"2.0\"><channel><title>Instapaper: Archive</title><link>http://www.instapaper.com/archive</link><description></description><item><title>Amazon.com: 2011 Editor Picks: MP3 Downloads</title><link>http://www.amazon.com/gp/b/ref=tsm_1_tw_dmedpicks_20110210?node=2620871011</link><description>amazonmp3: Editor Picks: discover some of our editors' favorite songs and albums of the year (so far): http://amzn.to/fSQz9A</description><pubDate>Fri, 11 Feb 2011 09:06:25 EST</pubDate></item><item><title>Advanced sign-in security for your Google account - Official Gmail Blog</title><link>http://gmailblog.blogspot.com/2011/02/advanced-sign-in-security-for-your.html</link><description></description><pubDate>Fri, 11 Feb 2011 08:34:02 EST</pubDate></item><item><title>Full API now available - Instapaper Blog</title><link>http://blog.instapaper.com/post/3208433429</link><description>instapaper: Full API now available: http://t.co/diqusxu</description><pubDate>Fri, 11 Feb 2011 07:41:48 EST</pubDate></item><item><title>Introducing the Google Translate app for iPhone - Official Google Mobile Blog</title><link>http://googlemobile.blogspot.com/2011/02/introducing-google-translate-app-for.html</link><description>GoogleMobile: Attention iPhone owners: download the new Google Translate app to speak and hear your translations! http://goo.gl/cpHqR</description><pubDate>Thu, 10 Feb 2011 22:37:39 EST</pubDate></item><item><title>AT&amp;T announces Unlimited Mobile to Any Mobile calling | Phones | iOS Central | Macworld</title><link>http://www.macworld.com/article/157774/2011/02/att_unlimited.html?lsrc=twt_macworld</link><description>macworld: Anyone else get the feeling AT&amp;T is nervous about something? It's announced Unlimited Mobile to Any Mobile calling: http://ow.ly/3TrS5</description><pubDate>Thu, 10 Feb 2011 22:36:04 EST</pubDate></item><item><title>SEGA Slashes Prices On The App Store, Too | Touch Arcade</title><link>http://toucharcade.com/2011/02/09/sega-slashes-prices-on-the-app-store-too/</link><description></description><pubDate>Thu, 10 Feb 2011 22:35:52 EST</pubDate></item><item><title>Capcom and Sega join Valentine's Day sales on the App Store</title><link>http://www.tuaw.com/2011/02/10/capcom-and-sega-join-valentines-day-sales-on-the-app-store/</link><description>TUAW: Capcom and Sega join Valentine's Day sales on the App Store http://aol.it/feUzAz [post]</description><pubDate>Thu, 10 Feb 2011 10:20:29 EST</pubDate></item><item><title>Banana TV may let iOS devices stream video to the Mac</title><link>http://www.tuaw.com/2011/02/08/banana-tv-may-let-ios-devices-stream-video-to-the-mac/</link><description>TUAW: Banana TV may let iOS devices stream video to the Mac http://aol.it/gTtap0 [post]</description><pubDate>Thu, 10 Feb 2011 08:54:08 EST</pubDate></item><item><title>A List Apart: Articles: Kick Ass Kickoff Meetings</title><link>http://www.alistapart.com/articles/kick-ass-kickoff-meetings/</link><description>jessmartin: Project kickoff meetings need to be well designed: http://bit.ly/duPjmZ Also: http://bit.ly/gE480U</description><pubDate>Mon, 07 Feb 2011 22:51:18 EST</pubDate></item><item><title>Unorthodox, Unconventional and the Next Decade of Agile | Jim Highsmith</title><link>http://www.jimhighsmith.com/2011/02/07/unorthodox-unconventional-and-the-next-decade-of-agile/</link><description>jgehtland: New Blog: Unorthodox, Unconventional and the Next Decade of Agile. http://bit.ly/fLZcrf.</description><pubDate>Mon, 07 Feb 2011 22:30:01 EST</pubDate></item><item><title>Tracking Project Emotions Using MercuryApp</title><link>http://tooky.github.com/2010/11/23/tracking-project-emotions-using-mercury-app.html</link><description></description><pubDate>Mon, 07 Feb 2011 22:25:25 EST</pubDate></item><item><title>\n tbaggery\n \n - Bundle While You Git\n \n </title><link>http://tbaggery.com/2011/02/07/bundle-while-you-git.html</link><description>spicycode: Tired of running `bundle install` by hand like an animal? http://tbaggery.com/2011/02/07/bundle-while-you-git.html</description><pubDate>Mon, 07 Feb 2011 19:14:31 EST</pubDate></item><item><title>Kindle 3.1 software preview brings real page numbers, more | E-Readers | Playlist | Macworld</title><link>http://www.macworld.com/article/157718/2011/02/kindleversion31.html</link><description>macworld: Amazon offers preview version Kindle 3.1 update, now with real page numbers. http://t.co/RUNLLHa</description><pubDate>Mon, 07 Feb 2011 19:11:27 EST</pubDate></item><item><title>Priority Inbox in Gmail for mobile - Official Google Mobile Blog</title><link>http://googlemobile.blogspot.com/2011/02/priority-inbox-in-gmail-for-mobile.html</link><description>GoogleMobile: New! Priority Inbox in #Gmail available for most HTML5-capable phones: http://goo.gl/fswd4 (now with clickable link)</description><pubDate>Mon, 07 Feb 2011 19:09:31 EST</pubDate></item><item><title>The Pragmatic Bookshelf</title><link>http://www.pragprog.com/magazines/2011-02/way-of-the-agile-warrior</link><description></description><pubDate>Sun, 06 Feb 2011 12:33:39 EST</pubDate></item><item><title>Gowalla Begins Connecting The Dots On Travel</title><link>http://techcrunch.com/2011/01/28/gowalla-travel/</link><description></description><pubDate>Sun, 06 Feb 2011 12:28:54 EST</pubDate></item><item><title>David Chelimsky \xC2\xBB Blog Archive \xC2\xBB rspec-2.5.0 is released!</title><link>http://blog.davidchelimsky.net/2011/02/06/rspec-250-is-released/</link><description>spicycode: rspec-2.5 is released! http://bit.ly/fnVGqZ</description><pubDate>Sun, 06 Feb 2011 12:26:28 EST</pubDate></item><item><title> New Ruby 1.9 Features, Tips &amp; Tricks - igvita.com</title><link>http://www.igvita.com/2011/02/03/new-ruby-19-features-tips-tricks/</link><description></description><pubDate>Sat, 05 Feb 2011 22:02:08 EST</pubDate></item><item><title>The Computer Attacks You've Never Heard Of</title><link>http://lifehacker.com/5749098/the-computer-attacks-youve-never-heard-of</link><description></description><pubDate>Sat, 05 Feb 2011 21:50:01 EST</pubDate></item><item><title>Five Ways the Android-Powered Google Tablet Is Better than the iPad</title><link>http://lifehacker.com/5750114/five-ways-the-android+powered-google-tablet-is-better-than-the-ipad</link><description></description><pubDate>Sat, 05 Feb 2011 18:17:21 EST</pubDate></item><item><title>This Week's Most Popular Posts</title><link>http://lifehacker.com/5752283/this-weeks-most-popular-posts</link><description></description><pubDate>Sat, 05 Feb 2011 18:12:34 EST</pubDate></item><item><title>For money market investors, a look at 'shadow NAVs'</title><link>https://personal.vanguard.com/us/insights/article/shadow-navs-012242011</link><description></description><pubDate>Sat, 05 Feb 2011 18:10:29 EST</pubDate></item><item><title>Diversification has served bond investors well</title><link>https://personal.vanguard.com/us/insights/article/bond-diversification-02022011</link><description></description><pubDate>Sat, 05 Feb 2011 18:07:31 EST</pubDate></item><item><title>Hammer of Civil Rights</title><link>http://www.thenation.com/print/article/157742/hammer-civil-rights</link><description></description><pubDate>Sat, 05 Feb 2011 17:46:00 EST</pubDate></item><item><title>A Bold Design for a New South</title><link>http://www.thenation.com/print/article/157763/bold-design-new-south</link><description></description><pubDate>Sat, 05 Feb 2011 17:45:55 EST</pubDate></item></channel></rss>\n"
29
+ http_version: "1.1"
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: stratify-instapaper
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Jason Rudolph
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-06-26 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: railties
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.1.0.rc1
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: stratify-base
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 0.1.0
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: thoughtafter-simple-rss
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.2.3
46
+ type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: database_cleaner
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: 0.6.7
57
+ type: :development
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: fakeweb
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ~>
66
+ - !ruby/object:Gem::Version
67
+ version: 1.3.0
68
+ type: :development
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 2.6.0
79
+ type: :development
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: vcr
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 1.10.0
90
+ type: :development
91
+ version_requirements: *id007
92
+ description: Instapaper plugin for Stratify
93
+ email:
94
+ - jason@jasonrudolph.com
95
+ executables: []
96
+
97
+ extensions: []
98
+
99
+ extra_rdoc_files: []
100
+
101
+ files:
102
+ - .gitignore
103
+ - .rvmrc
104
+ - Gemfile
105
+ - Gemfile.lock
106
+ - LICENSE
107
+ - README.md
108
+ - Rakefile
109
+ - app/assets/images/instapaper-icon-16.png
110
+ - app/assets/images/instapaper-icon-24.png
111
+ - lib/stratify-instapaper.rb
112
+ - lib/stratify-instapaper/activity.rb
113
+ - lib/stratify-instapaper/collector.rb
114
+ - lib/stratify-instapaper/engine.rb
115
+ - lib/stratify-instapaper/presenter.rb
116
+ - lib/stratify-instapaper/query.rb
117
+ - lib/stratify-instapaper/version.rb
118
+ - spec/mongoid.yml
119
+ - spec/spec_helper.rb
120
+ - spec/stratify-instapaper/activity_spec.rb
121
+ - spec/stratify-instapaper/integration_spec.rb
122
+ - spec/stratify-instapaper/presenter_spec.rb
123
+ - spec/support/vcr_setup.rb
124
+ - stratify-instapaper.gemspec
125
+ - vcr_cassettes/instapaper.yml
126
+ homepage: http://github.com/jasonrudolph/stratify/
127
+ licenses: []
128
+
129
+ post_install_message:
130
+ rdoc_options: []
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
146
+ requirements: []
147
+
148
+ rubyforge_project: stratify-instapaper
149
+ rubygems_version: 1.8.5
150
+ signing_key:
151
+ specification_version: 3
152
+ summary: Instapaper plugin for Stratify
153
+ test_files:
154
+ - spec/mongoid.yml
155
+ - spec/spec_helper.rb
156
+ - spec/stratify-instapaper/activity_spec.rb
157
+ - spec/stratify-instapaper/integration_spec.rb
158
+ - spec/stratify-instapaper/presenter_spec.rb
159
+ - spec/support/vcr_setup.rb