pacer-orient 2.1.0.pre-java → 2.1.1-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6fceac4558001cdd09ca2e020f1ff972e114783
4
- data.tar.gz: a1c777ad26b1bc1b8ade637f911d4e55b4d5a7ce
3
+ metadata.gz: c2fdd8ddfc4598b083a169ccb43bc73bd5fbeb71
4
+ data.tar.gz: 927e24d2325d80d8c43bf5dbb02960e9985be2c6
5
5
  SHA512:
6
- metadata.gz: 04cb179c0c0e519a062a5e60edc26c63f049bbc28df0db4b644a4064805aebe41c91cf07b9366e89cfeda6a6880c36e5f268c535d5eab169865c945b6b03404f
7
- data.tar.gz: 59f73d70eead2816e4935871cc37e8ca71e91b3d4e23c4887b49bfd4bd332e1975707d731dcb18d29d5dd85af498525ee68fe38fa8ea4670829c838a7925f3a6
6
+ metadata.gz: 4d4f1593a4cbc034406287fe45365626a41a8ed6acea60210927d38a0f0329cf8f01c2ff79016adb31cd4e26f3b3acf086878c04b953dfaed3fc2d97856394b2
7
+ data.tar.gz: 1df25c40515d3ea6413e77c3f3d23cdc8d89508f383f8338eb0aee770d81998eb78ba5b51e2e7ed2b71d51c5e05572bd765f9ef6ec7adef23266f99f1eb4a634
data/lib/pacer-orient.rb CHANGED
@@ -26,8 +26,14 @@ module Pacer
26
26
  elsif url.is_a? String and url !~ /^(plocal|local|remote|memory):/
27
27
  url = "plocal:#{ url }"
28
28
  end
29
- username = args.delete :username if args
30
- password = args.delete :password if args
29
+ if args
30
+ username = args.delete :username
31
+ password = args.delete :password
32
+ transactional = args.delete :transactional
33
+ lightweight_edges = args.delete :lightweight_edges
34
+ edge_classes = args.delete :edge_classes
35
+ vertex_classes = args.delete :vertex_classes
36
+ end
31
37
  if url.is_a? String
32
38
  open = proc do
33
39
  # TODO: can / should I cache connections? Is it essential to shut down Orient?
@@ -41,19 +47,26 @@ module Pacer
41
47
  end
42
48
  Pacer.open_graphs[[url, username]] = Pacer::Orient::FactoryContainer.new(factory)
43
49
  end
44
- graph = factory.get()
45
- graph.setAutoStartTx false
50
+ if transactional == false
51
+ graph = factory.getNoTx()
52
+ else
53
+ graph = factory.getTx()
54
+ end
55
+ graph.useLightweightEdges = lightweight_edges if lightweight_edges == false
56
+ graph.useClassForEdgeLabel = edge_classes if edge_classes == false
57
+ graph.useClassForVertexLabel = vertex_classes if vertex_classes == false
58
+ #graph.setAutoStartTx false
46
59
  graph
47
60
  end
48
61
  shutdown = proc do |g|
49
62
  factory = Pacer.open_graphs.delete [url, username]
50
63
  factory.shutdown if factory
51
64
  end
52
- Orient::Graph.new(Pacer::YamlEncoder, open, shutdown)
65
+ Orient::Graph.new(Pacer::Orient::Encoder, open, shutdown)
53
66
  else
54
67
  # Don't register the new graph so that it won't be automatically closed.
55
68
  graph = url
56
- Orient::Graph.new Pacer::YamlEncoder, proc { graph }
69
+ Orient::Graph.new Pacer::Orient::Encoder, proc { graph }
57
70
  end
58
71
  end
59
72
 
@@ -3,6 +3,9 @@ require 'java'
3
3
  module Pacer::Orient
4
4
  class Encoder
5
5
  JavaDate = java.util.Date
6
+ JavaSet = java.util.Set
7
+ JavaMap = java.util.Map
8
+ JavaList = java.util.List
6
9
 
7
10
  def self.encode_property(value)
8
11
  case value
@@ -20,7 +23,24 @@ module Pacer::Orient
20
23
  end
21
24
  when true, false
22
25
  value.to_java
