tripit 0.3.5 → 0.3.6
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 +1 -1
- data/lib/trip_it/classes/profile.rb +17 -6
- data/lib/trip_it/oauth.rb +24 -6
- data/tripit.gemspec +3 -3
- metadata +31 -29
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.6
|
@@ -6,6 +6,7 @@ module TripIt
|
|
6
6
|
|
7
7
|
def initialize(client, source = nil)
|
8
8
|
@client = client
|
9
|
+
@tripCache ||= {}
|
9
10
|
populate(source)
|
10
11
|
end
|
11
12
|
|
@@ -33,19 +34,21 @@ module TripIt
|
|
33
34
|
end
|
34
35
|
|
35
36
|
def trips(params = {})
|
36
|
-
|
37
|
-
@
|
37
|
+
serialized_param_str = params.keys.sort.inject('') do |str, key| str += "#{key}:#{params[key]}::" end
|
38
|
+
return @tripCache[serialized_param_str] unless @tripCache[serialized_param_str].nil?
|
39
|
+
tripArr = []
|
38
40
|
tripList = @client.list("/trip", params)["Trip"]
|
39
41
|
unless tripList.nil?
|
40
42
|
if tripList.is_a?(Array)
|
41
43
|
tripList.each do |trip|
|
42
|
-
|
44
|
+
tripArr << TripIt::Trip.new(@client,trip['id'],params[:include_objects])
|
43
45
|
end
|
44
46
|
else
|
45
|
-
|
47
|
+
tripArr << TripIt::Trip.new(@client,tripList['id'],params[:include_objects])
|
46
48
|
end
|
47
49
|
end
|
48
|
-
|
50
|
+
@tripCache[serialized_param_str] = tripArr
|
51
|
+
return tripArr
|
49
52
|
end
|
50
53
|
|
51
54
|
def points_programs
|
@@ -64,5 +67,13 @@ module TripIt
|
|
64
67
|
end
|
65
68
|
return @progArr
|
66
69
|
end
|
70
|
+
|
71
|
+
def subscribe_trips
|
72
|
+
@client.subscribe("/trip")
|
73
|
+
end
|
74
|
+
|
75
|
+
def unsubscribe
|
76
|
+
@client.unsubscribe
|
77
|
+
end
|
67
78
|
end
|
68
|
-
end
|
79
|
+
end
|
data/lib/trip_it/oauth.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module TripIt
|
2
2
|
class OAuth < Base
|
3
3
|
attr_reader :consumer, :access_token
|
4
|
-
exceptions :bad_request_exception, :unauthorized_exception, :not_found_exception, :server_error
|
4
|
+
exceptions :bad_request_exception, :unauthorized_exception, :not_found_exception, :server_error, :forbidden_exception, :service_unavailable_error
|
5
5
|
|
6
6
|
def initialize(ctoken, csecret)
|
7
7
|
@consumer = ::OAuth::Consumer.new(ctoken, csecret, :site => 'https://api.tripit.com')
|
@@ -59,18 +59,36 @@ module TripIt
|
|
59
59
|
returnResponse(request)
|
60
60
|
end
|
61
61
|
|
62
|
+
def subscribe(resource)
|
63
|
+
request = access_token.get("/v1/subscribe/type#{resource}")
|
64
|
+
returnResponse(request)
|
65
|
+
end
|
66
|
+
|
67
|
+
def unsubscribe
|
68
|
+
request = access_token.get("/v1/unsubscribe")
|
69
|
+
returnResponse(request)
|
70
|
+
end
|
71
|
+
|
62
72
|
def returnResponse(request, format = "")
|
63
73
|
case request
|
64
|
-
when Net::HTTPOK
|
74
|
+
when Net::HTTPOK
|
65
75
|
if format == "xml"
|
66
76
|
return request.body
|
67
77
|
else
|
68
78
|
return JSON.parse(request.body)
|
69
79
|
end
|
70
|
-
when Net::HTTPBadRequest
|
71
|
-
|
72
|
-
when Net::
|
73
|
-
|
80
|
+
when Net::HTTPBadRequest
|
81
|
+
raise BadRequestException, request.body
|
82
|
+
when Net::HTTPUnauthorized
|
83
|
+
raise UnauthorizedException, request.body
|
84
|
+
when Net::HTTPNotFound
|
85
|
+
raise NotFoundException, request.body
|
86
|
+
when Net::HTTPInternalServerError
|
87
|
+
raise ServerError, request.body
|
88
|
+
when Net::HTTPForbidden
|
89
|
+
raise ForbiddenException, request.body
|
90
|
+
when Net::HTTPServiceUnavailable
|
91
|
+
raise ServiceUnavailableError, request.body
|
74
92
|
end
|
75
93
|
end
|
76
94
|
end
|
data/tripit.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tripit}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Alex Kremer"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-12-01}
|
13
13
|
s.description = %q{The entire TripIt API encapsulated in Ruby objects}
|
14
14
|
s.email = %q{dev@flextrip.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -111,7 +111,7 @@ Gem::Specification.new do |s|
|
|
111
111
|
s.homepage = %q{http://github.com/flextrip/tripit}
|
112
112
|
s.licenses = ["MIT"]
|
113
113
|
s.require_paths = ["lib"]
|
114
|
-
s.rubygems_version = %q{1.
|
114
|
+
s.rubygems_version = %q{1.6.2}
|
115
115
|
s.summary = %q{A Ruby library for talking to the TripIt API}
|
116
116
|
s.test_files = [
|
117
117
|
"test/helper.rb",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tripit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 6
|
10
|
+
version: 0.3.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alex Kremer
|
@@ -15,10 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-12-01 00:00:00 -07:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
22
24
|
none: false
|
23
25
|
requirements:
|
24
26
|
- - ">="
|
@@ -27,12 +29,12 @@ dependencies:
|
|
27
29
|
segments:
|
28
30
|
- 0
|
29
31
|
version: "0"
|
30
|
-
name: shoulda
|
31
|
-
prerelease: false
|
32
32
|
type: :development
|
33
|
-
|
33
|
+
name: shoulda
|
34
|
+
version_requirements: *id001
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
36
38
|
none: false
|
37
39
|
requirements:
|
38
40
|
- - ~>
|
@@ -43,12 +45,12 @@ dependencies:
|
|
43
45
|
- 0
|
44
46
|
- 0
|
45
47
|
version: 1.0.0
|
46
|
-
name: bundler
|
47
|
-
prerelease: false
|
48
48
|
type: :development
|
49
|
-
|
49
|
+
name: bundler
|
50
|
+
version_requirements: *id002
|
50
51
|
- !ruby/object:Gem::Dependency
|
51
|
-
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
54
|
none: false
|
53
55
|
requirements:
|
54
56
|
- - ~>
|
@@ -59,12 +61,12 @@ dependencies:
|
|
59
61
|
- 5
|
60
62
|
- 2
|
61
63
|
version: 1.5.2
|
62
|
-
name: jeweler
|
63
|
-
prerelease: false
|
64
64
|
type: :development
|
65
|
-
|
65
|
+
name: jeweler
|
66
|
+
version_requirements: *id003
|
66
67
|
- !ruby/object:Gem::Dependency
|
67
|
-
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
68
70
|
none: false
|
69
71
|
requirements:
|
70
72
|
- - ">="
|
@@ -73,12 +75,12 @@ dependencies:
|
|
73
75
|
segments:
|
74
76
|
- 0
|
75
77
|
version: "0"
|
76
|
-
name: rcov
|
77
|
-
prerelease: false
|
78
78
|
type: :development
|
79
|
-
|
79
|
+
name: rcov
|
80
|
+
version_requirements: *id004
|
80
81
|
- !ruby/object:Gem::Dependency
|
81
|
-
|
82
|
+
prerelease: false
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
82
84
|
none: false
|
83
85
|
requirements:
|
84
86
|
- - ">="
|
@@ -87,12 +89,12 @@ dependencies:
|
|
87
89
|
segments:
|
88
90
|
- 0
|
89
91
|
version: "0"
|
90
|
-
name: oauth
|
91
|
-
prerelease: false
|
92
92
|
type: :runtime
|
93
|
-
|
93
|
+
name: oauth
|
94
|
+
version_requirements: *id005
|
94
95
|
- !ruby/object:Gem::Dependency
|
95
|
-
|
96
|
+
prerelease: false
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
96
98
|
none: false
|
97
99
|
requirements:
|
98
100
|
- - ">="
|
@@ -101,10 +103,9 @@ dependencies:
|
|
101
103
|
segments:
|
102
104
|
- 0
|
103
105
|
version: "0"
|
104
|
-
name: json
|
105
|
-
prerelease: false
|
106
106
|
type: :runtime
|
107
|
-
|
107
|
+
name: json
|
108
|
+
version_requirements: *id006
|
108
109
|
description: The entire TripIt API encapsulated in Ruby objects
|
109
110
|
email: dev@flextrip.com
|
110
111
|
executables: []
|
@@ -205,6 +206,7 @@ files:
|
|
205
206
|
- test/unit/oauth_test.rb
|
206
207
|
- test/unit/util/param_util_test.rb
|
207
208
|
- tripit.gemspec
|
209
|
+
has_rdoc: true
|
208
210
|
homepage: http://github.com/flextrip/tripit
|
209
211
|
licenses:
|
210
212
|
- MIT
|
@@ -234,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
236
|
requirements: []
|
235
237
|
|
236
238
|
rubyforge_project:
|
237
|
-
rubygems_version: 1.
|
239
|
+
rubygems_version: 1.6.2
|
238
240
|
signing_key:
|
239
241
|
specification_version: 3
|
240
242
|
summary: A Ruby library for talking to the TripIt API
|