jive_api 0.0.3.pre → 0.0.4.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/jive_api.rb +12 -5
  2. metadata +8 -8
@@ -300,7 +300,8 @@ module Jive
300
300
  end
301
301
 
302
302
  def initialize username, password, uri
303
- @object_cache = Hashery::LRUHash.new 10000
303
+ @object_cache = Hashery::LRUHash.new 1000000
304
+ @uri_cache = Hashery::LRUHash.new 1000000
304
305
  @auth = { :username => username, :password => password }
305
306
  self.class.base_uri uri
306
307
  end
@@ -323,11 +324,17 @@ module Jive
323
324
 
324
325
  results_so_far = 0
325
326
  begin
326
- response = self.class.get next_uri, options
327
- raise Error if response.parsed_response.has_key? 'error'
327
+ if @uri_cache.has_key[:next_uri]
328
+ parsed_response=@uri_cache.has_key[:next_uri]
329
+ else
330
+ response=self.class.get(next_uri, options)
331
+ raise Error if response.parsed_response.has_key? 'error'
332
+ parsed_response=response.parsed_response
333
+ @uri_cache[:next_uri]=parsed_response
334
+ end
328
335
  options.delete :query
329
- next_uri = (response.parsed_response["links"] and response.parsed_response["links"]["next"] ) ? response.parsed_response["links"]["next"] : nil
330
- list = response.parsed_response["list"]
336
+ next_uri = (parsed_response["links"] and parsed_response["links"]["next"] ) ? parsed_response["links"]["next"] : nil
337
+ list = parsed_response["list"]
331
338
  list = list ? list : []
332
339
  result.concat list
333
340
  if block_given?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jive_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.pre
4
+ version: 0.0.4.pre
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-11 00:00:00.000000000 Z
12
+ date: 2014-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70131386208520 !ruby/object:Gem::Requirement
16
+ requirement: &70210519487400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.10.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70131386208520
24
+ version_requirements: *70210519487400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: hashery
27
- requirement: &70131386208020 !ruby/object:Gem::Requirement
27
+ requirement: &70210519486900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70131386208020
35
+ version_requirements: *70210519486900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70131386207640 !ruby/object:Gem::Requirement
38
+ requirement: &70210519486520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70131386207640
46
+ version_requirements: *70210519486520
47
47
  description: Jive API Connector for Ruby
48
48
  email: beezly@beezly.org.uk
49
49
  executables: []