Class: MQ::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/mq/query.rb

Overview

Programmatic query builder for constructing mq queries in Ruby.

Examples:

Basic selector

MQ::Query.h2
# => ".h2"

Selector with filter

MQ::Query.h2.select { contains("Feature") }
# => '.h2 | select(contains("Feature"))'

Pipe operator

MQ::Query.h2 | MQ::Query.to_text
# => ".h2 | to_text()"

Attribute access

MQ::Query.link.url
# => ".link | .url"

Complex chain

MQ::Query.h2
  .select { contains("Section") & starts_with("##") }
  .to_text
# => '.h2 | select(contains("Section") and starts_with("##")) | to_text()'

Using with MQ.run

result = MQ.run(MQ::Query.h2.select { contains("Feature") }, content)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(expr = "") ⇒ Query

Returns a new instance of Query.



31
32
33
# File 'lib/mq/query.rb', line 31

def initialize(expr = "")
  @expr = expr.to_s
end

Class Method Details

.alignObject



435
# File 'lib/mq/query.rb', line 435

def align      = new(".align")

.altObject



428
# File 'lib/mq/query.rb', line 428

def alt        = new(".alt")

.blockquoteObject



356
# File 'lib/mq/query.rb', line 356

def blockquote = new(".blockquote")

.checkedObject



432
# File 'lib/mq/query.rb', line 432

def checked    = new(".checked")

.codeObject

Block element selectors



354
# File 'lib/mq/query.rb', line 354

def code       = new(".code")

.code_inlineObject

Inline element selectors



374
# File 'lib/mq/query.rb', line 374

def code_inline  = new(".code_inline")

.columnObject



433
# File 'lib/mq/query.rb', line 433

def column     = new(".column")

.definitionObject



368
# File 'lib/mq/query.rb', line 368

def definition = new(".definition")

.deleteObject



363
# File 'lib/mq/query.rb', line 363

def delete     = new(".delete")

.depthObject



429
# File 'lib/mq/query.rb', line 429

def depth      = new(".depth")

.doneObject



384
# File 'lib/mq/query.rb', line 384

def done       = new(".done")

.emphasisObject



362
# File 'lib/mq/query.rb', line 362

def emphasis   = new(".emphasis")

.fenceObject



426
# File 'lib/mq/query.rb', line 426

def fence      = new(".fence")

.footnoteObject



369
# File 'lib/mq/query.rb', line 369

def footnote   = new(".footnote")

.footnote_refObject



378
# File 'lib/mq/query.rb', line 378

def footnote_ref = new(".footnote_ref")

.headingObject

Generic heading (any level)



351
# File 'lib/mq/query.rb', line 351

def heading    = new(".heading")

.hrObject



357
# File 'lib/mq/query.rb', line 357

def hr         = new(".hr")

.htmlObject



367
# File 'lib/mq/query.rb', line 367

def html       = new(".html")

.imageObject



358
# File 'lib/mq/query.rb', line 358

def image      = new(".image")

.image_refObject



377
# File 'lib/mq/query.rb', line 377

def image_ref    = new(".image_ref")

.langObject



424
# File 'lib/mq/query.rb', line 424

def lang       = new(".lang")

.levelObject



430
# File 'lib/mq/query.rb', line 430

def level      = new(".level")

.line_breakObject



379
# File 'lib/mq/query.rb', line 379

def line_break   = new(".break")


359
# File 'lib/mq/query.rb', line 359

def link       = new(".link")


376
# File 'lib/mq/query.rb', line 376

def link_ref     = new(".link_ref")

.listObject

— List selector —



387
# File 'lib/mq/query.rb', line 387

def list       = new(".[]")

.list_at(n) ⇒ Object

List item at a specific index: .[n]



390
391
392
# File 'lib/mq/query.rb', line 390

def list_at(n)
  new(".[#{n}]")
end

.mathObject



364
# File 'lib/mq/query.rb', line 364

def math       = new(".math")

.math_inlineObject



