Class: Hari::Keys::String

Inherits:
Key
  • Object
show all
Defined in:
lib/hari/keys/string.rb

Instance Attribute Summary

Attributes inherited from Key

#name, #node

Instance Method Summary collapse

Methods inherited from Key

#delete!, #exists?, #expire, #expire_at, #initialize, #key, #persist, #ttl, #type

Constructor Details

This class inherits a constructor from Hari::Keys::Key

Instance Method Details

#+(i) ⇒ Object



55
56
57
58
# File 'lib/hari/keys/string.rb', line 55

def +(i)
  Hari.redis.incrby key, i
  self
end

#-(i) ⇒ Object



60
61
62
63
# File 'lib/hari/keys/string.rb', line 60

def -(i)
  Hari.redis.decrby key, i
  self
end

#<<(value) ⇒ Object



51
52
53
# File 'lib/hari/keys/string.rb', line 51

def <<(value)
  Hari.redis.append key, value
end

#[](*args) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/hari/keys/string.rb', line 39

def [](*args)
  arg = args.first

  if args.size == 2
    range *args
  elsif arg.kind_of? Integer
    at arg
  elsif arg.kind_of? Range
    range arg.first, arg.last
  end
end

#at(index) ⇒ Object



35
36
37
# File 'lib/hari/keys/string.rb', line 35

def at(index)
  Hari.redis.getrange key, index, index
end

#bitcount(start = nil, stop = nil) ⇒ Object



65
66
67
68
69
# File 'lib/hari/keys/string.rb', line 65

def bitcount(start = nil, stop = nil)
  start ||= 0
  stop ||= -1
  Hari.redis.bitcount key, start, stop
end

#getbit(offset) ⇒ Object



71
72
73
# File 'lib/hari/keys/string.rb', line 71

def getbit(offset)
  Hari.redis.getbit key, offset
end

#lengthObject Also known as: size



23
24
25
# File 'lib/hari/keys/string.rb', line 23

def length
  Hari.redis.strlen key
end

#range(start = nil, stop = nil) ⇒ Object



29
30
31
32
33
# File 'lib/hari/keys/string.rb', line 29

def range(start = nil, stop = nil)
  start ||= 0
  stop ||= -1
  Hari.redis.getrange key, start, stop
end

#set(value) ⇒ Object



19
20
21
# File 'lib/hari/keys/string.rb', line 19

def set(value)
  Hari.redis.set key, value
end

#setbit(offset, value) ⇒ Object



75
76
77
# File 'lib/hari/keys/string.rb', line 75

def setbit(offset, value)
  Hari.redis.setbit key, offset, value
end

#string(name) ⇒ Object



5
6
7
8
# File 'lib/hari/keys/string.rb', line 5

def string(name)
  @name = name
  self
end

#string!(name) ⇒ Object



10
11
12
13
# File 'lib/hari/keys/string.rb', line 10

def string!(name)
  @name = name
  to_s
end

#to_sObject



15
16
17
# File 'lib/hari/keys/string.rb', line 15

def to_s
  Hari.redis.get key
end