23
- when JavaDate, Date, Time, DateTime
26
+ when JavaDate
27
+ value
28
+ when Time
29
+ value.to_java
30
+ when DateTime
31
+ value.to_time.to_java
32
+ when Date
33
+ t = value.to_time
34
+ (t + Time.zone_offset(t.zone)).utc.to_java
35
+ when Set
36
+ value.map { |x| encode_property(x) }.to_hashset
37
+ when Hash
38
+ value.to_hash_map { |k, v| [encode_property(k), encode_property(v)] }
39
+ when Enumerable
40
+ value.map { |x| encode_property(x) }.to_list
41
+ when JavaSet, JavaMap, JavaList
42
+ value
43
+ when ArrayJavaProxy
24
44
  value
25
45
  else
26
46
  Marshal.dump(value).to_java_bytes
@@ -28,11 +48,106 @@ module Pacer::Orient
28
48
  end
29
49
 
30
50
  def self.decode_property(value)
31
- if value.is_a? ArrayJavaProxy
32
- Marshal.load String.from_java_bytes(value)
51
+ case value
52
+ when ArrayJavaProxy
53
+ if value[0] == 4 and value[1] == 8
54
+ begin
55
+ Marshal.load String.from_java_bytes(value)
56
+ rescue TypeError
57
+ value
58
+ end
59
+ else
60
+ value
61
+ end
62
+ when JavaDate
63
+ Time.at(value.getTime() / 1000.0).utc
64
+ when Time
65
+ value.utc
66
+ when JavaSet
67
+ s = Set[]
68
+ value.each do |v|
69
+ s.add decode_property(v)
70
+ end
71
+ s
72
+ when JavaMap
73
+ h = {}
74
+ value.each do |k, v|
75
+ h[decode_property(k)] = decode_property(v)
76
+ end
77
+ h
78
+ when JavaList
79
+ a = []
80
+ value.each do |v|
81
+ a.push decode_property(v)
82
+ end
83
+ a
33
84
  else
34
85
  value
35
86
  end
36
87
  end
37
88
  end
89
+
90
+
91
+ # This is an alternate encoder that uses a binary representation of Dates and DateTimes that allows the database to return the correct type and has
92
+ # much better handling of timezones than the standard approach which turns all dates into basic java.util.Date objects.
93
+ class BinaryDateEncoder
94
+ JavaDate = java.util.Date
95
+
96
+ def self.encode_property(value)
97
+ case value
98
+ when DateTime, Time, JavaDate
99
+ f = if value.is_a? JavaDate
100
+ value.getTime / 1000.0
101
+ else
102
+ value.to_time.to_f
103
+ end
104
+ i = f.truncate
105
+ r = (f.remainder(1) * 10000).round
106
+ if value.is_a? DateTime
107
+ c = 1
108
+ elsif value.is_a? Time and value.utc?
109
+ c = 2
110
+ else
111
+ c = 3
112
+ end
113
+ ["D", i, r, c].pack("ANnc").to_java_bytes
114
+ when Date
115
+ ["D", value.to_time.to_i].pack("AN").to_java_bytes
116
+ else
117
+ Encoder.encode_property(value)
118
+ end
119
+ end
120
+
121
+ def self.decode_property(value)
122
+ case value
123
+ when ArrayJavaProxy
124
+ str = String.from_java_bytes(value)
125
+ flag = str[0]
126
+ case flag
127
+ when 'D'
128
+ data = str.unpack("ANnc")
129
+ i = data[1]
130
+ r = data[2]
131
+ c = data[3]
132
+ if r
133
+ t = Time.at(i + (r / 10000.0))
134
+ case c
135
+ when 1
136
+ t.utc.to_datetime
137
+ when 2
138
+ t.utc
139
+ else
140
+ t
141
+ end
142
+ else
143
+ Time.at(i).utc.to_date
144
+ end
145
+ else
146
+ Encoder.decode_property value
147
+ end
148
+ else
149
+ Encoder.decode_property value
150
+ end
151
+ end
152
+ end
38
153
  end
@@ -0,0 +1,26 @@
1
+ module Pacer::Orient
2
+ class FactoryContainer
3
+ attr_reader :factory
4
+
5
+ def initialize(f)
6
+ @factory = f
7
+ end
8
+
9
+ def get
10
+ factory.get
11
+ end
12
+
13
+ def getTx
14
+ factory.getTx
15
+ end
16
+
17
+ def getNoTx
18
+ factory.getNoTx
19
+ end
20
+
21
+ # Pacer calls shutdown on all cached graphs when it exits. Orient caches this factory.
22
+ def shutdown
23
+ factory.close
24
+ end
25
+ end
26
+ end
@@ -1,8 +1,68 @@
1
1
  require 'set'