375
# File 'lib/mq/query.rb', line 375

def math_inline  = new(".math_inline")

.mdx_flow_expressionObject



415
# File 'lib/mq/query.rb', line 415

def mdx_flow_expression   = new(".mdx_flow_expression")

.mdx_js_esmObject



416
# File 'lib/mq/query.rb', line 416

def mdx_js_esm            = new(".mdx_js_esm")

.mdx_jsx_flow_elementObject

— MDX selectors —



412
# File 'lib/mq/query.rb', line 412

def mdx_jsx_flow_element  = new(".mdx_jsx_flow_element")

.mdx_jsx_text_elementObject



414
# File 'lib/mq/query.rb', line 414

def mdx_jsx_text_element  = new(".mdx_jsx_text_element")

.mdx_text_expressionObject



413
# File 'lib/mq/query.rb', line 413

def mdx_text_expression   = new(".mdx_text_expression")

.metaObject



425
# File 'lib/mq/query.rb', line 425

def meta       = new(".meta")

.node_valuesObject



423
# File 'lib/mq/query.rb', line 423

def node_values = new(".values")

.orderedObject



431
# File 'lib/mq/query.rb', line 431

def ordered    = new(".ordered")

.paragraphObject



355
# File 'lib/mq/query.rb', line 355

def paragraph  = new(".p")

.property(key) ⇒ Object

Dict property selector: .“key”



438
439
440
# File 'lib/mq/query.rb', line 438

def property(key)
  new(".\"#{key}\"")
end

.recursiveObject

Recursive / deep selector (..)



419
# File 'lib/mq/query.rb', line 419

def recursive  = new("..")

.rowObject



434
# File 'lib/mq/query.rb', line 434

def row        = new(".row")

.select(filter = nil) { ... } ⇒ Query

Class-level select (no leading selector)

Parameters:

  • filter (Filter, String, nil) (defaults to: nil)

Yields:

Returns:



447
448
449
450
# File 'lib/mq/query.rb', line 447

def select(filter = nil, &block)
  filter_str = new.send(:resolve_filter, filter, &block)
  new("select(#{filter_str})")
end

.strongObject



361
# File 'lib/mq/query.rb', line 361

def strong     = new(".strong")

.tableObject



365
# File 'lib/mq/query.rb', line 365

def table      = new(".table")

.table_alignObject



366
# File 'lib/mq/query.rb', line 366

def table_align = new(".table_align")

.table_cell(r, c) ⇒ Object

A specific cell: .[row]



407
408
409
# File 'lib/mq/query.rb', line 407

def table_cell(r, c)
  new(".[#{r}][#{c}]")
end

.table_col(n) ⇒ Object

All cells in a specific column: .[][n]



402
403
404
# File 'lib/mq/query.rb', line 402

def table_col(n)
  new(".[][#{n}]")
end

.table_row(n) ⇒ Object

All cells in a specific row: .[n][]



397
398
399
# File 'lib/mq/query.rb', line 397

def table_row(n)
  new(".[#{n}][]")
end

.taskObject

Task list selectors



382
# File 'lib/mq/query.rb', line 382

def task       = new(".task")

.textObject



360
# File 'lib/mq/query.rb', line 360

def text       = new(".text")

.to_markdownObject



453
# File 'lib/mq/query.rb', line 453

def to_markdown = new("to_markdown()")

.to_textObject



452
# File 'lib/mq/query.rb', line 452

def to_text     = new("to_text()")

.todoObject



383
# File 'lib/mq/query.rb', line 383

def todo       = new(".todo")

.tomlObject



370
# File 'lib/mq/query.rb', line 370

def toml       = new(".toml")

.urlObject



427
# File 'lib/mq/query.rb', line 427

def url        = new(".url")

.valueObject

— Attribute selectors (as standalone starting points) —



422
# File 'lib/mq/query.rb', line 422

def value      = new(".value")

.yamlObject



371
# File 'lib/mq/query.rb', line 371

