redcrumbs 0.1.9 → 0.2.2

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.
@@ -14,7 +14,7 @@ module Redcrumbs
14
14
  include Crumb::Setters
15
15
  include Crumb::Expiry
16
16
 
17
- DataMapper.setup(:default, {:adapter => "redis"})
17
+ DataMapper.setup(:default, {:adapter => "redis", :host => Redcrumbs.redis.client.host, :port => Redcrumbs.redis.client.port, :password => Redcrumbs.redis.client.password})
18
18
 
19
19
  property :id, Serial
20
20
  property :subject_id, Integer, :index => true, :lazy => false
@@ -18,5 +18,39 @@ module Redcrumbs
18
18
  @@store_creator_attributes ||= []
19
19
  @@store_target_attributes ||= []
20
20
 
21
- @@redis ||= Redis.new
21
+ # Stolen from resque. Thanks!
22
+ # Accepts:
23
+ # 1. A 'hostname:port' String
24
+ # 2. A 'hostname:port:db' String (to select the Redis db)
25
+ # 3. A 'hostname:port/namespace' String (to set the Redis namespace)
26
+ # 4. A Redis URL String 'redis://host:port'
27
+ # 5. An instance of `Redis`, `Redis::Client`, `Redis::DistRedis`,
28
+ # or `Redis::Namespace`.
29
+ def redis=(server)
30
+ case server
31
+ when String
32
+ if server =~ /redis\:\/\//
33
+ redis = Redis.connect(:url => server, :thread_safe => true)
34
+ else
35
+ server, namespace = server.split('/', 2)
36
+ host, port, db = server.split(':')
37
+ redis = Redis.new(:host => host, :port => port,
38
+ :thread_safe => true, :db => db)
39
+ end
40
+ namespace ||= :redcrumbs
41
+
42
+ @redis = Redis::Namespace.new(namespace, :redis => redis)
43
+ when Redis::Namespace
44
+ @redis = server
45
+ else
46
+ @redis = Redis::Namespace.new(:redcrumbs, :redis => server)
47
+ end
48
+ @redis
49
+ end
50
+
51
+ def redis
52
+ return @redis if @redis
53
+ self.redis = Redis.respond_to?(:connect) ? Redis.connect : "localhost:6379"
54
+ self.redis
55
+ end
22
56
  end
@@ -1,3 +1,3 @@
1
1
  module Redcrumbs
2
- VERSION = "0.1.9"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redcrumbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: data_mapper
17
- requirement: &2156109300 !ruby/object:Gem::Requirement
17
+ requirement: &2160652140 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2156109300
25
+ version_requirements: *2160652140
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dm-redis-adapter
28
- requirement: &2156108800 !ruby/object:Gem::Requirement
28
+ requirement: &2160651640 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 0.6.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2156108800
36
+ version_requirements: *2160651640
37
37
  description: Fast and unobtrusive activity tracking of ActiveRecord models using DataMapper
38
38
  and Redis
39
39
  email: