Module: RDKit::DB::ListMethods
- Included in:
- RDKit::DB
- Defined in:
- lib/rdkit/db.rb
Instance Method Summary collapse
- #llen(key) ⇒ Object
- #lpop(key) ⇒ Object
- #lpush(key, elements) ⇒ Object
- #lrange(key, start, stop) ⇒ Object
- #rpop(key) ⇒ Object
Instance Method Details
#llen(key) ⇒ Object
74 75 76 77 78 79 80 81 |
# File 'lib/rdkit/db.rb', line 74 def llen(key) if list = get_typed_object(key, :list) list.length else 0 end end |
#lpop(key) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/rdkit/db.rb', line 92 def lpop(key) if list = get_typed_object(key, :list) result = list.shift del([key]) if list.empty? result else nil end end |
#lpush(key, elements) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/rdkit/db.rb', line 61 def lpush(key, elements) if list = get_typed_object(key, :list) list.unshift(*elements) list.length else # key not exist objects[key] = RDObject.list(elements) objects[key].length end end |
#lrange(key, start, stop) ⇒ Object
83 84 85 86 87 88 89 90 |
# File 'lib/rdkit/db.rb', line 83 def lrange(key, start, stop) if list = get_typed_object(key, :list) list[start..stop] else [] end end |
#rpop(key) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/rdkit/db.rb', line 105 def rpop(key) if list = get_typed_object(key, :list) result = list.pop del([key]) if list.empty? result else nil end end |