foursquare2 1.9.3 → 1.9.4

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.3
1
+ 1.9.4
data/foursquare2.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "foursquare2"
8
- s.version = "1.9.3"
8
+ s.version = "1.9.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matt Mueller", "Marco Moura"]
12
- s.date = "2013-02-02"
12
+ s.date = "2013-03-03"
13
13
  s.description = "Gives access to all endpoints in version 2 of foursquare's API with syntax that will be familiar to those who used the original foursquare gem by Jeremy Welch."
14
14
  s.email = ["muellermr@gmail.com", "email@marcomoura.com"]
15
15
  s.extra_rdoc_files = [
@@ -40,6 +40,7 @@ Gem::Specification.new do |s|
40
40
  "lib/foursquare2/venues.rb",
41
41
  "test/config.rb",
42
42
  "test/fixtures/campaigns/campaign_created.json",
43
+ "test/fixtures/campaigns/campaigns_list.json",
43
44
  "test/fixtures/checkins/checkin.json",
44
45
  "test/fixtures/checkins/checkin_reply.json",
45
46
  "test/fixtures/checkins/friend_checkins.json",
@@ -19,6 +19,37 @@ module Foursquare2
19
19
  end
20
20
  return_error_or_body(response, response.body.response.campaign)
21
21
  end
22
+
23
+ # Get a list of campaigns
24
+ # Details on param options can be found at https://developer.foursquare.com/docs/campaigns/list
25
+ #
26
+ # @param [Hash] options
27
+ # @option options String :specialId - if specified, limits response to campaigns involving the given special
28
+ # @option options String :groupId - if specified, limits response to campaigns involving the given group
29
+ # @option options String :status - which campaigns to return: pending,scheduled,active,expired,depleted,stopped,notStarted,ended,all (default=all)
30
+ #
31
+ #
32
+
33
+ def list_campaigns(options={})
34
+ response = connection.get do |req|
35
+ req.url "campaigns/list", options
36
+ end
37
+ return_error_or_body(response, response.body.response.campaigns.items)
38
+ end
39
+
40
+ # End a campaign
41
+ # Details on param can be found at https://developer.foursquare.com/docs/campaigns/end
42
+ #
43
+ # @campaign_id String :campaignId - The ID of the campaign to end. Must be specified. Pass in as a string and not as a hash.
44
+ #
45
+ #
46
+
47
+ def end_campaign(campaign_id)
48
+ response = connection.post do |req|
49
+ req.url "campaigns/#{campaign_id}/end"
50
+ end
51
+ return_error_or_body(response, response.body.code)
52
+ end
22
53
 
23
54
  end
24
55
  end
@@ -0,0 +1,37 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "notifications": [
6
+ {
7
+ "type": "notificationTray",
8
+ "item": {
9
+ "unreadCount": 0
10
+ }
11
+ }
12
+ ],
13
+ "response": {
14
+ "campaigns": {
15
+ "count": 1,
16
+ "items": [
17
+ {
18
+ "id": "4e0deba2922e6f94b1410b79",
19
+ "venues": {
20
+ "count": 1,
21
+ "items": [
22
+ {
23
+ "id": "4e0deab3922e6f94b1410af3"
24
+ }
25
+ ]
26
+ },
27
+ "startsAt": 1309535356,
28
+ "specialId": "4e0debea922e6f94b1410bb7",
29
+ "venueGroupIds": {
30
+ "count": 0,
31
+ "items": [ ]
32
+ }
33
+ }
34
+ ]
35
+ }
36
+ }
37
+ }
@@ -1,5 +1,7 @@
1
1
  require 'helper'
2
2
 
3
+ require 'helper'
4
+
3
5
  class TestCampaigns < Test::Unit::TestCase
4
6
 
5
7
  context "When using the foursquare API and working with campaigns" do
@@ -12,6 +14,18 @@ class TestCampaigns < Test::Unit::TestCase
12
14
  campaign = @client.add_campaign(:specialId => '4bd876f886ba62b58a6e88b3')
13
15
  campaign.special.id == "4bd876f886ba62b58a6e88b3"
14
16
  end
15
-
17
+
18
+ should "list all campaigns" do
19
+ stub_get("https://api.foursquare.com/v2/campaigns/list?oauth_token=#{@client.oauth_token}&status=active", "campaigns/campaigns_list.json")
20
+ campaigns = @client.list_campaigns(:status => 'active')
21
+ campaigns.first.id.should == "4e0deba2922e6f94b1410b79"
22
+ end
23
+
24
+ should "list campaigns of specialId" do
25
+ stub_get("https://api.foursquare.com/v2/campaigns/list?oauth_token=#{@client.oauth_token}&specialId=4e0debea922e6f94b1410bb7", "campaigns/campaigns_list.json")
26
+ campaigns = @client.list_campaigns(:specialId => '4e0debea922e6f94b1410bb7')
27
+ campaigns.first['specialId'].should == "4e0debea922e6f94b1410bb7"
28
+ end
29
+
16
30
  end
17
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foursquare2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.3
4
+ version: 1.9.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-02-02 00:00:00.000000000 Z
13
+ date: 2013-03-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -244,6 +244,7 @@ files:
244
244
  - lib/foursquare2/venues.rb
245
245
  - test/config.rb
246
246
  - test/fixtures/campaigns/campaign_created.json
247
+ - test/fixtures/campaigns/campaigns_list.json
247
248
  - test/fixtures/checkins/checkin.json
248
249
  - test/fixtures/checkins/checkin_reply.json
249
250
  - test/fixtures/checkins/friend_checkins.json
@@ -319,7 +320,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
319
320
  version: '0'
320
321
  segments:
321
322
  - 0
322
- hash: -789124476079947728
323
+ hash: 4157346706874056407
323
324
  required_rubygems_version: !ruby/object:Gem::Requirement
324
325
  none: false
325
326
  requirements: