redgraph 0.2.1 → 0.2.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.
- checksums.yaml +4 -4
- data/.github/workflows/tests-falkordb.yml +26 -0
- data/.github/workflows/{main.yml → tests-redisgraph.yml} +3 -3
- data/CHANGELOG.md +9 -0
- data/CHEATSHEET.md +13 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +24 -9
- data/README.md +57 -18
- data/lib/redgraph/graph.rb +6 -2
- data/lib/redgraph/node.rb +9 -4
- data/lib/redgraph/version.rb +1 -1
- data/lib/redgraph.rb +4 -0
- data/test/graph_node_methods_test.rb +1 -1
- data/test/graph_queries_test.rb +11 -0
- data/test/node_model_class_methods_test.rb +1 -1
- data/test/node_test.rb +23 -0
- data/test/test_helper.rb +3 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a48865b552ec9fdcb51a032b9dbafacc7f63cb9f08b980fdb6ad512732132131
|
4
|
+
data.tar.gz: 369db06d98cada1d39d962dd88b3f265fd8d300ba96876716f503971bd6dc010
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd8fca4012fd1392201c28496e90201c90819d8dd7ac988c71daeb5a7ce3e3d21c7c6249a1c2ef3af3025b7e8afcfde6de4ecf1d88f930960a3784b4701084ac
|
7
|
+
data.tar.gz: 77c95eff0ef122edb13a8644467510477c703b16d97d155b2938de38d9ed70dd59d4d8cfda5173bfec41a8caf2f6a0b255287a55e0f466983ab6c9b2ee7deacb
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: Test with FalkorDB
|
2
|
+
|
3
|
+
on: [push,pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
|
9
|
+
services:
|
10
|
+
redis:
|
11
|
+
image: falkordb/falkordb
|
12
|
+
ports: ["6379:6379"]
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
- name: Set up Ruby
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: 3.2.2
|
20
|
+
- name: Run the default task
|
21
|
+
env:
|
22
|
+
TEST_REDIS_URL: redis://localhost:6379/0
|
23
|
+
run: |
|
24
|
+
gem install bundler -v 2.4.10
|
25
|
+
bundle install
|
26
|
+
bundle exec rake
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name:
|
1
|
+
name: Test with RedisGraph
|
2
2
|
|
3
3
|
on: [push,pull_request]
|
4
4
|
|
@@ -16,11 +16,11 @@ jobs:
|
|
16
16
|
- name: Set up Ruby
|
17
17
|
uses: ruby/setup-ruby@v1
|
18
18
|
with:
|
19
|
-
ruby-version: 3.
|
19
|
+
ruby-version: 3.2.2
|
20
20
|
- name: Run the default task
|
21
21
|
env:
|
22
22
|
TEST_REDIS_URL: redis://localhost:6379/0
|
23
23
|
run: |
|
24
|
-
gem install bundler -v 2.
|
24
|
+
gem install bundler -v 2.4.10
|
25
25
|
bundle install
|
26
26
|
bundle exec rake
|
data/CHANGELOG.md
CHANGED
data/CHEATSHEET.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Cheatsheet
|
2
|
+
|
3
|
+
Add node
|
4
|
+
```
|
5
|
+
GRAPH.QUERY movies "CREATE(:actor {name: 'Al Pacino'})"
|
6
|
+
GRAPH.QUERY movies "CREATE(:actor {name: 'John Travolta'})"
|
7
|
+
```
|
8
|
+
|
9
|
+
Query graph
|
10
|
+
```
|
11
|
+
GRAPH.QUERY movies "MATCH (n) RETURN n"
|
12
|
+
GRAPH.QUERY movies "MATCH (n) WHERE ID(n) = 1 RETURN n"
|
13
|
+
```
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,50 +1,65 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
redgraph (0.2.
|
4
|
+
redgraph (0.2.3)
|
5
5
|
activesupport (>= 3.0.0)
|
6
6
|
redis (~> 4)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activesupport (
|
11
|
+
activesupport (7.1.2)
|
12
|
+
base64
|
13
|
+
bigdecimal
|
12
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
|
+
connection_pool (>= 2.2.5)
|
16
|
+
drb
|
13
17
|
i18n (>= 1.6, < 2)
|
14
18
|
minitest (>= 5.1)
|
19
|
+
mutex_m
|
15
20
|
tzinfo (~> 2.0)
|
16
|
-
|
21
|
+
base64 (0.2.0)
|
22
|
+
bigdecimal (3.1.5)
|
17
23
|
coderay (1.1.3)
|
18
|
-
concurrent-ruby (1.
|
24
|
+
concurrent-ruby (1.2.2)
|
25
|
+
connection_pool (2.4.1)
|
19
26
|
docile (1.3.5)
|
20
|
-
|
27
|
+
drb (2.2.0)
|
28
|
+
ruby2_keywords
|
29
|
+
i18n (1.14.1)
|
21
30
|
concurrent-ruby (~> 1.0)
|
22
31
|
method_source (1.0.0)
|
23
32
|
minitest (5.14.4)
|
33
|
+
minitest-focus (1.4.0)
|
34
|
+
minitest (>= 4, < 6)
|
35
|
+
mutex_m (0.2.0)
|
24
36
|
pry (0.14.0)
|
25
37
|
coderay (~> 1.1)
|
26
38
|
method_source (~> 1.0)
|
27
39
|
rake (13.0.3)
|
28
|
-
redis (4.
|
40
|
+
redis (4.8.1)
|
41
|
+
ruby2_keywords (0.0.5)
|
29
42
|
simplecov (0.21.2)
|
30
43
|
docile (~> 1.1)
|
31
44
|
simplecov-html (~> 0.11)
|
32
45
|
simplecov_json_formatter (~> 0.1)
|
33
46
|
simplecov-html (0.12.3)
|
34
47
|
simplecov_json_formatter (0.1.2)
|
35
|
-
tzinfo (2.0.
|
48
|
+
tzinfo (2.0.6)
|
36
49
|
concurrent-ruby (~> 1.0)
|
37
|
-
zeitwerk (2.4.2)
|
38
50
|
|
39
51
|
PLATFORMS
|
52
|
+
arm64-darwin-21
|
53
|
+
arm64-darwin-23
|
40
54
|
x86_64-darwin-20
|
41
55
|
|
42
56
|
DEPENDENCIES
|
43
57
|
minitest (~> 5.0)
|
58
|
+
minitest-focus (~> 1.4.0)
|
44
59
|
pry (~> 0.14.0)
|
45
60
|
rake (~> 13.0)
|
46
61
|
redgraph!
|
47
62
|
simplecov (~> 0.21.2)
|
48
63
|
|
49
64
|
BUNDLED WITH
|
50
|
-
2.2.
|
65
|
+
2.2.22
|
data/README.md
CHANGED
@@ -5,6 +5,18 @@
|
|
5
5
|
|
6
6
|
A simple RedisGraph library. This gem owes **a lot** to the existing [redisgraph-rb](https://github.com/RedisGraph/redisgraph-rb) gem, but tries to provide a friendlier interface, similar to the existing [Python](https://github.com/RedisGraph/redisgraph-py) and [Elixir](https://github.com/crflynn/redisgraph-ex) clients.
|
7
7
|
|
8
|
+
## July 2023 update:
|
9
|
+
|
10
|
+
Sadly RedisGraph is no longer in active development. More info [here](https://redis.com/blog/redisgraph-eol/).
|
11
|
+
|
12
|
+
## Nov 2023 update:
|
13
|
+
|
14
|
+
There is an active fork, [FalkorDB](https://github.com/FalkorDB/FalkorDB/). AFAIK at this time there are no arm64 builds available.
|
15
|
+
|
16
|
+
## Dec 2023 update:
|
17
|
+
|
18
|
+
FalkorDB has arm64 builds now.
|
19
|
+
|
8
20
|
## Installation
|
9
21
|
|
10
22
|
Add this line to your application's Gemfile:
|
@@ -36,13 +48,20 @@ Create a couple nodes:
|
|
36
48
|
|
37
49
|
```ruby
|
38
50
|
actor = Redgraph::Node.new(label: 'actor', properties: {name: "Al Pacino"})
|
39
|
-
=> #<Redgraph::Node:
|
51
|
+
=> #<Redgraph::Node:0x00007fce3baa0580 @id=nil, @labels=["actor"], @properties={"name"=>"Al Pacino"}>
|
40
52
|
graph.add_node(actor)
|
41
|
-
=> #<Redgraph::Node:
|
53
|
+
=> #<Redgraph::Node:0x00007fce3baa0580 @id=0, @labels=["actor"], @properties={"name"=>"Al Pacino"}>
|
42
54
|
film = Redgraph::Node.new(label: 'film', properties: {name: "Scarface"})
|
43
|
-
=> #<Redgraph::Node:
|
55
|
+
=> #<Redgraph::Node:0x00007fce3e8c6c48 @id=nil, @labels=["film"], @properties={"name"=>"Scarface"}>
|
44
56
|
graph.add_node(film)
|
45
|
-
=> #<Redgraph::Node:
|
57
|
+
=> #<Redgraph::Node:0x00007fce3e8c6c48 @id=1, @labels=["film"], @properties={"name"=>"Scarface"}>
|
58
|
+
```
|
59
|
+
|
60
|
+
Nodes might have multiple labels, although they're not supported by RedisGraph yet (you can track the feature progress [here](https://github.com/RedisGraph/RedisGraph/pull/1561)):
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
item = Redgraph::Node.new(labels: ['film', 'drama'], properties: {name: "Casino"})
|
64
|
+
=> #<Redgraph::Node:0x00007fce3bc73308 @id=nil, @labels=["film", "drama"], @properties={"name"=>"Casino"}>
|
46
65
|
```
|
47
66
|
|
48
67
|
Create an edge between those nodes:
|
@@ -50,7 +69,7 @@ Create an edge between those nodes:
|
|
50
69
|
```ruby
|
51
70
|
edge = Redgraph::Edge.new(src: actor, dest: film, type: 'ACTOR_IN', properties: {role: "Tony Montana"})
|
52
71
|
=> #<Redgraph::Edge:0x00007f8d5f9ae3d8 @dest=#<Redgraph::Node:0x00007f8d5f85ccc8 @id=1, @label="film", @properties={:name=>"Scarface"}>, @dest_id=1, @properties={:role=>"Tony Montana"}, @src=#<Redgraph::Node:0x00007f8d5f95cf88 @id=0, @label="actor", @properties={:name=>"Al Pacino"}>, @src_id=0, @type="ACTOR_IN">
|
53
|
-
|
72
|
+
graph.add_edge(edge)
|
54
73
|
=> #<Redgraph::Edge:0x00007f8d5f9ae3d8 @dest=#<Redgraph::Node:0x00007f8d5f85ccc8 @id=1, @label="film", @properties={:name=>"Scarface"}>, @dest_id=1, @id=0, @properties={:role=>"Tony Montana"}, @src=#<Redgraph::Node:0x00007f8d5f95cf88 @id=0, @label="actor", @properties={:name=>"Al Pacino"}>, @src_id=0, @type="ACTOR_IN">
|
55
74
|
```
|
56
75
|
|
@@ -64,52 +83,52 @@ graph.merge_node(film)
|
|
64
83
|
Same with edges:
|
65
84
|
|
66
85
|
```ruby
|
67
|
-
|
86
|
+
graph.merge_edge(edge)
|
68
87
|
=> #<Redgraph::Edge:0x00007f8d5f9ae3d8 @dest=#<Redgraph::Node:0x00007f8d5f85ccc8 @id=1, @label="film", @properties={:name=>"Scarface"}>, @dest_id=1, @id=0, @properties={:role=>"Tony Montana"}, @src=#<Redgraph::Node:0x00007f8d5f95cf88 @id=0, @label="actor", @properties={:name=>"Al Pacino"}>, @src_id=0, @type="ACTOR_IN">
|
69
88
|
```
|
70
89
|
|
71
90
|
Find a node by id:
|
72
91
|
|
73
92
|
```ruby
|
74
|
-
|
93
|
+
graph.find_node_by_id(1)
|
75
94
|
=> #<Redgraph::Node:0x00007f8d5c2c6e88 @id=1, @label="film", @properties={"name"=>"Scarface"}>
|
76
95
|
```
|
77
96
|
|
78
97
|
To get all nodes:
|
79
98
|
|
80
99
|
```ruby
|
81
|
-
|
100
|
+
graph.nodes
|
82
101
|
=> [#<Redgraph::Node:0x00007f8d5c2ee0a0 @id=0, @label="actor", @properties={"name"=>"Al Pacino"}>, #<Redgraph::Node:0x00007f8d5c2edfd8 @id=1, @label="film", @properties={"name"=>"Scarface"}>]
|
83
102
|
```
|
84
103
|
|
85
104
|
Optional filters that can be combined:
|
86
105
|
|
87
106
|
```ruby
|
88
|
-
|
89
|
-
|
90
|
-
|
107
|
+
graph.nodes(label: 'actor')
|
108
|
+
graph.nodes(properties: {name: "Al Pacino"})
|
109
|
+
graph.nodes(limit: 10, skip: 20)
|
91
110
|
```
|
92
111
|
|
93
112
|
Counting nodes
|
94
113
|
|
95
114
|
```ruby
|
96
|
-
|
115
|
+
graph.count_nodes(label: 'actor')
|
97
116
|
=> 1
|
98
117
|
```
|
99
118
|
|
100
119
|
Getting edges:
|
101
120
|
|
102
121
|
```ruby
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
122
|
+
graph.edges
|
123
|
+
graph.edges(src: actor, dest: film)
|
124
|
+
graph.edges(kind: 'FRIEND_OF', limit: 10, skip: 20)
|
125
|
+
graph.count_edges
|
107
126
|
```
|
108
127
|
|
109
128
|
Running custom queries
|
110
129
|
|
111
130
|
```ruby
|
112
|
-
|
131
|
+
graph.query("MATCH (src)-[edge:FRIEND_OF]->(dest) RETURN src, edge")
|
113
132
|
```
|
114
133
|
|
115
134
|
### NodeModel
|
@@ -129,7 +148,7 @@ And this will give you stuff such as
|
|
129
148
|
```ruby
|
130
149
|
Actor.count
|
131
150
|
john = Actor.new(name: "John Travolta")
|
132
|
-
john.add_to_graph
|
151
|
+
john.add_to_graph
|
133
152
|
john.add_relation(type: "ACTED_IN", node: film, properties: {role: "Tony Manero"})
|
134
153
|
john.reload
|
135
154
|
john.destroy
|
@@ -145,6 +164,10 @@ Actor.query("MATCH (node) RETURN node ORDER BY node.name")
|
|
145
164
|
```
|
146
165
|
And the result rows object will be instances of the classes defined by the `_type` attribute.
|
147
166
|
|
167
|
+
### Notifications
|
168
|
+
|
169
|
+
You can optionally subscribe to `redgraph.query` ActiveSupport notifications.
|
170
|
+
|
148
171
|
## Development
|
149
172
|
|
150
173
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
@@ -159,6 +182,22 @@ You can also run `bin/console` for an interactive prompt that will allow you to
|
|
159
182
|
|
160
183
|
To install this gem onto your local machine, run `bundle exec rake install`.
|
161
184
|
|
185
|
+
### Installing RedisGraph
|
186
|
+
|
187
|
+
If you're using an Apple silicon mac you might want to use the docker image: I've had issues compiling the module (OpenMP problems). Just do a:
|
188
|
+
|
189
|
+
docker run -p 6380:6379 -it --rm redislabs/redisgraph
|
190
|
+
|
191
|
+
or, to try FalkorDB
|
192
|
+
|
193
|
+
docker run -p 6380:6379 -it --rm falkordb/falkordb:edge
|
194
|
+
|
195
|
+
and then
|
196
|
+
|
197
|
+
TEST_REDIS_URL=redis://localhost:6380/0 be rake test
|
198
|
+
|
199
|
+
I'm using port 6380 to not interphere with the other redis instance.
|
200
|
+
|
162
201
|
## Contributing
|
163
202
|
|
164
203
|
Bug reports and pull requests are welcome on GitHub at https://github.com/pzac/redgraph.
|
data/lib/redgraph/graph.rb
CHANGED
@@ -19,7 +19,7 @@ module Redgraph
|
|
19
19
|
@graph_name = graph_name
|
20
20
|
@connection = Redis.new(redis_options)
|
21
21
|
@module_version = module_version
|
22
|
-
raise ServerError unless @module_version
|
22
|
+
raise ServerError, "Can't find RedisGraph module" unless @module_version
|
23
23
|
end
|
24
24
|
|
25
25
|
# Returns the version of the RedisGraph module
|
@@ -99,7 +99,11 @@ module Redgraph
|
|
99
99
|
private
|
100
100
|
|
101
101
|
def _query(cmd)
|
102
|
-
data =
|
102
|
+
data = nil
|
103
|
+
query = ["GRAPH.QUERY", graph_name, cmd, "--compact"]
|
104
|
+
ActiveSupport::Notifications.instrument(NOTIFICATIONS_KEY, query: query.join(' ')) do
|
105
|
+
data = @connection.call(*query)
|
106
|
+
end
|
103
107
|
QueryResponse.new(data, self)
|
104
108
|
end
|
105
109
|
end
|
data/lib/redgraph/node.rb
CHANGED
@@ -4,14 +4,19 @@ module Redgraph
|
|
4
4
|
class Node
|
5
5
|
include Util
|
6
6
|
|
7
|
-
attr_accessor :id, :
|
7
|
+
attr_accessor :id, :labels, :properties
|
8
8
|
|
9
|
-
def initialize(label: nil, properties: nil, id: nil)
|
9
|
+
def initialize(label: nil, properties: nil, id: nil, labels: nil)
|
10
10
|
@id = id
|
11
|
-
|
11
|
+
raise(Error, "You can either define a single label or a label array") if label && labels
|
12
|
+
@labels = labels || (label ? [label] : [])
|
12
13
|
@properties = (properties || {}).with_indifferent_access
|
13
14
|
end
|
14
15
|
|
16
|
+
def label
|
17
|
+
labels.first
|
18
|
+
end
|
19
|
+
|
15
20
|
def persisted?
|
16
21
|
id.present?
|
17
22
|
end
|
@@ -21,7 +26,7 @@ module Redgraph
|
|
21
26
|
end
|
22
27
|
|
23
28
|
def to_query_string(item_alias: 'node')
|
24
|
-
_label = "
|
29
|
+
_label = labels.map {|l| ":`#{l}`"}.join
|
25
30
|
"(#{item_alias}#{_label} #{properties_to_string(properties)})"
|
26
31
|
end
|
27
32
|
end
|
data/lib/redgraph/version.rb
CHANGED
data/lib/redgraph.rb
CHANGED
@@ -4,6 +4,8 @@ require "active_support/core_ext/hash/indifferent_access"
|
|
4
4
|
require "active_support/core_ext/object/blank"
|
5
5
|
require "active_support/core_ext/string/inflections"
|
6
6
|
require "active_support/concern"
|
7
|
+
require 'active_support/notifications'
|
8
|
+
require 'active_support/isolated_execution_state'
|
7
9
|
|
8
10
|
require_relative "redgraph/version"
|
9
11
|
require_relative "redgraph/util"
|
@@ -14,6 +16,8 @@ require_relative "redgraph/query_response"
|
|
14
16
|
require_relative "redgraph/node_model"
|
15
17
|
|
16
18
|
module Redgraph
|
19
|
+
NOTIFICATIONS_KEY = "redgraph.query".freeze
|
20
|
+
|
17
21
|
class Error < StandardError; end
|
18
22
|
class ServerError < Error; end
|
19
23
|
class MissingAliasPrefixError < Error
|
data/test/graph_queries_test.rb
CHANGED
@@ -42,4 +42,15 @@ class GraphQueriesTest < Minitest::Test
|
|
42
42
|
result = @graph.query("MATCH (src)-[edge:FRIEND_OF]->(dest) RETURN src, edge")
|
43
43
|
assert_equal([[@al, edge]], result)
|
44
44
|
end
|
45
|
+
|
46
|
+
def test_query_notifications
|
47
|
+
payload = nil
|
48
|
+
subscription = ActiveSupport::Notifications.subscribe Redgraph::NOTIFICATIONS_KEY do |name, start, finish, id, _payload|
|
49
|
+
payload = _payload
|
50
|
+
end
|
51
|
+
|
52
|
+
query = "MATCH (n) RETURN n.name ORDER BY n.name"
|
53
|
+
result = @graph.query(query)
|
54
|
+
assert_includes(payload[:query], query)
|
55
|
+
end
|
45
56
|
end
|
data/test/node_test.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class NodeTest < Minitest::Test
|
6
|
+
def test_single_labels
|
7
|
+
node = Redgraph::Node.new(label: "film")
|
8
|
+
assert_equal(["film"], node.labels)
|
9
|
+
assert_equal("film", node.label)
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_multiple_labels
|
13
|
+
node = Redgraph::Node.new(labels: ["film", "drama"])
|
14
|
+
assert_equal(["film", "drama"], node.labels)
|
15
|
+
assert_equal("film", node.label)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_conflicting_labels
|
19
|
+
assert_raises(Redgraph::Error) do
|
20
|
+
Redgraph::Node.new(labels: ["film", "drama"], label: "film")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -13,10 +13,12 @@ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
|
13
13
|
require "redgraph"
|
14
14
|
|
15
15
|
require "minitest/autorun"
|
16
|
+
require "minitest/focus"
|
16
17
|
require "pry"
|
17
18
|
|
18
19
|
unless $REDIS_URL = ENV['TEST_REDIS_URL']
|
19
|
-
puts "To run the tests you need to define the TEST_REDIS_URL environment variable"
|
20
|
+
puts "To run the tests you need to define the TEST_REDIS_URL environment variable. Ex:"
|
21
|
+
puts " TEST_REDIS_URL=redis://localhost:6379/0"
|
20
22
|
exit(1)
|
21
23
|
end
|
22
24
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redgraph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paolo Zaccagnini
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -45,9 +45,11 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
-
- ".github/workflows/
|
48
|
+
- ".github/workflows/tests-falkordb.yml"
|
49
|
+
- ".github/workflows/tests-redisgraph.yml"
|
49
50
|
- ".gitignore"
|
50
51
|
- CHANGELOG.md
|
52
|
+
- CHEATSHEET.md
|
51
53
|
- Gemfile
|
52
54
|
- Gemfile.lock
|
53
55
|
- LICENSE.txt
|
@@ -79,6 +81,7 @@ files:
|
|
79
81
|
- test/node_model_labels_test.rb
|
80
82
|
- test/node_model_persistence_test.rb
|
81
83
|
- test/node_model_test.rb
|
84
|
+
- test/node_test.rb
|
82
85
|
- test/redgraph_test.rb
|
83
86
|
- test/test_helper.rb
|
84
87
|
homepage: https://github.com/pzac/redgraph
|
@@ -103,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
106
|
- !ruby/object:Gem::Version
|
104
107
|
version: '0'
|
105
108
|
requirements: []
|
106
|
-
rubygems_version: 3.
|
109
|
+
rubygems_version: 3.4.10
|
107
110
|
signing_key:
|
108
111
|
specification_version: 4
|
109
112
|
summary: A simple RedisGraph client
|