2
2
 
3
+ require 'pacer-orient/orient_type'
4
+ require 'pacer-orient/property'
5
+ require 'pacer-orient/encoder'
6
+ require 'pacer-orient/record_id'
7
+ require 'pacer-orient/factory_container'
8
+
3
9
  module Pacer
4
10
  module Orient
5
11
  class Graph < PacerGraph
12
+ import com.orientechnologies.orient.core.sql.OCommandSQL
13
+ import com.orientechnologies.orient.core.metadata.schema.OType
14
+ import com.orientechnologies.orient.core.metadata.schema.OClass
15
+
16
+ # Marked the types that should be most commonly used.
17
+ OTYPES = {
18
+ :any => OType::ANY,
19
+ :boolean => OType::BOOLEAN, # use this one
20
+ :bool => OType::BOOLEAN,
21
+ :short => OType::SHORT,
22
+ :integer => OType::INTEGER,
23
+ :int => OType::INTEGER,
24
+ :long => OType::LONG, # use this one
25
+ :float => OType::FLOAT,
26
+ :double => OType::DOUBLE, # use this one
27
+ :decimal => OType::DECIMAL, # use this one
28
+ :date => OType::DATE, # use this one
29
+ :datetime => OType::DATETIME, # use this one
30
+ :date_time => OType::DATETIME,
31
+ :byte => OType::BYTE,
32
+ :string => OType::STRING, # use this one
33
+ :binary => OType::BINARY,
34
+ :embedded => OType::EMBEDDED,
35
+ :embeddedlist => OType::EMBEDDEDLIST,
36
+ :embeddedset => OType::EMBEDDEDSET,
37
+ :embeddedmap => OType::EMBEDDEDMAP,
38
+ :link => OType::LINK,
39
+ :linklist => OType::LINKLIST,
40
+ :linkset => OType::LINKSET,
41
+ :linkmap => OType::LINKMAP,
42
+ :linkbag => OType::LINKBAG,
43
+ :transient => OType::TRANSIENT,
44
+ :custom => OType::CUSTOM
45
+ }
46
+
47
+
48
+ ITYPES = {
49
+ :range_dictionary => OClass::INDEX_TYPE::DICTIONARY,
50
+ :range_fulltext => OClass::INDEX_TYPE::FULLTEXT,
51
+ :range_full_text => OClass::INDEX_TYPE::FULLTEXT,
52
+ :range_notunique => OClass::INDEX_TYPE::NOTUNIQUE,
53
+ :range_not_unique => OClass::INDEX_TYPE::NOTUNIQUE,
54
+ :range_unique => OClass::INDEX_TYPE::UNIQUE,
55
+ :proxy => OClass::INDEX_TYPE::PROXY,
56
+ :dictionary => OClass::INDEX_TYPE::DICTIONARY_HASH_INDEX,
57
+ :fulltext => OClass::INDEX_TYPE::FULLTEXT_HASH_INDEX,
58
+ :full_text => OClass::INDEX_TYPE::FULLTEXT_HASH_INDEX,
59
+ :notunique => OClass::INDEX_TYPE::NOTUNIQUE_HASH_INDEX,
60
+ :not_unique => OClass::INDEX_TYPE::NOTUNIQUE_HASH_INDEX,
61
+ :spatial => OClass::INDEX_TYPE::SPATIAL,
62
+ :unique => OClass::INDEX_TYPE::UNIQUE_HASH_INDEX
63
+ }
64
+
65
+
6
66
  def orient_graph
7
67
  blueprints_graph.raw_graph
8
68
  end
@@ -33,22 +93,149 @@ module Pacer
33
93
  def drop_handler(h)
34
94
  # todo
35
95
  end
36
- end
37
96
 
