stratify-foursquare 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.rvmrc +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +107 -0
- data/LICENSE +20 -0
- data/README.md +21 -0
- data/Rakefile +10 -0
- data/app/assets/images/foursquare-icon-16.png +0 -0
- data/app/assets/images/foursquare-icon-24.png +0 -0
- data/lib/stratify-foursquare/activity.rb +30 -0
- data/lib/stratify-foursquare/collector.rb +23 -0
- data/lib/stratify-foursquare/engine.rb +9 -0
- data/lib/stratify-foursquare/presenter.rb +27 -0
- data/lib/stratify-foursquare/query.rb +43 -0
- data/lib/stratify-foursquare/version.rb +5 -0
- data/lib/stratify-foursquare.rb +6 -0
- data/spec/mongoid.yml +3 -0
- data/spec/spec_helper.rb +38 -0
- data/spec/stratify-foursquare/integration_spec.rb +29 -0
- data/spec/stratify-foursquare/presenter_spec.rb +46 -0
- data/spec/support/vcr_setup.rb +7 -0
- data/stratify-foursquare.gemspec +30 -0
- data/vcr_cassettes/foursquare.yml +94 -0
- metadata +150 -0
data/.gitignore
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use ruby-1.9.2-p290@stratify
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
stratify-foursquare (0.1.3)
|
5
|
+
foursquare2 (~> 1.1.1)
|
6
|
+
railties (~> 3.1.0)
|
7
|
+
stratify-base (~> 0.1.3)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: http://rubygems.org/
|
11
|
+
specs:
|
12
|
+
actionpack (3.1.0)
|
13
|
+
activemodel (= 3.1.0)
|
14
|
+
activesupport (= 3.1.0)
|
15
|
+
builder (~> 3.0.0)
|
16
|
+
erubis (~> 2.7.0)
|
17
|
+
i18n (~> 0.6)
|
18
|
+
rack (~> 1.3.2)
|
19
|
+
rack-cache (~> 1.0.3)
|
20
|
+
rack-mount (~> 0.8.2)
|
21
|
+
rack-test (~> 0.6.1)
|
22
|
+
sprockets (~> 2.0.0)
|
23
|
+
activemodel (3.1.0)
|
24
|
+
activesupport (= 3.1.0)
|
25
|
+
bcrypt-ruby (~> 3.0.0)
|
26
|
+
builder (~> 3.0.0)
|
27
|
+
i18n (~> 0.6)
|
28
|
+
activesupport (3.1.0)
|
29
|
+
multi_json (~> 1.0)
|
30
|
+
addressable (2.2.6)
|
31
|
+
bcrypt-ruby (3.0.0)
|
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
|
+
faraday (0.6.1)
|
40
|
+
addressable (~> 2.2.4)
|
41
|
+
multipart-post (~> 1.1.0)
|
42
|
+
rack (>= 1.1.0, < 2)
|
43
|
+
faraday_middleware (0.6.5)
|
44
|
+
faraday (~> 0.6.0)
|
45
|
+
foursquare2 (1.1.1)
|
46
|
+
faraday (>= 0.6, < 0.8)
|
47
|
+
faraday_middleware (>= 0.6, < 0.8)
|
48
|
+
hashie (~> 1.0)
|
49
|
+
hashie (1.0.0)
|
50
|
+
hike (1.2.1)
|
51
|
+
i18n (0.6.0)
|
52
|
+
mongo (1.3.1)
|
53
|
+
bson (>= 1.3.1)
|
54
|
+
mongoid (2.0.2)
|
55
|
+
activemodel (~> 3.0)
|
56
|
+
mongo (~> 1.3)
|
57
|
+
tzinfo (~> 0.3.22)
|
58
|
+
multi_json (1.0.3)
|
59
|
+
multipart-post (1.1.3)
|
60
|
+
rack (1.3.2)
|
61
|
+
rack-cache (1.0.3)
|
62
|
+
rack (>= 0.4)
|
63
|
+
rack-mount (0.8.3)
|
64
|
+
rack (>= 1.0.0)
|
65
|
+
rack-ssl (1.3.2)
|
66
|
+
rack
|
67
|
+
rack-test (0.6.1)
|
68
|
+
rack (>= 1.0)
|
69
|
+
railties (3.1.0)
|
70
|
+
actionpack (= 3.1.0)
|
71
|
+
activesupport (= 3.1.0)
|
72
|
+
rack-ssl (~> 1.3.2)
|
73
|
+
rake (>= 0.8.7)
|
74
|
+
rdoc (~> 3.4)
|
75
|
+
thor (~> 0.14.6)
|
76
|
+
rake (0.9.2)
|
77
|
+
rdoc (3.9.4)
|
78
|
+
rspec (2.6.0)
|
79
|
+
rspec-core (~> 2.6.0)
|
80
|
+
rspec-expectations (~> 2.6.0)
|
81
|
+
rspec-mocks (~> 2.6.0)
|
82
|
+
rspec-core (2.6.3)
|
83
|
+
rspec-expectations (2.6.0)
|
84
|
+
diff-lcs (~> 1.1.2)
|
85
|
+
rspec-mocks (2.6.0)
|
86
|
+
sprockets (2.0.0)
|
87
|
+
hike (~> 1.2)
|
88
|
+
rack (~> 1.0)
|
89
|
+
tilt (~> 1.1, != 1.3.0)
|
90
|
+
stratify-base (0.1.3)
|
91
|
+
bson_ext (~> 1.3.1)
|
92
|
+
mongoid (~> 2.0.2)
|
93
|
+
tilt (~> 1.3.2)
|
94
|
+
thor (0.14.6)
|
95
|
+
tilt (1.3.3)
|
96
|
+
tzinfo (0.3.29)
|
97
|
+
vcr (1.10.0)
|
98
|
+
|
99
|
+
PLATFORMS
|
100
|
+
ruby
|
101
|
+
|
102
|
+
DEPENDENCIES
|
103
|
+
database_cleaner (~> 0.6.7)
|
104
|
+
fakeweb (~> 1.3.0)
|
105
|
+
rspec (~> 2.6.0)
|
106
|
+
stratify-foursquare!
|
107
|
+
vcr (~> 1.10.0)
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2012 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-foursquare
|
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-foursquare, clone the repo, and ...
|
13
|
+
|
14
|
+
cd stratify/stratify-foursquare
|
15
|
+
gem install bundler
|
16
|
+
bundle
|
17
|
+
rake
|
18
|
+
|
19
|
+
## License
|
20
|
+
|
21
|
+
Copyright 2012 Jason Rudolph ([jasonrudolph.com](http://jasonrudolph.com)). Released under the MIT license. See the LICENSE file for further details.
|
data/Rakefile
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'stratify-foursquare/presenter'
|
2
|
+
|
3
|
+
module Stratify
|
4
|
+
module Foursquare
|
5
|
+
class Activity < Stratify::Activity
|
6
|
+
field :checkin_id, :type => String
|
7
|
+
field :venue_id, :type => String
|
8
|
+
field :venue_name, :type => String
|
9
|
+
field :venue_street, :type => String
|
10
|
+
field :venue_city, :type => String
|
11
|
+
field :venue_state, :type => String
|
12
|
+
field :venue_postal_code, :type => String
|
13
|
+
field :venue_country, :type => String
|
14
|
+
field :venue_latitude, :type => BigDecimal
|
15
|
+
field :venue_longitude, :type => BigDecimal
|
16
|
+
|
17
|
+
natural_key :checkin_id
|
18
|
+
|
19
|
+
validates_presence_of :venue_id, :venue_name
|
20
|
+
|
21
|
+
template %q[
|
22
|
+
<p class="summary"><%= summary %></p>
|
23
|
+
]
|
24
|
+
|
25
|
+
def presenter
|
26
|
+
Stratify::Foursquare::Presenter.new(self)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'stratify-foursquare/query'
|
2
|
+
|
3
|
+
module Stratify
|
4
|
+
module Foursquare
|
5
|
+
class Collector < Stratify::Collector
|
6
|
+
source "Foursquare"
|
7
|
+
|
8
|
+
configuration_fields :oauth_token => {:type => :string}
|
9
|
+
|
10
|
+
configuration_instructions %q[
|
11
|
+
TODO Describe process for obtaining an OAuth token
|
12
|
+
]
|
13
|
+
|
14
|
+
def activities
|
15
|
+
query.activities
|
16
|
+
end
|
17
|
+
|
18
|
+
def query
|
19
|
+
Stratify::Foursquare::Query.new(oauth_token)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Stratify
|
2
|
+
module Foursquare
|
3
|
+
class Presenter
|
4
|
+
delegate :venue_name, :venue_city, :venue_state, :to => :@activity
|
5
|
+
|
6
|
+
def initialize(activity)
|
7
|
+
@activity = activity
|
8
|
+
end
|
9
|
+
|
10
|
+
def summary
|
11
|
+
summary_with_venue_name = "Checked in at <strong>#{venue_name}</strong>"
|
12
|
+
has_location_info? ? "#{summary_with_venue_name} in <strong>#{location}</strong>" : summary_with_venue_name
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def location
|
18
|
+
[venue_city, venue_state].reject(&:blank?).join(", ")
|
19
|
+
end
|
20
|
+
|
21
|
+
def has_location_info?
|
22
|
+
!(venue_city.blank? && venue_state.blank?)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'foursquare2'
|
2
|
+
|
3
|
+
module Stratify
|
4
|
+
module Foursquare
|
5
|
+
class Query
|
6
|
+
attr_reader :oauth_token
|
7
|
+
|
8
|
+
def initialize(oauth_token)
|
9
|
+
@oauth_token = oauth_token
|
10
|
+
end
|
11
|
+
|
12
|
+
def activities
|
13
|
+
raw_activities.map {|raw_activity| build_activity_from_raw_data(raw_activity)}
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def raw_activities
|
19
|
+
client = Foursquare2::Client.new(:oauth_token => oauth_token)
|
20
|
+
client.user_checkins.items
|
21
|
+
end
|
22
|
+
|
23
|
+
def build_activity_from_raw_data(data)
|
24
|
+
venue = data.venue
|
25
|
+
venue_location = venue.location
|
26
|
+
|
27
|
+
Stratify::Foursquare::Activity.new({
|
28
|
+
:checkin_id => data.id,
|
29
|
+
:venue_id => venue.id,
|
30
|
+
:venue_name => venue.name,
|
31
|
+
:venue_street => venue_location.address,
|
32
|
+
:venue_city => venue_location.city,
|
33
|
+
:venue_state => venue_location.state,
|
34
|
+
:venue_postal_code => venue_location.postalCode,
|
35
|
+
:venue_country => venue_location.country,
|
36
|
+
:venue_latitude => venue_location.lat,
|
37
|
+
:venue_longitude => venue_location.lng,
|
38
|
+
:created_at => Time.at(data.createdAt)
|
39
|
+
})
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/spec/mongoid.yml
ADDED
data/spec/spec_helper.rb
ADDED
@@ -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-foursquare'
|
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,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "stratify-foursquare" do
|
4
|
+
use_vcr_cassette "foursquare"
|
5
|
+
|
6
|
+
it "collects and stores data from foursquare", :database => true do
|
7
|
+
collector = Stratify::Foursquare::Collector.create!(:oauth_token => 'NEFB1MA3VGSHFEGJ4YW0JESYWRXMREUEMZCRGGYO34XECCGK')
|
8
|
+
collector.run
|
9
|
+
|
10
|
+
Stratify::Foursquare::Activity.where(
|
11
|
+
:checkin_id => "4e85118c6c25709c5f998be5",
|
12
|
+
:venue_id => "4ba41d75f964a520108338e3",
|
13
|
+
:venue_name => "Cochon",
|
14
|
+
:venue_street => "930 Tchoupitoulas St",
|
15
|
+
:venue_city => "New Orleans",
|
16
|
+
:venue_state => "LA",
|
17
|
+
:venue_country => "USA",
|
18
|
+
:venue_postal_code => "70130",
|
19
|
+
:venue_latitude => 29.942296295356602,
|
20
|
+
:venue_longitude => -90.06738245487213,
|
21
|
+
:created_at => Time.parse("Thu, 29 Sep 2011 19:47:08 CDT")
|
22
|
+
).should exist
|
23
|
+
|
24
|
+
Stratify::Foursquare::Activity.where(
|
25
|
+
:checkin_id => "4e85dfc002d58a685e9aade7",
|
26
|
+
:venue_country => nil
|
27
|
+
).should exist
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Stratify::Foursquare::Presenter do
|
4
|
+
describe "summary" do
|
5
|
+
it "includes the venue name, city, and state" do
|
6
|
+
activity = Stratify::Foursquare::Activity.new(
|
7
|
+
:venue_name => "Cochon",
|
8
|
+
:venue_city => "New Orleans",
|
9
|
+
:venue_state => "LA",
|
10
|
+
)
|
11
|
+
presenter = Stratify::Foursquare::Presenter.new(activity)
|
12
|
+
presenter.summary.should == "Checked in at <strong>Cochon</strong> in <strong>New Orleans, LA</strong>"
|
13
|
+
end
|
14
|
+
|
15
|
+
it "includes the venue name and city when the state is blank" do
|
16
|
+
activity = Stratify::Foursquare::Activity.new(
|
17
|
+
:venue_name => "Cochon",
|
18
|
+
:venue_city => "New Orleans",
|
19
|
+
:venue_state => nil,
|
20
|
+
)
|
21
|
+
presenter = Stratify::Foursquare::Presenter.new(activity)
|
22
|
+
presenter.summary.should == "Checked in at <strong>Cochon</strong> in <strong>New Orleans</strong>"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "includes the venue name and state when the city is blank" do
|
26
|
+
activity = Stratify::Foursquare::Activity.new(
|
27
|
+
:venue_id => "4b4a2b6ff964a520307d26e3", # real venue with no city or country info
|
28
|
+
:venue_name => "Hilton Papagayo Costa Rica Resort",
|
29
|
+
:venue_city => nil,
|
30
|
+
:venue_state => "Guanacaste",
|
31
|
+
)
|
32
|
+
presenter = Stratify::Foursquare::Presenter.new(activity)
|
33
|
+
presenter.summary.should == "Checked in at <strong>Hilton Papagayo Costa Rica Resort</strong> in <strong>Guanacaste</strong>"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "includes only the venue name when the venue has no location data" do
|
37
|
+
activity = Stratify::Foursquare::Activity.new(
|
38
|
+
:venue_name => "Cochon",
|
39
|
+
:venue_city => nil,
|
40
|
+
:venue_state => nil,
|
41
|
+
)
|
42
|
+
presenter = Stratify::Foursquare::Presenter.new(activity)
|
43
|
+
presenter.summary.should == "Checked in at <strong>Cochon</strong>"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "stratify-foursquare/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "stratify-foursquare"
|
7
|
+
s.version = Stratify::Foursquare::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 = "Foursquare plugin for Stratify"
|
13
|
+
s.description = s.summary
|
14
|
+
|
15
|
+
s.rubyforge_project = "stratify-foursquare"
|
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 "foursquare2", "~> 1.1.1"
|
23
|
+
s.add_runtime_dependency "railties", "~> 3.1.0"
|
24
|
+
s.add_runtime_dependency "stratify-base", "~> 0.1.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,94 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://api.foursquare.com:443/v2/users/self/checkins?oauth_token=NEFB1MA3VGSHFEGJ4YW0JESYWRXMREUEMZCRGGYO34XECCGK
|
6
|
+
body: !!null
|
7
|
+
headers:
|
8
|
+
accept:
|
9
|
+
- application/json
|
10
|
+
user-agent:
|
11
|
+
- Ruby gem
|
12
|
+
accept-encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
access-control-allow-origin:
|
20
|
+
- ! '*'
|
21
|
+
cache-control:
|
22
|
+
- no-cache, private, no-store
|
23
|
+
content-encoding:
|
24
|
+
- gzip
|
25
|
+
content-type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
date:
|
28
|
+
- Fri, 30 Sep 2011 16:33:08 GMT
|
29
|
+
expires:
|
30
|
+
- Fri, 30 Sep 2011 16:33:08 UTC
|
31
|
+
pragma:
|
32
|
+
- no-cache
|
33
|
+
server:
|
34
|
+
- nginx/0.8.52
|
35
|
+
x-ratelimit-limit:
|
36
|
+
- '500'
|
37
|
+
x-ratelimit-remaining:
|
38
|
+
- '499'
|
39
|
+
content-length:
|
40
|
+
- '2249'
|
41
|
+
connection:
|
42
|
+
- Close
|
43
|
+
body: !binary |-
|
44
|
+
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
|
94
|
+
http_version: '1.1'
|
metadata
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: stratify-foursquare
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.3
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jason Rudolph
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-04-28 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: foursquare2
|
16
|
+
requirement: &70252805618960 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.1.1
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70252805618960
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: railties
|
27
|
+
requirement: &70252805618300 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.1.0
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70252805618300
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: stratify-base
|
38
|
+
requirement: &70252805617800 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.1.3
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70252805617800
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: database_cleaner
|
49
|
+
requirement: &70252805617140 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.6.7
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70252805617140
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: fakeweb
|
60
|
+
requirement: &70252805616380 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 1.3.0
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70252805616380
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: &70252805615620 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 2.6.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70252805615620
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: vcr
|
82
|
+
requirement: &70252805615000 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.10.0
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70252805615000
|
91
|
+
description: Foursquare plugin for Stratify
|
92
|
+
email:
|
93
|
+
- jason@jasonrudolph.com
|
94
|
+
executables: []
|
95
|
+
extensions: []
|
96
|
+
extra_rdoc_files: []
|
97
|
+
files:
|
98
|
+
- .gitignore
|
99
|
+
- .rvmrc
|
100
|
+
- Gemfile
|
101
|
+
- Gemfile.lock
|
102
|
+
- LICENSE
|
103
|
+
- README.md
|
104
|
+
- Rakefile
|
105
|
+
- app/assets/images/foursquare-icon-16.png
|
106
|
+
- app/assets/images/foursquare-icon-24.png
|
107
|
+
- lib/stratify-foursquare.rb
|
108
|
+
- lib/stratify-foursquare/activity.rb
|
109
|
+
- lib/stratify-foursquare/collector.rb
|
110
|
+
- lib/stratify-foursquare/engine.rb
|
111
|
+
- lib/stratify-foursquare/presenter.rb
|
112
|
+
- lib/stratify-foursquare/query.rb
|
113
|
+
- lib/stratify-foursquare/version.rb
|
114
|
+
- spec/mongoid.yml
|
115
|
+
- spec/spec_helper.rb
|
116
|
+
- spec/stratify-foursquare/integration_spec.rb
|
117
|
+
- spec/stratify-foursquare/presenter_spec.rb
|
118
|
+
- spec/support/vcr_setup.rb
|
119
|
+
- stratify-foursquare.gemspec
|
120
|
+
- vcr_cassettes/foursquare.yml
|
121
|
+
homepage: http://github.com/jasonrudolph/stratify/
|
122
|
+
licenses: []
|
123
|
+
post_install_message:
|
124
|
+
rdoc_options: []
|
125
|
+
require_paths:
|
126
|
+
- lib
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
none: false
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
requirements: []
|
140
|
+
rubyforge_project: stratify-foursquare
|
141
|
+
rubygems_version: 1.8.10
|
142
|
+
signing_key:
|
143
|
+
specification_version: 3
|
144
|
+
summary: Foursquare plugin for Stratify
|
145
|
+
test_files:
|
146
|
+
- spec/mongoid.yml
|
147
|
+
- spec/spec_helper.rb
|
148
|
+
- spec/stratify-foursquare/integration_spec.rb
|
149
|
+
- spec/stratify-foursquare/presenter_spec.rb
|
150
|
+
- spec/support/vcr_setup.rb
|