redcrumbs 0.1.9 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: