Class: Hari::Node::Queries::List
- Inherits:
-
Object
- Object
- Hari::Node::Queries::List
- Defined in:
- lib/hari/node/queries/list.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Instance Method Summary collapse
- #<<(member) ⇒ Object
- #[](*args) ⇒ Object
- #[]=(index, member) ⇒ Object
- #at(index) ⇒ Object (also: #index)
- #count ⇒ Object (also: #size, #length)
- #delete(member, count = 0) ⇒ Object
- #empty? ⇒ Boolean
- #first ⇒ Object
- #from(index) ⇒ Object
- #include?(member) ⇒ Boolean (also: #member?)
-
#initialize(node = nil) ⇒ List
constructor
A new instance of List.
- #insert_after(pivot, member) ⇒ Object (also: #insert)
- #insert_before(pivot, member) ⇒ Object
- #key ⇒ Object
- #last ⇒ Object
- #list(name) ⇒ Object
- #list!(name) ⇒ Object
- #lpush(*members) ⇒ Object
- #many? ⇒ Boolean
- #one? ⇒ Boolean
- #pop ⇒ Object (also: #rpop)
- #push(*members) ⇒ Object (also: #rpush, #add)
- #range(start = 0, stop = -1)) ⇒ Object (also: #members, #to_a)
- #shift ⇒ Object (also: #lpop)
- #to(index) ⇒ Object
- #trim(start, stop) ⇒ Object
Constructor Details
#initialize(node = nil) ⇒ List
Returns a new instance of List.
8 9 10 |
# File 'lib/hari/node/queries/list.rb', line 8 def initialize(node = nil) @node = node end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/hari/node/queries/list.rb', line 6 def name @name end |
#node ⇒ Object (readonly)
Returns the value of attribute node.
6 7 8 |
# File 'lib/hari/node/queries/list.rb', line 6 def node @node end |
Instance Method Details
#<<(member) ⇒ Object
114 115 116 |
# File 'lib/hari/node/queries/list.rb', line 114 def <<(member) push member end |
#[](*args) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/hari/node/queries/list.rb', line 29 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 |
#[]=(index, member) ⇒ Object
49 50 51 |
# File 'lib/hari/node/queries/list.rb', line 49 def []=(index, member) Hari.redis.lset key, index, member end |
#at(index) ⇒ Object Also known as: index
68 69 70 |
# File 'lib/hari/node/queries/list.rb', line 68 def at(index) Hari.redis.lindex key, index end |
#count ⇒ Object Also known as: size, length
78 79 80 |
# File 'lib/hari/node/queries/list.rb', line 78 def count Hari.redis.llen key end |
#delete(member, count = 0) ⇒ Object
128 129 130 |
# File 'lib/hari/node/queries/list.rb', line 128 def delete(member, count = 0) Hari.redis.lrem key, count, member end |
#empty? ⇒ Boolean
85 86 87 |
# File 'lib/hari/node/queries/list.rb', line 85 def empty? count == 0 end |
#first ⇒ Object
41 42 43 |
# File 'lib/hari/node/queries/list.rb', line 41 def first self[0] end |
#from(index) ⇒ Object
60 61 62 |
# File 'lib/hari/node/queries/list.rb', line 60 def from(index) range index end |
#include?(member) ⇒ Boolean Also known as: member?
97 98 99 |
# File 'lib/hari/node/queries/list.rb', line 97 def include?(member) range.include? member end |
#insert_after(pivot, member) ⇒ Object Also known as: insert
122 123 124 |
# File 'lib/hari/node/queries/list.rb', line 122 def insert_after(pivot, member) Hari.redis.linsert key, :after, pivot, member end |
#insert_before(pivot, member) ⇒ Object
118 119 120 |
# File 'lib/hari/node/queries/list.rb', line 118 def insert_before(pivot, member) Hari.redis.linsert key, :before, pivot, member end |
#key ⇒ Object
12 13 14 15 16 17 |
# File 'lib/hari/node/queries/list.rb', line 12 def key @key ||= begin prefix = node ? "#{Hari.node_key(node)}:" : '' prefix + name.to_s end end |
#last ⇒ Object
45 46 47 |
# File 'lib/hari/node/queries/list.rb', line 45 def last self[-1] end |
#list(name) ⇒ Object
19 20 21 22 |
# File 'lib/hari/node/queries/list.rb', line 19 def list(name) @name = name self end |
#list!(name) ⇒ Object
24 25 26 27 |
# File 'lib/hari/node/queries/list.rb', line 24 def list!(name) @name = name range end |
#lpush(*members) ⇒ Object
110 111 112 |
# File 'lib/hari/node/queries/list.rb', line 110 def lpush(*members) Hari.redis.lpush key, members end |
#pop ⇒ Object Also known as: rpop
132 133 134 |
# File 'lib/hari/node/queries/list.rb', line 132 def pop Hari.redis.rpop key end |
#push(*members) ⇒ Object Also known as: rpush, add
103 104 105 |
# File 'lib/hari/node/queries/list.rb', line 103 def push(*members) Hari.redis.rpush key, members end |
#range(start = 0, stop = -1)) ⇒ Object Also known as: members, to_a
53 54 55 |
# File 'lib/hari/node/queries/list.rb', line 53 def range(start = 0, stop = -1) Hari.redis.lrange key, start, stop end |
#shift ⇒ Object Also known as: lpop
138 139 140 |
# File 'lib/hari/node/queries/list.rb', line 138 def shift Hari.redis.lpop key end |
#to(index) ⇒ Object
64 65 66 |
# File 'lib/hari/node/queries/list.rb', line 64 def to(index) range 0, index end |
#trim(start, stop) ⇒ Object
74 75 76 |
# File 'lib/hari/node/queries/list.rb', line 74 def trim(start, stop) Hari.redis.ltrim key, start, stop end |