Module: MARC::Spec::Queries::DSL
- Defined in:
- lib/marc/spec/queries/dsl.rb
Instance Method Summary collapse
- #all_c(*c) ⇒ Object
- #any_c(*c) ⇒ Object
- #c(*args) ⇒ Object
- #cspec(chars) ⇒ Object
- #cstr(s) ⇒ Object
- #indv(ind) ⇒ Object
- #pos(p) ⇒ Object
- #q(t = nil, s: nil, c: nil, sq: []) ⇒ Object
- #rng(from, to = nil) ⇒ Object
- #sf(code, index = nil) ⇒ Object
- #sfv(sf, cspc = nil) ⇒ Object
- #tag(t, index = nil) ⇒ Object
- #vfv(sf) ⇒ Object
Instance Method Details
#all_c(*c) ⇒ Object
19 20 21 |
# File 'lib/marc/spec/queries/dsl.rb', line 19 def all_c(*c) Condition.all_of(*c) end |
#any_c(*c) ⇒ Object
23 24 25 |
# File 'lib/marc/spec/queries/dsl.rb', line 23 def any_c(*c) Condition.any_of(*c) end |
#c(*args) ⇒ Object
47 48 49 50 51 52 53 54 |
# 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) ⇒ Object
56 57 58 59 |
# File 'lib/marc/spec/queries/dsl.rb', line 56 def cspec(chars) # noinspection RubyArgCount CharacterSpec.new(chars) end |
#cstr(s) ⇒ Object
43 44 45 |
# File 'lib/marc/spec/queries/dsl.rb', line 43 def cstr(s) ComparisonString.new(s) end |
#indv(ind) ⇒ Object
61 62 63 |
# File 'lib/marc/spec/queries/dsl.rb', line 61 def indv(ind) IndicatorValue.new(ind) end |
#pos(p) ⇒ Object
39 40 41 |
# File 'lib/marc/spec/queries/dsl.rb', line 39 def pos(p) Position.new(p) end |
#q(t = nil, s: nil, c: nil, sq: []) ⇒ Object
35 36 37 |
# 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) ⇒ Object
31 32 33 |
# File 'lib/marc/spec/queries/dsl.rb', line 31 def rng(from, to = nil) AlNumRange.new(from, to) end |
#sf(code, index = nil) ⇒ Object
65 66 67 |
# File 'lib/marc/spec/queries/dsl.rb', line 65 def sf(code, index = nil) Subfield.new(code, index: index) end |
#sfv(sf, cspc = nil) ⇒ Object
69 70 71 72 |
# 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) ⇒ Object
74 75 76 |
# File 'lib/marc/spec/queries/dsl.rb', line 74 def tag(t, index = nil) Tag.new(t, index) end |
#vfv(sf) ⇒ Object
27 28 29 |
# File 'lib/marc/spec/queries/dsl.rb', line 27 def vfv(sf) sf end |