hari 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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