Module: Related

Extended by:
Related
Includes:
DataFlow, Helpers
Included in:
Related
Defined in:
lib/related.rb,
lib/related/node.rb,
lib/related/root.rb,
lib/related/entity.rb,
lib/related/helpers.rb,
lib/related/version.rb,
lib/related/follower.rb,
lib/related/data_flow.rb,
lib/related/exceptions.rb,
lib/related/relationship.rb,
lib/related/validations/check_redis_uniqueness.rb

Defined Under Namespace

Modules: DataFlow, Follower, Helpers Classes: CheckRedisUniqueness, Entity, InvalidQuery, Node, NotFound, RelatedException, Relationship, Root, ValidationsFailed

Constant Summary collapse

Version =
VERSION = '0.6.6'

Instance Method Summary collapse

Methods included from DataFlow

#clear_data_flows, #data_flow, #data_flows, #execute_data_flow

Methods included from Helpers

#generate_id, #root

Instance Method Details

#flushallObject



54
55
56
# File 'lib/related.rb', line 54

def flushall
  self.redis.redis.flushall
end

#redisObject

Returns the current Redis connection. If none has been created, will create a new one.



48
49
50
51
52
# File 'lib/related.rb', line 48

def redis
  return @redis if @redis
  self.redis = ENV['RELATED_REDIS_URL'] || ENV['REDIS_URL'] || 'localhost:6379'
  self.redis
end

#redis=(server) ⇒ Object

Accepts:

1. A 'hostname:port' string
2. A 'hostname:port:db' string (to select the Redis db)
3. A 'hostname:port/namespace' string (to set the Redis namespace)
4. A redis URL string 'redis://host:port'
5. An instance of `Redis`, `Redis::Client`, `Redis::Distributed`,
   or `Redis::Namespace`.


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/related.rb', line 27

def redis=(server)
  if server.is_a? String
    if server =~ /redis\:\/\//
      redis = Redis.connect(:url => server)
    else
      server, namespace = server.split('/', 2)
      host, port, db = server.split(':')
      redis = Redis.new(:host => host, :port => port,
        :thread_safe => true, :db => db)
    end
    namespace ||= :related
    @redis = Redis::Namespace.new(namespace, :redis => redis)
  elsif server.respond_to? :namespace=
    @redis = server
  else
    @redis = Redis::Namespace.new(:related, :redis => server)
  end
end