def yaml       = new(".yaml")

Instance Method Details

#absObject



162
# File 'lib/mq/query.rb', line 162

def abs            = pipe_with("abs()")

#addObject



76
# File 'lib/mq/query.rb', line 76

def add            = pipe_with("add")

#alignObject



247
# File 'lib/mq/query.rb', line 247

def align          = pipe_with(".align")

#altObject



236
# File 'lib/mq/query.rb', line 236

def alt            = pipe_with(".alt")

#ascii_downcaseObject



139
# File 'lib/mq/query.rb', line 139

def ascii_downcase = pipe_with("ascii_downcase()")

#ascii_upcaseObject



140
# File 'lib/mq/query.rb', line 140

def ascii_upcase   = pipe_with("ascii_upcase()")

#attr(name) ⇒ Object



254
255
256
# File 'lib/mq/query.rb', line 254

def attr(name)
  pipe_with("attr(#{name.inspect})")
end

#base64Object



195
# File 'lib/mq/query.rb', line 195

def base64         = pipe_with("base64()")

#base64dObject



196
# File 'lib/mq/query.rb', line 196

def base64d        = pipe_with("base64d()")

#base64urlObject



197
# File 'lib/mq/query.rb', line 197

def base64url      = pipe_with("base64url()")

#base64urldObject



198
# File 'lib/mq/query.rb', line 198

def base64urld     = pipe_with("base64urld()")

#basenameObject



206
# File 'lib/mq/query.rb', line 206

def basename       = pipe_with("basename()")

#capture(pattern) ⇒ Object



158
159
160
# File 'lib/mq/query.rb', line 158

def capture(pattern)
  pipe_with("capture(#{pattern.inspect})")
end

#ceilObject



163
# File 'lib/mq/query.rb', line 163

def ceil           = pipe_with("ceil()")

#checkedObject



244
# File 'lib/mq/query.rb', line 244

def checked        = pipe_with(".checked")

#childrenObject



88
# File 'lib/mq/query.rb', line 88

def children       = pipe_with(".children")

#coalesce(default) ⇒ Object



191
192
193
# File 'lib/mq/query.rb', line 191

def coalesce(default)
  pipe_with("coalesce(#{default.inspect})")
end

#columnObject



245
# File 'lib/mq/query.rb', line 245

def column         = pipe_with(".column")

#compactObject



82
# File 'lib/mq/query.rb', line 82

def compact        = pipe_with("compact")

#debugObject



189
# File 'lib/mq/query.rb', line 189

def debug          = pipe_with("debug")

#del(value) ⇒ Object



122
123
124
# File 'lib/mq/query.rb', line 122

def del(value)
  pipe_with("del(#{value.inspect})")
end

#depthObject



240
# File 'lib/mq/query.rb', line 240

def depth          = pipe_with(".depth")

#dirnameObject



207
# File 'lib/mq/query.rb', line 207

def dirname        = pipe_with("dirname()")

#downcaseObject



137
# File 'lib/mq/query.rb', line 137

def downcase       = pipe_with("downcase()")

#emptyObject



79
# File 'lib/mq/query.rb', line 79

def empty          = pipe_with("empty")

#entriesObject



87
# File 'lib/mq/query.rb', line 87

def entries        = pipe_with("entries")

#expObject



170
# File 'lib/mq/query.rb', line 170

def exp            = pipe_with("exp()")

#explodeObject



141
# File 'lib/mq/query.rb', line 141

def explode        = pipe_with("explode()")

#extnameObject



208
# File 'lib/mq/query.rb', line 208

def extname        = pipe_with("extname()")

#fenceObject



234
# File 'lib/mq/query.rb', line 234

def fence          = pipe_with(".fence")

#firstObject



77
# File 'lib/mq/query.rb', line 77

def first          = pipe_with("first")

#flattenObject



84
# File 'lib/mq/query.rb', line 84

def flatten        = pipe_with("flatten")

#floorObject



