Class: RubyHaze::Map
Instance Attribute Summary
#name
#proxy_object
Instance Method Summary
collapse
included
#rescue_native_exception
#==
included, #method_missing, #respond_to?
Constructor Details
#initialize(name) ⇒ Map
Returns a new instance of Map.
9
10
11
12
13
14
|
# File 'lib/rubyhaze/map.rb', line 9
def initialize(name)
@name = name.to_s
@proxy_object = Hazelcast.get_map @name
rescue NativeException => x
rescue_native_exception x
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class RubyHaze::Mixins::Proxy
Instance Method Details
#[](key) ⇒ Object
24
25
26
27
28
|
# File 'lib/rubyhaze/map.rb', line 24
def [](key)
proxy_object[key.to_s]
rescue NativeException => x
rescue_native_exception x
end
|
#[]=(key, value) ⇒ Object
30
31
32
33
34
|
# File 'lib/rubyhaze/map.rb', line 30
def []=(key,value)
proxy_object[key.to_s] = value
rescue NativeException => x
rescue_native_exception x
end
|
#each ⇒ Object
16
17
18
19
20
21
22
|
# File 'lib/rubyhaze/map.rb', line 16
def each
proxy_object.each do |(key, value)|
yield key, value
end
rescue NativeException => x
rescue_native_exception x
end
|
#keys(predicate = nil) ⇒ Object
36
37
38
39
40
41
|
# File 'lib/rubyhaze/map.rb', line 36
def keys(predicate = nil)
predicate = prepare_predicate(predicate) unless predicate.is_a?(SqlPredicate)
proxy_object.key_set(predicate).map
rescue NativeException => x
rescue_native_exception x
end
|
#local_keys(predicate = nil) ⇒ Object
51
52
53
54
55
56
|
# File 'lib/rubyhaze/map.rb', line 51
def local_keys(predicate = nil)
predicate = prepare_predicate(predicate) unless predicate.is_a?(SqlPredicate)
proxy_object.local_key_set(predicate).map
rescue NativeException => x
rescue_native_exception x
end
|
#local_stats ⇒ Object
58
59
60
61
62
|
# File 'lib/rubyhaze/map.rb', line 58
def local_stats
lsm = proxy_object.local_map_stats
{ :backup_count => lsm.backup_entry_count, :backup_memory => lsm.backup_entry_memory_cost,
:created => lsm.creation_time, :last_accessed => lsm.last_access_time, }
end
|
#prepare_predicate(predicate) ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/rubyhaze/map.rb', line 64
def prepare_predicate(predicate)
return if predicate.nil?
case predicate
when String
SqlPredicate.new predicate
when Hash
query = predicate.map do |field, value|
cmp = '='
if value.is_a?(String)
value = "'" + value + "'"
cmp = 'LIKE' if value.index('%')
end
"#{field} #{cmp} #{value}"
end.join(' AND ')
SqlPredicate.new query
else
raise "Unknown predicate type"
end
end
|
#values(predicate = nil) ⇒ Object
Also known as:
find
43
44
45
46
47
48
|
# File 'lib/rubyhaze/map.rb', line 43
def values(predicate = nil)
predicate = prepare_predicate(predicate) unless predicate.is_a?(SqlPredicate)
proxy_object.values(predicate).map
rescue NativeException => x
rescue_native_exception x
end
|