Module: Hari
- Extended by:
- Hari, Configuration, Node::Queries
- Included in:
- Hari
- Defined in:
- lib/hari.rb,
lib/hari/node.rb,
lib/hari/entity.rb,
lib/hari/errors.rb,
lib/hari/version.rb,
lib/hari/relation.rb,
lib/hari/node/queries.rb,
lib/hari/configuration.rb,
lib/hari/entity/property.rb,
lib/hari/node/repository.rb,
lib/hari/node/queries/set.rb,
lib/hari/entity/repository.rb,
lib/hari/node/queries/list.rb,
lib/hari/node/serialization.rb,
lib/hari/configuration/redis.rb,
lib/hari/relation/sorted_set.rb,
lib/hari/entity/serialization.rb,
lib/hari/relation/linked_list.rb,
lib/hari/node/queries/relation.rb,
lib/hari/entity/property/builder.rb,
lib/hari/node/queries/sorted_set.rb,
lib/hari/entity/serialization/date.rb,
lib/hari/entity/serialization/time.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
Classes: Entity, HariException, InvalidQuery, Node, NotFound, Relation, SerializationError, ValidationsFailed
Constant Summary
collapse
- VERSION =
'0.0.3'
Instance Method Summary
collapse
configure
#redis, #redis=
Instance Method Details
#node(arg) ⇒ Object
24
25
26
27
28
29
|
# File 'lib/hari.rb', line 24
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
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/hari.rb', line 39
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
31
32
33
34
35
36
37
|
# File 'lib/hari.rb', line 31
def node_key(model)
if type = node_type(model)
"#{type}##{node_id(model)}"
else
node_id model
end
end
|
#node_type(model) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/hari.rb', line 52
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
67
68
69
|
# File 'lib/hari.rb', line 67
def relation!(type, from, target)
Relation.create type, from, target
end
|