164
# File 'lib/mq/query.rb', line 164

def floor          = pipe_with("floor()")

#from_hexObject



202
# File 'lib/mq/query.rb', line 202

def from_hex       = pipe_with("from_hex()")

#get(key) ⇒ Object



215
216
217
# File 'lib/mq/query.rb', line 215

def get(key)
  pipe_with("get(#{key.inspect})")
end

#get_titleObject



262
# File 'lib/mq/query.rb', line 262

def get_title      = pipe_with("get_title")

#get_urlObject



263
# File 'lib/mq/query.rb', line 263

def get_url        = pipe_with("get_url")

#gsub(pattern, replacement) ⇒ Object



146
147
148
# File 'lib/mq/query.rb', line 146

def gsub(pattern, replacement)
  pipe_with("gsub(#{pattern.inspect}, #{replacement.inspect})")
end

#identObject



238
# File 'lib/mq/query.rb', line 238

def ident          = pipe_with(".ident")

#implodeObject



142
# File 'lib/mq/query.rb', line 142

def implode        = pipe_with("implode()")

#index(value) ⇒ Object



114
115
116
# File 'lib/mq/query.rb', line 114

def index(value)
  pipe_with("index(#{value.inspect})")
end

#insert(idx, val) ⇒ Object



126
127
128
# File 'lib/mq/query.rb', line 126

def insert(idx, val)
  pipe_with("insert(#{idx}, #{val.inspect})")
end

#internObject



144
# File 'lib/mq/query.rb', line 144

def intern         = pipe_with("intern()")

#is_nanObject



172
# File 'lib/mq/query.rb', line 172

def is_nan         = pipe_with("is_nan()")

#item_indexObject



242
# File 'lib/mq/query.rb', line 242

def item_index     = pipe_with(".index")

#join(separator) ⇒ Object



94
95
96
# File 'lib/mq/query.rb', line 94

def join(separator)
  pipe_with("join(#{separator.inspect})")
end

#keysObject



85
# File 'lib/mq/query.rb', line 85

def keys           = pipe_with("keys")

#labelObject



239
# File 'lib/mq/query.rb', line 239

def label          = pipe_with(".label")

#langObject



232
# File 'lib/mq/query.rb', line 232

def lang           = pipe_with(".lang")

#lastObject



78
# File 'lib/mq/query.rb', line 78

def last           = pipe_with("last")

#lenObject



74
# File 'lib/mq/query.rb', line 74

def len            = pipe_with("len()")

#lengthObject



73
# File 'lib/mq/query.rb', line 73

def length         = pipe_with("length")

#levelObject



241
# File 'lib/mq/query.rb', line 241

def level          = pipe_with(".level")

#limit(n) ⇒ Object



102
103
104
# File 'lib/mq/query.rb', line 102

def limit(n)
  pipe_with("limit(#{n})")
end

#lnObject



168
# File 'lib/mq/query.rb', line 168

def ln             = pipe_with("ln()")

#log10Object



169
# File 'lib/mq/query.rb', line 169

def log10          = pipe_with("log10()")

#ltrimObject



135
# File 'lib/mq/query.rb', line 135

def ltrim          = pipe_with("ltrim()")

#map(filter = nil) { ... } ⇒ Query

Append a map() transformation.

Parameters:

  • filter (Filter, String, nil) (defaults to: nil)

    filter expression (or use block)

Yields:

Returns:



58
59
60
61
# File 'lib/mq/query.rb', line 58

def map(filter = nil, &block)
  filter_str = resolve_filter(filter, &block)
  pipe_with("map(#{filter_str})")
end

#max(other) ⇒ Object



182
183
184
# File 'lib/mq/query.rb', line 182

def max(other)
  pipe_with("max(#{other})")
end

#md5Object



199
# File 'lib/mq/query.rb', line 199

def md5            = pipe_with("md5()")

#mdx_nameObject



248
# File 'lib/mq/query.rb', line 248

def mdx_name       = pipe_with(".name")