38
- class FactoryContainer
39
- attr_reader :factory
97
+ # NOTE: if you use lightweight edges (they are on by default), g.e will only return edges that have been reified by having properties added to
98
+ # them.
99
+ def lightweight_edges
100
+ blueprints_graph.useLightweightEdges
101
+ end
102
+
103
+ alias lightweight_edges? lightweight_edges
104
+
105
+ def lightweight_edges=(b)
106
+ blueprints_graph.useLightweightEdges = b
107
+ end
108
+
109
+ def use_class_for_edge_label
110
+ blueprints_graph.useClassForEdgeLabel
111
+ end
112
+
113
+ def use_class_for_edge_label=(b)
114
+ blueprints_graph.useClassForEdgeLabel = b
115
+ end
116
+
117
+ def use_class_for_vertex_label
118
+ blueprints_graph.useClassForVertexLabel
119
+ end
120
+
121
+ def use_class_for_vertex_label=(b)
122
+ blueprints_graph.useClassForVertexLabel = b
123
+ end
124
+
125
+ def sql(extensions, sql = nil, args)
126
+ if extensions.is_a? String
127
+ args = sql
128
+ sql = extensions
129
+ extensions = []
130
+ end
131
+ sql_command(sql, args).iterator.to_route(based_on: self.v(extensions))
132
+ end
133
+
134
+ def sql_e(extensions, sql = nil, args)
135
+ if extensions.is_a? String
136
+ args = sql
137
+ sql = extensions
138
+ extensions = []
139
+ end
140
+ sql_command(sql, args).iterator.to_route(based_on: self.e(extensions))
141
+ end
142
+
143
+ def sql_command(sql, args)
144
+ unless args.frozen?
145
+ args = args.map { |a| encoder.encode_property(a) }
146
+ end
147
+ blueprints_graph.command(OCommandSQL.new(sql)).execute(*args)
148
+ end
149
+
150
+ # Find or create a vertex or edge class
151
+ def orient_type!(t, element_type = :vertex)
152
+ r = orient_type(t, element_type)
153
+ if r
154
+ r
155
+ else
156
+ in_pure_transaction do
157
+ t = if element_type == :vertex
158
+ blueprints_graph.createVertexType(t.to_s)
159
+ elsif element_type == :edge
160
+ blueprints_graph.createEdgeType(t.to_s)
161
+ end
162
+ OrientType.new self, element_type, t if t
163
+ end
164
+ end
165
+ end
40
166
 
41
- def initialize(f)
42
- @factory = f
167
+ def orient_type(t = nil, element_type = :vertex)
168
+ t ||= :V if element_type == :vertex
169
+ t ||= :E if element_type == :edge
170
+ if t.is_a? String or t.is_a? Symbol
171
+ t = if element_type == :vertex
172
+ blueprints_graph.getVertexType(t.to_s)
173
+ elsif element_type == :edge
174
+ blueprints_graph.getEdgeType(t.to_s)
175
+ end
176
+ OrientType.new self, element_type, t if t
177
+ elsif t.is_a? OrientType
178
+ t
179
+ end
43
180
  end
44
181
 
45
- def get
46
- factory.get
182
+ def property_type(t)
183
+ if t.is_a? String or t.is_a? Symbol
184
+ OTYPES[t.to_sym]
185
+ else
186
+ t
187
+ end
47
188
  end
48
189
 
49
- # Pacer calls shutdown on all cached graphs when it exits. Orient caches this factory.
50
- def shutdown
51
- factory.close
190
+ def index_type(t)
191
+ if t.is_a? String or t.is_a? Symbol
192
+ ITYPES[t.to_sym]
193
+ else
194
+ t
195
+ end
196
+ end
197
+
198
+ def add_vertex_types(*types)
199
+ in_pure_transaction do
200
+ types.map do |t|
201
+ existing = orient_type(t, :vertex)
202
+ if existing
203
+ existing
204
+ else
205
+ t = blueprints_graph.createVertexType(t.to_s)
206
+ OrientType.new(self, :vertex, t) if t
207
+ end
208
+ end
209
+ end
210
+ end
211
+
212
+ def create_key_index(name, element_type = :vertex, itype = :non_unique)
213
+ type = orient_type(nil, element_type)
214
+ type.property!(name).create_index!(itype) if type
215
+ end
216
+
217
+ def drop_key_index(name, element_type = :vertex)
218
+ in_pure_transaction do
219
+ super
220
+ end
221
+ end
222
+
223
+ private
224
+
225
+ def in_pure_transaction
226
+ if @in_pure_transaction
227
+ yield
228
+ else
229
+ begin
230
+ @in_pure_transaction = true
231
+ transaction do
232
+ orient_graph.rollback
233
+ yield
234
+ end
235
+ ensure
236
+ @in_pure_transaction = false
237
+ end
238
+ end
52
239
  end
53
240
  end
54
241
  end
