debian-mirror-gitlab/debian/gems-compat/arel-8.0.0/lib/arel/collectors/bind.rb

37 lines
593 B
Ruby

# frozen_string_literal: true
module Arel
module Collectors
class Bind
def initialize
@parts = []
end
def << str
@parts << str
self
end
def add_bind bind
@parts << bind
self
end
def value; @parts; end
def substitute_binds bvs
bvs = bvs.dup
@parts.map do |val|
if Arel::Nodes::BindParam === val
bvs.shift
else
val
end
end
end
def compile bvs
substitute_binds(bvs).join
end
end
end
end