#metaObject



233
# File 'lib/mq/query.rb', line 233

def meta           = pipe_with(".meta")

#min(other) ⇒ Object



178
179
180
# File 'lib/mq/query.rb', line 178

def min(other)
  pipe_with("min(#{other})")
end

#negate_valObject



171
# File 'lib/mq/query.rb', line 171

def negate_val     = pipe_with("negate()")

#nth(n) ⇒ Object



98
99
100
# File 'lib/mq/query.rb', line 98

def nth(n)
  pipe_with("nth(#{n})")
end

#orderedObject



243
# File 'lib/mq/query.rb', line 243

def ordered        = pipe_with(".ordered")

#path_join(other) ⇒ Object



211
212
213
# File 'lib/mq/query.rb', line 211

def path_join(other)
  pipe_with("path_join(#{other.inspect})")
end

#pow(n) ⇒ Object



174
175
176
# File 'lib/mq/query.rb', line 174

def pow(n)
  pipe_with("pow(#{n})")
end

#property(key) ⇒ Object

Access a dict property by key (generates .“key” selector)



224
225
226
# File 'lib/mq/query.rb', line 224

def property(key)
  pipe_with(".\"#{key}\"")
end

#range(n) ⇒ Object



106
107
108
# File 'lib/mq/query.rb', line 106

def range(n)
  pipe_with("range(#{n})")
end

#repeat(n) ⇒ Object



130
131
132
# File 'lib/mq/query.rb', line 130

def repeat(n)
  pipe_with("repeat(#{n})")
end

#replace(from, to) ⇒ Object



150
151
152
# File 'lib/mq/query.rb', line 150

def replace(from, to)
  pipe_with("replace(#{from.inspect}, #{to.inspect})")
end

#reverseObject



80
# File 'lib/mq/query.rb', line 80

def reverse        = pipe_with("reverse")

#rindex(value) ⇒ Object



118
119
120
# File 'lib/mq/query.rb', line 118

def rindex(value)
  pipe_with("rindex(#{value.inspect})")
end

#roundObject



165
# File 'lib/mq/query.rb', line 165

def round          = pipe_with("round()")

#rowObject



246
# File 'lib/mq/query.rb', line 246

def row            = pipe_with(".row")

#rtrimObject



136
# File 'lib/mq/query.rb', line 136

def rtrim          = pipe_with("rtrim()")

#select(filter = nil) { ... } ⇒ Query

Append a select() filter.

Parameters:

  • filter (Filter, String, nil) (defaults to: nil)

    filter expression (or use block)

Yields:

Returns:



48
49
50
51
# File 'lib/mq/query.rb', line 48

def select(filter = nil, &block)
  filter_str = resolve_filter(filter, &block)
  pipe_with("select(#{filter_str})")
end

#set(key, val) ⇒ Object



219
220
221
# File 'lib/mq/query.rb', line 219

def set(key, val)
  pipe_with("set(#{key.inspect}, #{val.inspect})")
end

#set_attr(name, val) ⇒ Object



258
259
260
# File 'lib/mq/query.rb', line 258

def set_attr(name, val)
  pipe_with("set_attr(#{name.inspect}, #{val.inspect})")
end

#set_check(val) ⇒ Object



265
266
267
# File 'lib/mq/query.rb', line 265

def set_check(val)
  pipe_with("set_check(#{val})")
end

#set_code_block_lang(lang) ⇒ Object



273
274
275
# File 'lib/mq/query.rb', line 273

def set_code_block_lang(lang)
  pipe_with("set_code_block_lang(#{lang.inspect})")
end

#set_list_ordered(val) ⇒ Object



277
278
279
# File 'lib/mq/query.rb', line 277

def set_list_ordered(val)
  pipe_with("set_list_ordered(#{val})")
end

#set_ref(ref) ⇒ Object



269
270
271
# File 'lib/mq/query.rb', line 269

def set_ref(ref)
  pipe_with("set_ref(#{ref.inspect})")
