thinknear 0.0.12 → 0.0.13

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/Gemfile CHANGED
@@ -2,6 +2,9 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'oauth'
4
4
  gem 'json'
5
+ gem 'activesupport'
6
+ gem 'i18n'
7
+
5
8
 
6
9
  group :development do
7
10
  gem 'rspec'
data/Gemfile.lock CHANGED
@@ -1,8 +1,10 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (3.0.9)
4
5
  diff-lcs (1.1.2)
5
6
  git (1.2.5)
7
+ i18n (0.6.0)
6
8
  jeweler (1.5.2)
7
9
  bundler (~> 1.0.0)
8
10
  git (>= 1.2.5)
@@ -24,7 +26,9 @@ PLATFORMS
24
26
  ruby
25
27
 
26
28
  DEPENDENCIES
29
+ activesupport
27
30
  bundler
31
+ i18n
28
32
  jeweler
29
33
  json
30
34
  oauth
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.12
1
+ 0.0.13
@@ -4,10 +4,11 @@ module ThinkNear
4
4
  @@debug = false
5
5
 
6
6
  class << self
7
- def set_credentials(token, secret, api_host = API_HOST)
7
+ def set_credentials(token, secret, api_host = API_HOST, app_id = nil)
8
8
  @@api_host = api_host || API_HOST
9
9
  @@connection = Connection.new(token, secret)
10
10
  @@connection.debug = @@debug
11
+ Endpoint.app_id = app_id if app_id
11
12
  end
12
13
 
13
14
  def debug=(debug_flag)
@@ -43,34 +44,34 @@ module ThinkNear
43
44
  get Endpoint.draws(category)
44
45
  end
45
46
 
46
- def get_offers(params)
47
- get Endpoint.offers(params)
47
+ def get_offers(params, app_id = nil)
48
+ get Endpoint.offers(params, app_id)
48
49
  end
49
50
 
50
- def get_offer(id)
51
- get Endpoint.offer(id)
51
+ def get_offer(id, app_id = nil)
52
+ get Endpoint.offer(id, app_id)
52
53
  end
53
54
 
54
- def claim_offer(offer_id, latitude, longitude)
55
- post Endpoint.claim_offer(offer_id, latitude, longitude)
55
+ def claim_offer(offer_id, latitude, longitude, app_id = nil)
56
+ post Endpoint.claim_offer(offer_id, latitude, longitude, app_id)
56
57
  end
57
58
 
58
- def save_offer(offer_id, email)
59
- post Endpoint.save_offer(offer_id, email)
59
+ def save_offer(offer_id, email, app_id = nil)
60
+ post Endpoint.save_offer(offer_id, email, app_id)
60
61
  end
61
62
 
62
- def get_feed(city)
63
- get Endpoint.feed(city)
63
+ def get_feed(city, app_id = nil)
64
+ get Endpoint.feed(city, app_id)
64
65
  end
65
66
 
66
- def get(endpoint, data=nil)
67
+ def get(endpoint)
67
68
  raise NoConnectionEstablished if @@connection.nil?
68
- @@connection.get endpoint, data
69
+ @@connection.get endpoint
69
70
  end
70
71
 
71
- def post(endpoint, data=nil)
72
+ def post(endpoint)
72
73
  raise NoConnectionEstablished if @@connection.nil?
73
- @@connection.post endpoint, data
74
+ @@connection.post endpoint
74
75
  end
75
76
  end
76
77
  end
@@ -1,6 +1,7 @@
1
1
  module ThinkNear
2
2
  class Endpoint
3
3
  class << self
4
+
4
5
  def ping
5
6
  endpoint_url 'ping'
6
7
  end
@@ -21,42 +22,47 @@ module ThinkNear
21
22
  endpoint_url "draws/#{category}"
22
23
  end
23
24
 
24
- def offers(params)
25
+ def offers(params, app_id)
25
26
  latitude = params.delete(:latitude)
26
27
  longitude = params.delete(:longitude)
27
28
  zipcode = params.delete(:zipcode)
28
29
  params = params.select { |k, v| !v.blank? }
30
+ params.merge(app_id_hash(app_id))
29
31
 
