Module: Hari
- Extended by:
- Hari, Configuration, Node::Queries
- Included in:
- Hari
- Defined in:
- lib/hari.rb,
lib/hari/keys.rb,
lib/hari/node.rb,
lib/hari/entity.rb,
lib/hari/errors.rb,
lib/hari/object.rb,
lib/hari/version.rb,
lib/hari/keys/key.rb,
lib/hari/keys/set.rb,
lib/hari/relation.rb,
lib/hari/keys/hash.rb,
lib/hari/keys/list.rb,
lib/hari/node/index.rb,
lib/hari/keys/string.rb,
lib/hari/node/queries.rb,
lib/hari/configuration.rb,
lib/hari/serialization.rb,
lib/hari/entity/property.rb,
lib/hari/keys/sorted_set.rb,
lib/hari/node/repository.rb,
lib/hari/entity/repository.rb,
lib/hari/node/queries/type.rb,
lib/hari/node/serialization.rb,
lib/hari/configuration/redis.rb,
lib/hari/relation/sorted_set.rb,
lib/hari/entity/serialization.rb,
lib/hari/node/queries/relation.rb,
lib/hari/entity/property/builder.rb,
lib/hari/entity/serialization/date.rb,
lib/hari/entity/serialization/hash.rb,
lib/hari/entity/serialization/time.rb,
lib/hari/entity/serialization/array.rb,
lib/hari/entity/serialization/float.rb,
lib/hari/node/queries/relation/step.rb,
lib/hari/entity/serialization/string.rb,
lib/hari/node/queries/relation/start.rb,
lib/hari/entity/serialization/boolean.rb,
lib/hari/entity/serialization/integer.rb,
lib/hari/entity/serialization/datetime.rb,
lib/hari/node/queries/relation/runnable.rb
Defined Under Namespace
Modules: Configuration, Keys
Classes: Entity, HariException, InvalidQuery, Node, NotFound, Object, Relation, SerializationError, ValidationsFailed
Constant Summary
collapse
- VERSION =
'0.0.5'
- Serialization =
Hari::Entity::Serialization
Instance Method Summary
collapse
configure
#redis, #redis=
Instance Method Details
#node(arg) ⇒ Object
31
32
33
34
35
36
|
# File 'lib/hari.rb', line 31
def node(arg)
type, id = node_type(arg), node_id(arg)
node = Node.new(model_id: id)
node.instance_variable_set '@node_type', type.to_s
node
end
|
#node_id(model) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/hari.rb', line 46
def node_id(model)
case model
when ::String, ::Symbol
model.to_s.split('#').last
when ::Hash
model.first[1]
when Hari::Node
model.model_id
else
model.id
end
end
|
#node_key(model) ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/hari.rb', line 38
def node_key(model)
if type = node_type(model)
"#{type}##{node_id(model)}"
else
node_id model
end
end
|
#node_type(model) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/hari.rb', line 59
def node_type(model)
case model
when ::String, ::Symbol
model.to_s.split('#').first
when ::Hash
model.first[0]
when Hari::Node
model.node_type
when Hari::Entity
nil
else
model.class.to_s.underscore.split('/').last
end
end
|
#relation!(type, from, target) ⇒ Object
74
75
76
|
# File 'lib/hari.rb', line 74
def relation!(type, from, target)
Relation.create type, from, target
end
|
#remove_relation!(type, from, target) ⇒ Object
78
79
80
|
# File 'lib/hari.rb', line 78
def remove_relation!(type, from, target)
relation!(type, from, target).delete
end
|