end

#sha256Object



200
# File 'lib/mq/query.rb', line 200

def sha256         = pipe_with("sha256()")

#sha512Object



201
# File 'lib/mq/query.rb', line 201

def sha512         = pipe_with("sha512()")

#slice(start, stop) ⇒ Object



110
111
112
# File 'lib/mq/query.rb', line 110

def slice(start, stop)
  pipe_with("slice(#{start}, #{stop})")
end

#sortObject



81
# File 'lib/mq/query.rb', line 81

def sort           = pipe_with("sort")

#split(separator) ⇒ Object



90
91
92
# File 'lib/mq/query.rb', line 90

def split(separator)
  pipe_with("split(#{separator.inspect})")
end

#sqrtObject



167
# File 'lib/mq/query.rb', line 167

def sqrt           = pipe_with("sqrt()")

#stemObject



209
# File 'lib/mq/query.rb', line 209

def stem           = pipe_with("stem()")

#test(pattern) ⇒ Object



154
155
156
# File 'lib/mq/query.rb', line 154

def test(pattern)
  pipe_with("test(#{pattern.inspect})")
end

#titleObject



237
# File 'lib/mq/query.rb', line 237

def title          = pipe_with(".title")

#to_arrayObject



69
# File 'lib/mq/query.rb', line 69

def to_array       = pipe_with("to_array()")

#to_bytesObject



70
# File 'lib/mq/query.rb', line 70

def to_bytes       = pipe_with("to_bytes()")

#to_code(lang = nil) ⇒ Object

Convert current value to a code block with the given language.



282
283
284
# File 'lib/mq/query.rb', line 282

def to_code(lang = nil)
  lang ? pipe_with("to_code(#{lang.inspect})") : pipe_with("to_code(null)")
end

#to_code_inlineObject



286
# File 'lib/mq/query.rb', line 286

def to_code_inline = pipe_with("to_code_inline()")

#to_emObject



318
# File 'lib/mq/query.rb', line 318

def to_em          = pipe_with("to_em()")

#to_h(depth) ⇒ Object

Convert current value to a heading of the given depth (1-6).



289
290
291
# File 'lib/mq/query.rb', line 289

def to_h(depth)
  pipe_with("to_h(#{depth})")
end

#to_hexObject



203
# File 'lib/mq/query.rb', line 203

def to_hex         = pipe_with("to_hex()")

#to_hex_strObject



204
# File 'lib/mq/query.rb', line 204

def to_hex_str     = pipe_with("to_hex()")

#to_hrObject



293
# File 'lib/mq/query.rb', line 293

def to_hr          = pipe_with("to_hr()")

#to_htmlObject



66
# File 'lib/mq/query.rb', line 66

def to_html        = pipe_with("to_html()")

#to_image(url, img_alt = nil, img_title = "") ⇒ Object

Create an image node. With all three args no auto-prepend occurs. With two args the current value becomes the alt text.



307
308
309
310
311
312
313
# File 'lib/mq/query.rb', line 307

def to_image(url, img_alt = nil, img_title = "")
  if img_alt
    pipe_with("to_image(#{url.inspect}, #{img_alt.inspect}, #{img_title.inspect})")
  else
    pipe_with("to_image(#{url.inspect}, #{img_title.inspect})")
  end
end

Create a link node. With all three args no auto-prepend occurs. With two args the current value becomes the link text.



297
298
299
300
301
302
303
# File 'lib/mq/query.rb', line 297

def to_link(url, text = nil, link_title = "")
  if text
    pipe_with("to_link(#{url.inspect}, #{text.inspect}, #{link_title.inspect})")
  else
    pipe_with("to_link(#{url.inspect}, #{link_title.inspect})")
  end
end

#to_markdownObject



64
# File 'lib/mq/query.rb', line 64

def to_markdown    = pipe_with("to_markdown()")

#to_markdown_stringObject



71
# File 'lib/mq/query.rb', line 71