30
32
  if !latitude.blank? && !longitude.blank?
31
- endpoint_url("offers/#{latitude},#{longitude}") + "?#{params.to_param}"
33
+ endpoint_url("offers/#{latitude},#{longitude}", params)
32
34
  elsif !zipcode.blank?
33
- endpoint_url("offers/#{zipcode}") + "?#{params.to_param}"
35
+ endpoint_url("offers/#{zipcode}", params)
34
36
  end
35
37
  end
36
38
 
37
- def offer(id)
38
- endpoint_url "offers/#{id}"
39
+ def offer(id, app_id)
40
+ endpoint_url "offers/#{id}", app_id_hash(app_id)
39
41
  end
40
42
 
41
- def claim_offer(offer_id, latitude, longitude)
43
+ def claim_offer(offer_id, latitude, longitude, app_id)
42
44
  if latitude && longitude
43
- endpoint_url "offers/#{offer_id}/claim/#{latitude},#{longitude}"
45
+ endpoint_url "offers/#{offer_id}/claim/#{latitude},#{longitude}", app_id_hash(app_id)
44
46
  else
45
- endpoint_url "offers/#{offer_id}/claim"
47
+ endpoint_url "offers/#{offer_id}/claim", app_id_hash(app_id)
46
48
  end
47
49
  end
48
50
 
49
- def save_offer(offer_id, email)
50
- endpoint_url("offers/#{offer_id}/save") + "?email=#{CGI.escape(email)}"
51
+ def save_offer(offer_id, email, app_id)
52
+ endpoint_url("offers/#{offer_id}/save", {:email => CGI.escape(email)}.merge(app_id_hash(app_id)))
51
53
  end
52
54
 
53
55
  def feed(city)
54
- endpoint_url('feeds', 'rss') + "?city=#{CGI.escape(city)}"
56
+ endpoint_url('feeds', {:city => CGI.escape(city)}.merge(app_id_hash(app_id)), 'rss')
55
57
  end
56
58
 
57
- def endpoint_url(path, format = 'json', version = API_VERSION)
58
- ["http://#{Client.api_host}", version, [path, format].join('.')].join('/')
59
+ def endpoint_url(path, params = {}, format = 'json', version = API_VERSION)
60
+ ["http://#{Client.api_host}", version, [path, format].join('.')].join('/') + "?#{params.to_param}"
59
61
  end
62
+
63
+ def app_id_hash(app_id)
64
+ app_id ? {:app_id => app_id} : {}
65
+ end
60
66
  end
61
67
  end
62
68
  end
@@ -1,9 +1,9 @@
1
1
  module ThinkNear
2
2
  class Offer < OpenStruct
3
- def self.find(id_or_params)
3
+ def self.find(id_or_params, app_id = nil)
4
4
  if id_or_params.is_a? String
5
5
  begin
6
- if params = Client.get_offer(id_or_params)['offer']
6
+ if params = Client.get_offer(id_or_params, app_id)['offer']
7
7
  new(params)
8
8
  else
9
9
  raise OfferNotFound, "Couldn't find Offer with ID=#{id_or_params}"
@@ -12,7 +12,7 @@ module ThinkNear
12
12
  raise OfferNotFound, "Couldn't find Offer with ID=#{id_or_params}"
13
13
  end
14
14
  elsif id_or_params.is_a? Hash
15
- Client.get_offers(id_or_params).map do |item|
15
+ Client.get_offers(id_or_params, app_id).map do |item|
16
16
  new item['offer']
17
17
  end
18
18
  end
@@ -22,8 +22,8 @@ module ThinkNear
22
22
  @table
23
23
  end
24
24
 
25
- def claim!(latitude = nil, longitude = nil)
26
- self.class.new Client.claim_offer(id, latitude, longitude)['offer']
25
+ def claim!(latitude = nil, longitude = nil, app_id = nil)
26
+ self.class.new Client.claim_offer(id, latitude, longitude, app_id)['offer']
27
27
  end
28
28
 
29
29
  def save(email)
data/lib/think_near.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'ostruct'
2
+ require 'active_support/core_ext'
2
3
 
3
4
  require 'think_near/connection'
4
5
  require 'think_near/endpoint'
