blekko-search 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -44,7 +44,7 @@ Blekko allows for a maximum of 100 results per search, but if you'd like more, y
44
44
 
45
45
  By default, the searches will be made 100 results at a time, but you can reduce the page size using the ``:page_size`` argument too.
46
46
 
47
- Blekko asks that users of its API limit searches to one per second. This gem doesn't include that, but you may want to implement that feature (or send a pull request) especially if you are multithreading the search.
47
+ Blekko requests that users of its API throttle searches to one per second. Use one ``Blekko`` instance with the default settings for all searching and slashtag management and that throttling will be taken care of for you.
48
48
 
49
49
  #### Results
50
50
  Each result includes the attributes that blekko provides, plus a couple more:
@@ -3,9 +3,15 @@ class Blekko
3
3
  DEFAULT_MAX_FREQUENCY_PER_SECOND = 1
4
4
  SECURE_PROTOCOL = "https://"
5
5
  NON_SECURE_PROTOCOL = "http://"
6
+
7
+ class << self
8
+ attr_accessor :last_request_at
9
+ def last_request_at
10
+ @last_request_at ||= {}
11
+ end
12
+ end
6
13
 
7
- attr_accessor :protocol, :api_key, :max_frequency_per_second, :username, :password, :login_cookie,
8
- :last_request_at
14
+ attr_accessor :protocol, :api_key, :max_frequency_per_second, :username, :password, :login_cookie
9
15
 
10
16
  def initialize(args={})
11
17
  @api_key = args[:api_key]
@@ -57,6 +63,14 @@ class Blekko
57
63
  1 / max_frequency_per_second.to_f
58
64
  end
59
65
 
66
+ def last_request_at
67
+ self.class.last_request_at[api_key]
68
+ end
69
+
70
+ def last_request_at=(value)
71
+ self.class.last_request_at[api_key] = value
72
+ end
73
+
60
74
  def earliest_next_request
61
75
  last_request_at ? last_request_at + delay_between_requests : Time.now
62
76
  end
@@ -64,6 +78,5 @@ class Blekko
64
78
  def seconds_until_next_request
65
79
  [earliest_next_request - Time.now, 0].max
66
80
  end
67
-
68
-
81
+
69
82
  end
@@ -1,3 +1,3 @@
1
1
  module BlekkoSearch
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blekko-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: