hari 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +15 -0
  2. data/.travis.yml +15 -0
  3. data/LICENSE +15 -19
  4. data/README.md +22 -0
  5. data/hari.gemspec +2 -1
  6. data/lib/hari.rb +56 -1
  7. data/lib/hari/entity.rb +8 -11
  8. data/lib/hari/entity/property.rb +2 -2
  9. data/lib/hari/entity/property/builder.rb +9 -1
  10. data/lib/hari/entity/repository.rb +3 -2
  11. data/lib/hari/entity/serialization/float.rb +2 -0
  12. data/lib/hari/entity/serialization/integer.rb +3 -10
  13. data/lib/hari/node.rb +20 -3
  14. data/lib/hari/node/queries.rb +33 -0
  15. data/lib/hari/node/queries/list.rb +147 -0
  16. data/lib/hari/node/queries/relation.rb +100 -0
  17. data/lib/hari/node/queries/relation/backend/list.rb +35 -0
  18. data/lib/hari/node/queries/relation/backend/sorted_set.rb +95 -0
  19. data/lib/hari/node/queries/relation/runnable.rb +24 -0
  20. data/lib/hari/node/queries/relation/start.rb +19 -0
  21. data/lib/hari/node/queries/relation/step.rb +17 -0
  22. data/lib/hari/node/queries/set.rb +116 -0
  23. data/lib/hari/node/queries/sorted_set.rb +130 -0
  24. data/lib/hari/node/repository.rb +24 -0
  25. data/lib/hari/node/serialization.rb +24 -0
  26. data/lib/hari/relation.rb +72 -0
  27. data/lib/hari/relation/linked_list.rb +16 -0
  28. data/lib/hari/relation/sorted_set.rb +16 -0
  29. data/lib/hari/version.rb +1 -1
  30. data/spec/hari/configuration_spec.rb +5 -0
  31. data/spec/hari/entity/repository_spec.rb +4 -4
  32. data/spec/hari/entity/serialization_spec.rb +2 -2
  33. data/spec/hari/node/lists_spec.rb +126 -0
  34. data/spec/hari/node/sets_spec.rb +85 -0
  35. data/spec/hari/node/sorted_sets_spec.rb +89 -0
  36. data/spec/hari/node_spec.rb +79 -0
  37. data/spec/hari_spec.rb +37 -0
  38. data/spec/spec_helper.rb +11 -1
  39. metadata +48 -32
  40. data/lib/hari/relationship.rb +0 -72
  41. data/lib/hari/relationship/linked_list.rb +0 -22
  42. data/lib/hari/relationship/sorted_set.rb +0 -22
  43. data/lib/hari/scripts.rb +0 -26
@@ -1,22 +0,0 @@
1
- module Hari
2
- class Relationship < Entity
3
- module Backend
4
- module LinkedList
5
- extend self
6
-
7
- def type
8
- :ll
9
- end
10
-
11
- def create(rel)
12
- %w(in out).each { |d| Hari.redis.lpush rel.key(d), rel.id }
13
- end
14
-
15
- def delete(rel)
16
- %w(in out).each { |d| Hari.redis.lrem rel.key(d), 1, rel.id }
17
- end
18
-
19
- end
20
- end
21
- end
22
- end
@@ -1,22 +0,0 @@
1
- module Hari
2
- class Relationship < Entity
3
- module Backend
4
- module SortedSet
5
- extend self
6
-
7
- def type
8
- :ss
9
- end
10
-
11
- def create(rel)
12
- %w(in out).each { |d| Hari.redis.zadd rel.key(d), rel.weight(d), rel.id }
13
- end
14
-
15
- def delete(rel)
16
- %w(in out).each { |d| Hari.redis.zrem rel.key(d), rel.id }
17
- end
18
-
19
- end
20
- end
21
- end
22
- end
data/lib/hari/scripts.rb DELETED
@@ -1,26 +0,0 @@
1
- module Hari
2
- module Scripts
3
-
4
- SCRIPT_PATH = File.expand_path('../scripts', __FILE__)
5
-
6
- def map
7
- @scripts ||= {}
8
- end
9
-
10
- def load
11
- files = Dir[SCRIPT_PATH.join('**/*.lua')]
12
-
13
- files.each do |file|
14
- name = file.gsub("#{SCRIPT_PATH}/", '').gsub('.lua', '')
15
- script = File.read(file)
16
- sha = Hari.redis.script(:load, script)
17
- map[name] = sha
18
- end
19
- end
20
-
21
- def sha(script_name)
22
- map[script_name.to_s]
23
- end
24
-
25
- end
26
- end