data/thinknear.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{thinknear}
8
- s.version = "0.0.12"
8
+ s.version = "0.0.13"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["John Hinnegan", "Denis Barushev"]
12
- s.date = %q{2011-07-09}
12
+ s.date = %q{2011-07-22}
13
13
  s.email = %q{john@thinknear.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
@@ -63,6 +63,8 @@ Gem::Specification.new do |s|
63
63
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
64
64
  s.add_runtime_dependency(%q<oauth>, [">= 0"])
65
65
  s.add_runtime_dependency(%q<json>, [">= 0"])
66
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
67
+ s.add_runtime_dependency(%q<i18n>, [">= 0"])
66
68
  s.add_development_dependency(%q<rspec>, [">= 0"])
67
69
  s.add_development_dependency(%q<bundler>, [">= 0"])
68
70
  s.add_development_dependency(%q<jeweler>, [">= 0"])
@@ -70,6 +72,8 @@ Gem::Specification.new do |s|
70
72
  else
71
73
  s.add_dependency(%q<oauth>, [">= 0"])
72
74
  s.add_dependency(%q<json>, [">= 0"])
75
+ s.add_dependency(%q<activesupport>, [">= 0"])
76
+ s.add_dependency(%q<i18n>, [">= 0"])
73
77
  s.add_dependency(%q<rspec>, [">= 0"])
74
78
  s.add_dependency(%q<bundler>, [">= 0"])
75
79
  s.add_dependency(%q<jeweler>, [">= 0"])
@@ -78,6 +82,8 @@ Gem::Specification.new do |s|
78
82
  else
79
83
  s.add_dependency(%q<oauth>, [">= 0"])
80
84
  s.add_dependency(%q<json>, [">= 0"])
85
+ s.add_dependency(%q<activesupport>, [">= 0"])
86
+ s.add_dependency(%q<i18n>, [">= 0"])
81
87
  s.add_dependency(%q<rspec>, [">= 0"])
82
88
  s.add_dependency(%q<bundler>, [">= 0"])
83
89
  s.add_dependency(%q<jeweler>, [">= 0"])
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: thinknear
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.12
5
+ version: 0.0.13
6
6
  platform: ruby
7
7
  authors:
8
8
  - John Hinnegan
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-07-09 00:00:00 -07:00
14
+ date: 2011-07-22 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -37,29 +37,29 @@ dependencies:
37
37
  prerelease: false
38
38
  version_requirements: *id002
39
39
  - !ruby/object:Gem::Dependency
40
- name: rspec
40
+ name: activesupport
41
41
  requirement: &id003 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: "0"
47
- type: :development
47
+ type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: *id003
50
50
  - !ruby/object:Gem::Dependency
51
- name: bundler
51
+ name: i18n
52
52
  requirement: &id004 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ">="
56
56
  - !ruby/object:Gem::Version
57
57
  version: "0"
58
- type: :development
58
+ type: :runtime
59
59
  prerelease: false
60
60
  version_requirements: *id004
61
61
  - !ruby/object:Gem::Dependency
62
- name: jeweler
62
+ name: rspec
63
63
  requirement: &id005 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
@@ -70,7 +70,7 @@ dependencies:
70
70
  prerelease: false
71
71
  version_requirements: *id005
72
72
  - !ruby/object:Gem::Dependency
73
- name: rcov
73
+ name: bundler
74
74
  requirement: &id006 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
@@ -80,6 +80,28 @@ dependencies:
80
80
  type: :development
81
81
  prerelease: false
82
82
  version_requirements: *id006
83
+ - !ruby/object:Gem::Dependency
84
+ name: jeweler
85
+ requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: "0"
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: *id007
94
+ - !ruby/object:Gem::Dependency
95
+ name: rcov
96
+ requirement: &id008 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: "0"
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: *id008
83
105
  description:
84
106
  email: john@thinknear.com
85
107
  executables: []
@@ -129,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
151
  requirements:
130
152
  - - ">="
131
153
  - !ruby/object:Gem::Version
132
- hash: -2692734162681709451
154
+ hash: -2542798210434473424
133
155
  segments:
134
156
  - 0
135
157
  version: "0"