def to_markdown_string = pipe_with("to_markdown_string()")

#to_mathObject



315
# File 'lib/mq/query.rb', line 315

def to_math        = pipe_with("to_math()")

#to_math_inlineObject



316
# File 'lib/mq/query.rb', line 316

def to_math_inline = pipe_with("to_math_inline()")

#to_md_list(list_level) ⇒ Object

Convert current value to a list item at the given nesting level.



322
323
324
# File 'lib/mq/query.rb', line 322

def to_md_list(list_level)
  pipe_with("to_md_list(#{list_level})")
end

#to_md_name(node_name) ⇒ Object

Convert current value to a markdown element with the given node name.



327
328
329
# File 'lib/mq/query.rb', line 327

def to_md_name(node_name)
  pipe_with("to_md_name(#{node_name.inspect})")
end

#to_md_table_cell(content, r, c) ⇒ Object

Build a table cell with content, row index, and column index.



337
338
339
# File 'lib/mq/query.rb', line 337

def to_md_table_cell(content, r, c)
  pipe_with("to_md_table_cell(#{content.inspect}, #{r}, #{c})")
end

#to_md_table_row(*cells) ⇒ Object

Build a table row from the given cell values.



332
333
334
# File 'lib/mq/query.rb', line 332

def to_md_table_row(*cells)
  pipe_with("to_md_table_row(#{cells.map(&:inspect).join(', ')})")
end

#to_md_textObject



319
# File 'lib/mq/query.rb', line 319

def to_md_text     = pipe_with("to_md_text()")

#to_mdxObject



65
# File 'lib/mq/query.rb', line 65

def to_mdx         = pipe_with("to_mdx()")

#to_numberObject



68
# File 'lib/mq/query.rb', line 68

def to_number      = pipe_with("to_number()")

#to_queryString Also known as: to_s

Returns the mq query string.

Returns:

  • (String)


343
# File 'lib/mq/query.rb', line 343

def to_query = @expr

#to_stringObject



67
# File 'lib/mq/query.rb', line 67

def to_string      = pipe_with("to_string()")

#to_strongObject



317
# File 'lib/mq/query.rb', line 317

def to_strong      = pipe_with("to_strong()")

#to_textObject



63
# File 'lib/mq/query.rb', line 63

def to_text        = pipe_with("to_text()")

#trimObject



134
# File 'lib/mq/query.rb', line 134

def trim           = pipe_with("trim()")

#truncObject



166
# File 'lib/mq/query.rb', line 166

def trunc          = pipe_with("trunc()")

#typeObject

— Type / logic —



188
# File 'lib/mq/query.rb', line 188

def type           = pipe_with("type")

#uniqObject



83
# File 'lib/mq/query.rb', line 83

def uniq           = pipe_with("uniq")

#upcaseObject



138
# File 'lib/mq/query.rb', line 138

def upcase         = pipe_with("upcase()")

#update(content) ⇒ Object



250
251
252
# File 'lib/mq/query.rb', line 250

def update(content)
  pipe_with("update(#{content.inspect})")
end

#urlObject



235
# File 'lib/mq/query.rb', line 235

def url            = pipe_with(".url")

#url_encodeObject



143
# File 'lib/mq/query.rb', line 143

def url_encode     = pipe_with("url_encode()")

#utf8bytelenObject



75
# File 'lib/mq/query.rb', line 75

def utf8bytelen    = pipe_with("utf8bytelen()")

#valueObject

Attribute selectors (access attributes of selected nodes) These generate attribute selector syntax (.url, .lang, etc.)



231
# File 'lib/mq/query.rb', line 231

def value          = pipe_with(".value")

#valuesObject



86
# File 'lib/mq/query.rb', line 86

def values         = pipe_with("values")

#|(other) ⇒ Query

Pipe two queries together using the | operator.

Parameters:

Returns:



39
40
41
# File 'lib/mq/query.rb', line 39

def |(other)
  self.class.new("#{@expr} | #{other.to_query}")
end