Module: RDKit::DB::HashMethods

Included in:
RDKit::DB
Defined in:
lib/rdkit/db.rb

Instance Method Summary collapse

Instance Method Details

#hdel(key, fields) ⇒ Object



213
214
215
216
217
218
219
220
221
222
223
# File 'lib/rdkit/db.rb', line 213

def hdel(key, fields)
  if hash = get_typed_object(key, :hash)
    size0 = hash.size

    fields.each { |f| hash.delete(f) }

    size0 - hash.size
  else
    0
  end
end

#hexists?(key, field) ⇒ Boolean

Returns:

  • (Boolean)


197
198
199
200
201
202
203
# File 'lib/rdkit/db.rb', line 197

def hexists?(key, field)
  if hash = get_typed_object(key, :hash)
    hash.has_key?(field)
  else
    false
  end
end

#hget(key, field) ⇒ Object



191
192
193
194
195
# File 'lib/rdkit/db.rb', line 191

def hget(key, field)
  if hash = get_typed_object(key, :hash)
    hash[field]
  end
end

#hkeys(key) ⇒ Object



225
226
227
228
229
230
231
# File 'lib/rdkit/db.rb', line 225

def hkeys(key)
  if hash = get_typed_object(key, :hash)
    hash.keys
  else
    []
  end
end

#hlen(key) ⇒ Object



205
206
207
208
209
210
211
# File 'lib/rdkit/db.rb', line 205

def hlen(key)
  if hash = get_typed_object(key, :hash)
    hash.size
  else
    0
  end
end

#hset(key, field, value) ⇒ Object



177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/rdkit/db.rb', line 177

def hset(key, field, value)
  if hash = get_typed_object(key, :hash)
    existed = hash.has_key?(field) ? 0 : 1

    hash[field] = value

    existed
  else
    objects[key] = RDObject.create_hash(field, value)

    1
  end
end

#hvals(key) ⇒ Object



233
234
235
236
237
238
239
# File 'lib/rdkit/db.rb', line 233

def hvals(key)
  if hash = get_typed_object(key, :hash)
    hash.values
  else
    []
  end
end