@@ -0,0 +1,88 @@
1
+ module Pacer::Orient
2
+ class OrientType
3
+ extend Forwardable
4
+
5
+ attr_reader :graph, :element_type, :type
6
+
7
+ # TODO: setters like in Property, once I figure out what these settings do.
8
+
9
+ def_delegators :@type,
10
+ :name, :short_name, :type_name, :abstract?, :strict_mode?,
11
+ :base_classes,
12
+ :class_indexes, :indexes, :involved_indexes,
13
+ :size, :over_size,
14
+ :cluster_selection, :cluster_ids,
15
+ :custom_keys, :custom
16
+
17
+ alias class_indices class_indexes
18
+ alias indices indexes
19
+ alias involved_indices involved_indexes
20
+
21
+ def initialize(graph, element_type, type)
22
+ @graph = graph
23
+ @element_type = type
24
+ @type = type
25
+ end
26
+
27
+ def raw_property(name)
28
+ if name.is_a? Symbol or name.is_a? String
29
+ type.getProperty name.to_s
30
+ else
31
+ name
32
+ end
33
+ end
34
+
35
+ def indexed?(name)
36
+ p = property(name)
37
+ p.indexed? if p
38
+ end
39
+
40
+ def property(name)
41
+ p = raw_property(name)
42
+ Property.new self, p if p
43
+ end
44
+
45
+ def property!(name, otype)
46
+ p = raw_property(name)
47
+ unless p
48
+ p = graph.send(:in_pure_transaction) do
49
+ type.createProperty(name.to_s, graph.property_type(otype))
50
+ end
51
+ end
52
+ Property.new self, p
53
+ end
54
+
55
+ def super_class
56
+ if base_classes.any?
57
+ OrientType.new graph, type.getSuperClass
58
+ end
59
+ end
60
+
61
+ def set_super_class(sc)
62
+ graph.send(:in_pure_transaction) do
63
+ type.setSuperClass graph.orient_type(element_type, sc)
64
+ end
65
+ self
66
+ end
67
+
68
+ def drop_property!(name)
69
+ graph.send(:in_pure_transaction) do
70
+ type.dropProperty name
71
+ end
72
+ end
73
+
74
+ def properties
75
+ type.properties.map { |p| Property.new self, p }
76
+ end
77
+
78
+ def indexed_properties
79
+ type.indexedProperties.map { |p| Property.new self, p }
80
+ end
81
+
82
+ def inspect
83
+ abs = "Abstract" if abstract?
84
+ strict = " (strict)" if strict_mode?
85
+ "#<#{ abs }#{ type_name.capitalize }Type #{ name }#{ strict }>"
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,60 @@
1
+ module Pacer::Orient
2
+ class Property
3
+ extend Forwardable
4
+
5
+ attr_reader :el_type, :property
6
+
7
+ def_delegators :@property,
8
+ :name, :full_name, :not_null?, :collate,
9
+ :mandatory?, :readonly?, :min, :max, :index,
10
+ :indexed?, :regexp, :type, :custom, :custom_keys
11
+
12
+ def initialize(el_type, property)
13
+ @el_type = el_type
14
+ @property = property
15
+ end
16
+
17
+ def graph
18
+ el_type.graph
19
+ end
20
+
21
+ def create_index!(index_type = :not_unique)
22
+ unless indexed?
23
+ graph.send(:in_pure_transaction) do
24
+ property.createIndex graph.index_type(index_type)
25
+ end
26
+ end
27
+ self
28
+ end
29
+
30
+ def drop_index!
31
+ graph.drop_key_index name if indexed?
32
+ self
33
+ end
34
+
35
+ def set_type!(t)
36
+ # Not implemented as of 1.7.8
37
+ fail Pacer::InternalError.new("Type migration is a planned Orient 2.x feature")
38
+ end
39
+
40
+ def drop!
41
+ el_type.drop_property! name
42
+ nil
43
+ end
44
+
45
+ [ :set_name, :set_not_null, :set_collate,
46
+ :set_mandatory, :set_readonly, :set_min, :set_max,
47
+ :set_regexp, :set_custom, :remove_custom, :clear_custom
48
+ ].each do |setter|
49
+ define_method(setter) do |*args|
50
+ property.send setter, *args
51
+ self
52
+ end
53
+ end
54
+
55
+ def inspect
56
+ "#<#{ el_type.type_name.capitalize }Property #{ el_type.name }.#{ property.name } (#{ type })>"
57
+ end
58
+ end
59
+ end
60
+
@@ -0,0 +1,5 @@
1
+ class Java::ComOrientechnologiesOrientCoreId::ORecordId
2
+ def inspect
3
+ "<'#{to_s}'>"
4
+ end
5
+ end
@@ -13,17 +13,24 @@ class RSpec::GraphRunner
13
13
 
