Class: Aerospike::LargeMap
- Defined in:
- lib/aerospike/ldt/large_map.rb
Instance Method Summary collapse
-
#filter(filter_name, *filter_args) ⇒ Object
Select items from map.
-
#get(name) ⇒ Object
Get value from map given name key.
-
#initialize(client, policy, key, bin_name, user_module = nil) ⇒ LargeMap
constructor
A new instance of LargeMap.
-
#put(name, value) ⇒ Object
Add entry to map.
-
#put_map(the_map) ⇒ Object
Add map values to map.
-
#remove(name) ⇒ Object
Get value from map given name key.
Methods inherited from Large
#config, #destroy, #scan, #size
Constructor Details
#initialize(client, policy, key, bin_name, user_module = nil) ⇒ LargeMap
33 34 35 36 37 38 39 |
# File 'lib/aerospike/ldt/large_map.rb', line 33 def initialize(client, policy, key, bin_name, user_module=nil) @PACKAGE_NAME = 'lmap' super(client, policy, key, bin_name, user_module) self end |
Instance Method Details
#filter(filter_name, *filter_args) ⇒ Object
Select items from map.
filter_name Lua function name which applies filter to returned list filter_args arguments to Lua function name return list of items selected
85 86 87 |
# File 'lib/aerospike/ldt/large_map.rb', line 85 def filter(filter_name, *filter_args) @client.execute_udf(@key, @PACKAGE_NAME, 'filter', [@bin_name, @user_module, filter_name, filter_args], @policy) end |
#get(name) ⇒ Object
Get value from map given name key.
name key. return map of items selected
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/aerospike/ldt/large_map.rb', line 60 def get(name) begin @client.execute_udf(@key, @PACKAGE_NAME, 'get', [@bin_name, name, @user_module], @policy) rescue Aerospike::Exceptions::Aerospike => e unless e.result_code == Aerospike::ResultCode::UDF_BAD_RESPONSE && e..index("Item Not Found") Aerospike.logger.error(e) raise e end nil end end |
#put(name, value) ⇒ Object
Add entry to map. If the map does not exist, create it using specified user_module configuration.
name entry key value entry value
45 46 47 |
# File 'lib/aerospike/ldt/large_map.rb', line 45 def put(name, value) @client.execute_udf(@key, @PACKAGE_NAME, 'put', [@bin_name, name, value, @user_module], @policy) end |
#put_map(the_map) ⇒ Object
Add map values to map. If the map does not exist, create it using specified user_module configuration.
map map values to push
52 53 54 |
# File 'lib/aerospike/ldt/large_map.rb', line 52 def put_map(the_map) @client.execute_udf(@key, @PACKAGE_NAME, 'put_all', [@bin_name, the_map, @user_module], @policy) end |
#remove(name) ⇒ Object
Get value from map given name key.
name key. return map of items selected
76 77 78 |
# File 'lib/aerospike/ldt/large_map.rb', line 76 def remove(name) @client.execute_udf(@key, @PACKAGE_NAME, 'remove', [@bin_name, name, @user_module], @policy) end |