kmayer-highrise 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.mkdn +13 -14
- data/VERSION.yml +2 -2
- data/lib/cachable.rb +18 -5
- data/spec/highrise/cachable_spec.rb +6 -1
- metadata +2 -2
data/README.mkdn
CHANGED
@@ -1,10 +1,8 @@
|
|
1
|
-
# Highrise (0.
|
1
|
+
# Highrise (0.9.0)
|
2
2
|
|
3
|
-
## What
|
3
|
+
## What is it?
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
This gem provides a set of classes to access available information on [Highrise][h].
|
5
|
+
This gem provides a set of classes to access information on [Highrise][h] via the published [API][api]
|
8
6
|
|
9
7
|
These are the list of classes:
|
10
8
|
|
@@ -16,14 +14,14 @@ All these classes are inherited of ActiveResouce::Base. For more informations se
|
|
16
14
|
|
17
15
|
gem install kmayer-highrise
|
18
16
|
|
19
|
-
|
17
|
+
### Dependencies
|
20
18
|
|
21
19
|
* ActiveResorce >= 2.2.2
|
22
20
|
* ActiveSupport >= 2.1
|
23
21
|
* Curb
|
24
22
|
* Hpricot
|
25
23
|
|
26
|
-
|
24
|
+
### Configure your key
|
27
25
|
|
28
26
|
require 'rubygems'
|
29
27
|
require 'highrise'
|
@@ -35,7 +33,7 @@ or
|
|
35
33
|
Highrise::Base.site = 'http://your_site.highrisehq.com'
|
36
34
|
Highrise::Base.user = 'api-auth-token'
|
37
35
|
|
38
|
-
and, if you want caching
|
36
|
+
and, if you want [caching][c]:
|
39
37
|
|
40
38
|
Highrise::Base.connection.cache_store= <your normal ActiveSupport::Caching options>
|
41
39
|
|
@@ -69,18 +67,19 @@ Comments are welcome. Send your feedback through the [issue tracker on GitHub][i
|
|
69
67
|
[How to Cache Anything With ActiveSupport][rh] on the very *day* I started writing the cache code. Thank you, Rein
|
70
68
|
for writing an excellent tutorial and [posting your source][e] on GitHub.
|
71
69
|
|
70
|
+
[api]: http://developer.37signals.com/highrise
|
72
71
|
[ar]: http://api.rubyonrails.org/classes/ActiveResource/Base.html
|
73
|
-
[
|
74
|
-
[ii]: http://www.improveit.com.br/en
|
72
|
+
[c]: http://api.rubyonrails.org/classes/ActiveSupport/Cache
|
75
73
|
[co]: http://github.com/kmayer
|
76
|
-
[
|
74
|
+
[e]: http://github.com/primedia/endeca/tree/master
|
77
75
|
[h]: http://www.highrisehq.com/
|
78
76
|
[i]: http://github.com/kmayer/highrise/issues
|
77
|
+
[ii]: http://www.improveit.com.br/en
|
79
78
|
[km]: http://github.com/kmayer
|
80
79
|
[lg]: http://github.com/luisbebop
|
80
|
+
[mit]:http://www.opensource.org/licenses/mit-license.php
|
81
|
+
[mt]: http://www.improveit.com.br/en/company/tapajos
|
81
82
|
[nb]: http://github.com/slainer86
|
82
|
-
[tl]: http://github.com/ThiagoLelis
|
83
|
-
[api]: http://developer.37signals.com/highrise
|
84
83
|
[re]: http://www.railsenvy.com/2009/4/29/rails-envy-podcast-episode-077-04-29-2009
|
85
84
|
[rh]: http://reinh.com/blog/2009/04/27/how-to-cache-anything-with-activesupport.html
|
86
|
-
[
|
85
|
+
[tl]: http://github.com/ThiagoLelis
|
data/VERSION.yml
CHANGED
data/lib/cachable.rb
CHANGED
@@ -6,7 +6,7 @@ require 'digest/sha1'
|
|
6
6
|
#
|
7
7
|
# == Usage
|
8
8
|
#
|
9
|
-
# require '
|
9
|
+
# require 'cachable'
|
10
10
|
#
|
11
11
|
# module CachedResource
|
12
12
|
# class Base < ActiveResource::Base
|
@@ -16,7 +16,7 @@ require 'digest/sha1'
|
|
16
16
|
#
|
17
17
|
# == Caching stores
|
18
18
|
#
|
19
|
-
# All the caching stores from ActiveSupport::Cache are available
|
19
|
+
# All the caching stores from ActiveSupport::Cache are available
|
20
20
|
# as backends for caching. See the Rails rdoc for more information on
|
21
21
|
# these stores
|
22
22
|
#
|
@@ -28,7 +28,9 @@ require 'digest/sha1'
|
|
28
28
|
# CachedResource.connection.cache_store = :mem_cache_store, "localhost"
|
29
29
|
# CachedResource.connection.cache_store = MyOwnStore.new("parameter")
|
30
30
|
#
|
31
|
-
# Note: To ensure that caching is turned off, set CachedResource.connection.cache_store =
|
31
|
+
# Note: To ensure that caching is turned off, set CachedResource.connection.cache_store = :none
|
32
|
+
#
|
33
|
+
# FYI: You can use this with *any* active resource interface, not just Highrise.
|
32
34
|
|
33
35
|
module Cachable
|
34
36
|
def self.included(base)
|
@@ -39,8 +41,19 @@ module Cachable
|
|
39
41
|
@cache_store ||= nil
|
40
42
|
end
|
41
43
|
|
42
|
-
|
43
|
-
|
44
|
+
# Wrapper for lookup_store, with a couple of special options:
|
45
|
+
# Passing +:none+ will turn off caching
|
46
|
+
# Passing +:rails+ will use the default Rails/AS cache (whatever it happens to be)
|
47
|
+
# Passing no args or nil will return the default cache from AS
|
48
|
+
def cache_store=(*store_option)
|
49
|
+
@cache_store = case store_option
|
50
|
+
when [:none]
|
51
|
+
nil
|
52
|
+
when [:rails]
|
53
|
+
Rails.cache rescue ActiveSupport::Cache.lookup_store
|
54
|
+
else
|
55
|
+
ActiveSupport::Cache.lookup_store(*store_option)
|
56
|
+
end
|
44
57
|
end
|
45
58
|
|
46
59
|
def is_caching?
|
@@ -12,9 +12,14 @@ describe Highrise::Base, "class configuration" do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it "should tell us if caching is not active" do
|
15
|
-
@connection.cache_store =
|
15
|
+
@connection.cache_store = :none
|
16
16
|
@connection.is_caching?.should == false
|
17
17
|
end
|
18
|
+
|
19
|
+
it "should use the Rails stack default cache" do
|
20
|
+
@connection.cache_store = :rails
|
21
|
+
@connection.is_caching?.should == true
|
22
|
+
end
|
18
23
|
end
|
19
24
|
|
20
25
|
describe Highrise::Base do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kmayer-highrise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Marcos Tapaj\xC3\xB3s"
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-05-
|
13
|
+
date: 2009-05-04 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|