Skip to content

Commit

Permalink
Finish 3.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
gkellogg committed Jun 16, 2020
2 parents 390633a + c3ea0ab commit 43544a3
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 10 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.1.1
3.1.2
2 changes: 1 addition & 1 deletion lib/sparql/algebra/expression.rb
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ def constant?
# @return [Expression] a copy of `self`
# @see RDF::Query#optimize
def optimize(**options)
self.dup.optimize!(**options)
self.deep_dup.optimize!(**options)
end

##
Expand Down
23 changes: 18 additions & 5 deletions lib/sparql/algebra/extensions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,14 @@ def to_sse
# @return [Object] a copy of `self`
# @see SPARQL::Algebra::Expression#optimize
def optimize(**options)
self.dup
self.deep_dup
end

##
# Default for deep_dup is shallow dup
# @return [Object]
def deep_dup
dup
end
end

Expand Down Expand Up @@ -201,8 +208,8 @@ def validate!

##
# Deep duplicate
def dup
map(&:dup)
def deep_dup
map(&:deep_dup)
end
end

Expand All @@ -224,7 +231,13 @@ def to_sxp; to_sxp_bin; end
# @return [Hash] a copy of `self`
# @see SPARQL::Algebra::Expression#optimize
def optimize(**options)
self.dup
self.deep_dup
end

##
# Deep duplicate
def deep_dup
inject({}) {|memo, (k, v)| memo.merge(k => v.deep_dup)}
end
end

Expand Down Expand Up @@ -264,7 +277,7 @@ def vars
# @return [RDF::Term] a copy of `self`
# @see SPARQL::Algebra::Expression#optimize
def optimize(**options)
optimized = self.dup
optimized = self.deep_dup
optimized.lexical = nil if optimized.respond_to?(:lexical=)
optimized
end
Expand Down
4 changes: 2 additions & 2 deletions lib/sparql/algebra/operator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,8 @@ def initialize(*operands)

##
# Deep duplicate operands
def dup
self.class.new(*operands.map(&:dup))
def deep_dup
self.class.new(*operands.map(&:deep_dup))
end

##
Expand Down
2 changes: 1 addition & 1 deletion sparql.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Gem::Specification.new do |gem|
gem.requirements = []
gem.add_runtime_dependency 'rdf', '~> 3.1', '>= 3.1.2'
gem.add_runtime_dependency 'rdf-aggregate-repo', '~> 3.1'
gem.add_runtime_dependency 'ebnf', '~> 1.2'
gem.add_runtime_dependency 'ebnf', '>= 1.1' #'~> 2.0'
gem.add_runtime_dependency 'builder', '~> 3.2'
gem.add_runtime_dependency 'sxp', '~> 1.1'
gem.add_runtime_dependency 'sparql-client', '~> 3.1'
Expand Down

0 comments on commit 43544a3

Please sign in to comment.