14
14
  def orient_graph
15
15
  return @orient_graph if @orient_graph
16
- @orient_graph = Pacer.orient
16
+ path1 = File.expand_path('/tmp/spec.orient')
17
+ dir = Pathname.new(path1)
18
+ dir.rmtree if dir.exist?
19
+ @orient_graph = Pacer.orient(path1, lightweight_edges: false, edge_classes: false)
17
20
  end
18
21
 
22
+ # Can't use 2 graphs on 1 thread.
19
23
  def orient_graph2
20
24
  return @orient_graph2 if @orient_graph2
21
- @orient_graph2 = Pacer.orient
25
+ @orient_graph2 = Pacer.tg
22
26
  end
23
27
 
24
28
  def orient_graph_no_indices
25
29
  return @orient_graph_no_indices if @orient_graph_no_indices
26
- @orient_graph_no_indices = Pacer.orient
30
+ path3 = File.expand_path('/tmp/spec.orient.3')
31
+ dir = Pathname.new(path3)
32
+ dir.rmtree if dir.exist?
33
+ @orient_graph_no_indices = Pacer.orient(path3, lightweight_edges: false, edge_classes: false)
27
34
  end
28
35
  end
29
36
  end
@@ -1,10 +1,10 @@
1
1
  module Pacer
2
2
  module Orient
3
- VERSION = "2.1.0.pre"
3
+ VERSION = "2.1.1"
4
4
  JAR = "pacer-orient-#{ VERSION }-standalone.jar"
5
5
  JAR_PATH = "lib/#{ JAR }"
6
6
  ORIENT_VERSION = "1.7.8"
7
7
  PIPES_VERSION = "2.5.0"
8
- PACER_REQ = ">= 1.5.0"
8
+ PACER_REQ = ">= 1.5.2"
9
9
  end
10
10
  end
data/pom.xml CHANGED
@@ -8,7 +8,7 @@
8
8
  <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
9
9
  <properties>
10
10
  <orient.version>1.7.8</orient.version>
11
- <gem.version>2.1.0.pre</gem.version>
11
+ <gem.version>2.1.1</gem.version>
12
12
  <pipes.version>2.5.0</pipes.version>
13
13
  </properties>
14
14
  <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacer-orient
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.pre
4
+ version: 2.1.1
5
5
  platform: java
6
6
  authors:
7
7
  - Darrick Wiebe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-12 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pacer
@@ -16,12 +16,12 @@ dependencies:
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.5.0
19
+ version: 1.5.2
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - '>='
23
23
  - !ruby/object:Gem::Version
24
- version: 1.5.0
24
+ version: 1.5.2
25
25
  prerelease: false
26
26
  type: :runtime
27
27
  description: Orient jars and related code for Pacer
@@ -37,13 +37,17 @@ files:
37
37
  - Rakefile
38
38
  - lib/pacer-orient.rb
39
39
  - lib/pacer-orient/encoder.rb
40
+ - lib/pacer-orient/factory_container.rb
40
41
  - lib/pacer-orient/graph.rb
42
+ - lib/pacer-orient/orient_type.rb
43
+ - lib/pacer-orient/property.rb
44
+ - lib/pacer-orient/record_id.rb
41
45
  - lib/pacer-orient/rspec.rb
42
46
  - lib/pacer-orient/version.rb
43
47
  - pacer-orient.gemspec
44
48
  - pom.xml
45
49
  - pom/standalone.xml
46
- - lib/pacer-orient-2.1.0.pre-standalone.jar
50
+ - lib/pacer-orient-2.1.1-standalone.jar
47
51
  homepage: http://orientechnologies.com
48
52
  licenses: []
49
53
  metadata: {}
@@ -58,9 +62,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
58
62
  version: '0'
59
63
  required_rubygems_version: !ruby/object:Gem::Requirement
60
64
  requirements:
61
- - - '>'
65
+ - - '>='
62
66
  - !ruby/object:Gem::Version
63
- version: 1.3.1
67
+ version: '0'
64
68
  requirements: []
65
69
  rubyforge_project: pacer-orient
66
70
  rubygems_version: 2.1.9