module MARC::Spec::Queries::DSL
Public Instance Methods
all_c(*c)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 19 def all_c(*c) Condition.all_of(*c) end
any_c(*c)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 23 def any_c(*c) Condition.any_of(*c) end
c(*args)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 47 def c(*args) case args.size when 2 Condition.new(args[0], right: args[1]) when 3 Condition.new(args[1], left: args[0], right: args[2]) end end
cspec(chars)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 56 def cspec(chars) # noinspection RubyArgCount CharacterSpec.new(chars) end
cstr(s)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 43 def cstr(s) ComparisonString.new(s) end
indv(ind)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 61 def indv(ind) IndicatorValue.new(ind) end
pos(p)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 39 def pos(p) Position.new(p) end
q(t = nil, s: nil, c: nil, sq: [])
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 35 def q(t = nil, s: nil, c: nil, sq: []) Query.new(tag: t, selector: s, condition: c, subqueries: sq) end
rng(from, to = nil)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 31 def rng(from, to = nil) AlNumRange.new(from, to) end
sf(code, index = nil)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 65 def sf(code, index = nil) Subfield.new(code, index: index) end
sfv(sf, cspc = nil)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 69 def sfv(sf, cspc = nil) cspc = cspec(cspc) if cspc.is_a?(PositionOrRange) SubfieldValue.new(sf, cspc) end
tag(t, index = nil)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 74 def tag(t, index = nil) Tag.new(t, index) end
vfv(sf)
click to toggle source
# File lib/marc/spec/queries/dsl.rb, line 27 def vfv(sf) sf end