Module: Sourcerer::Jekyll::Liquid::Filters
- Defined in:
- lib/sourcerer/jekyll/liquid/filters.rb
Overview
Liquid-facing filters for Sourcerer's Jekyll-compatible runtime.
Public methods in this module are the filter wrappers consumed by Liquid.
Core transformation logic lives in Ops so behavior is reusable and easier
to test/refactor without changing the Liquid surface.
Constant Summary collapse
- CLI_ARGS_TEMPLATES =
Canonical template definitions loaded from specs/data/liquid-filters.yml
load_cli_args_parameters.freeze
Class Method Summary collapse
-
.load_cli_args_parameters ⇒ Object
Load canonical CLI args templates from YAML once at module load time.
Instance Method Summary collapse
- #base64(input) ⇒ Object
- #base64_decode(input) ⇒ Object
- #commentwrap(input, width = 80, prefix = nil) ⇒ Object
- #demarkupify(input) ⇒ Object
- #holds_liquid(input) ⇒ Object
- #html_escape(input) ⇒ Object
- #html_unescape(input) ⇒ Object
- #indent(input, spaces = 2, line1: false) ⇒ Object
- #inspect(input, format = 'html') ⇒ Object
- #inspect_yaml(input) ⇒ Object
- #match(input, pattern) ⇒ Object
- #md_to_adoc(input, wrap = 'ventilate') ⇒ Object
- #plusify(input) ⇒ Object
- #remove_last(input, string) ⇒ Object
- #render(input, vars = nil) ⇒ Object
- #replace_last(input, string, replacement = '') ⇒ Object
- #replace_regex(input, pattern, replacement = '') ⇒ Object
- #ruby_class(input) ⇒ Object
- #sluggerize(input, format = 'kebab') ⇒ Object
- #slugify(input) ⇒ Object
- #squish(input) ⇒ Object
- #store_list_concat(input, key_name) ⇒ Object
- #store_list_dupes(input, key_name) ⇒ Object
- #sum(input, property = nil) ⇒ Object
- #title_caps(input, hyphen = false) ⇒ Object
- #to_cli_args(input, template = nil, delimiter = ' ') ⇒ Object
- #to_json(input) ⇒ Object
- #to_yaml(input) ⇒ Object
- #wrap(input, width = 80) ⇒ Object
Class Method Details
.load_cli_args_parameters ⇒ Object
Load canonical CLI args templates from YAML once at module load time
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 19 def self.load_cli_args_parameters require 'yaml' # Path from filters.rb: lib/sourcerer/jekyll/liquid/filters.rb # To specs/data/liquid-filters.yml: go up 4 levels to gem root, then to specs/data yaml_path = File.join(__dir__, '../../../../specs/data/liquid-filters.yml') yaml_path = File.(yaml_path) data = YAML.load_file(yaml_path, permitted_classes: [Date, Time]) filters = data.is_a?(Array) ? data : data['filters'] || [] to_cli_args_filter = filters.find { |f| f['key'] == 'to_cli_args' } to_cli_args_filter&.dig('parameters') || {} end |
Instance Method Details
#base64(input) ⇒ Object
390 391 392 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 390 def base64 input Ops.base64(input) end |
#base64_decode(input) ⇒ Object
394 395 396 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 394 def base64_decode input Ops.base64_decode(input) end |
#commentwrap(input, width = 80, prefix = nil) ⇒ Object
410 411 412 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 410 def commentwrap input, width=80, prefix=nil Ops.commentwrap(input, width, prefix) end |
#demarkupify(input) ⇒ Object
382 383 384 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 382 def demarkupify input Ops.demarkupify(input) end |
#holds_liquid(input) ⇒ Object
430 431 432 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 430 def holds_liquid input Ops.holds_liquid(input) end |
#html_escape(input) ⇒ Object
398 399 400 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 398 def html_escape input Ops.html_escape(input) end |
#html_unescape(input) ⇒ Object
402 403 404 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 402 def html_unescape input Ops.html_unescape(input) end |
#indent(input, spaces = 2, line1: false) ⇒ Object
370 371 372 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 370 def indent input, spaces=2, line1: false Ops.indent(input, spaces, line1: line1) end |
#inspect(input, format = 'html') ⇒ Object
446 447 448 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 446 def inspect input, format='html' Ops.inspect(input, format) end |
#inspect_yaml(input) ⇒ Object
386 387 388 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 386 def inspect_yaml input Ops.inspect_yaml(input) end |
#match(input, pattern) ⇒ Object
426 427 428 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 426 def match input, pattern Ops.match(input, pattern) end |
#md_to_adoc(input, wrap = 'ventilate') ⇒ Object
366 367 368 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 366 def md_to_adoc input, wrap='ventilate' Ops.md_to_adoc(input, wrap) end |
#plusify(input) ⇒ Object
362 363 364 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 362 def plusify input Ops.plusify(input) end |
#remove_last(input, string) ⇒ Object
450 451 452 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 450 def remove_last input, string Ops.remove_last(input, string) end |
#render(input, vars = nil) ⇒ Object
350 351 352 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 350 def render input, vars=nil Ops.render(input, vars) end |
#replace_last(input, string, replacement = '') ⇒ Object
454 455 456 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 454 def replace_last input, string, replacement='' Ops.replace_last(input, string, replacement) end |
#replace_regex(input, pattern, replacement = '') ⇒ Object
422 423 424 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 422 def replace_regex input, pattern, replacement='' Ops.replace_regex(input, pattern, replacement) end |
#ruby_class(input) ⇒ Object
374 375 376 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 374 def ruby_class input Ops.ruby_class(input) end |
#sluggerize(input, format = 'kebab') ⇒ Object
354 355 356 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 354 def sluggerize input, format='kebab' Ops.sluggerize(input, format) end |
#slugify(input) ⇒ Object
358 359 360 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 358 def slugify(input, *) Ops.slugify(input, *) end |
#squish(input) ⇒ Object
458 459 460 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 458 def squish input Ops.squish(input) end |
#store_list_concat(input, key_name) ⇒ Object
438 439 440 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 438 def store_list_concat input, key_name Ops.store_list_concat(input, key_name) end |
#store_list_dupes(input, key_name) ⇒ Object
442 443 444 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 442 def store_list_dupes input, key_name Ops.store_list_dupes(input, key_name) end |
#sum(input, property = nil) ⇒ Object
462 463 464 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 462 def sum input, property=nil Ops.sum(input, property) end |
#title_caps(input, hyphen = false) ⇒ Object
378 379 380 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 378 def title_caps input, hyphen=false Ops.title_caps(input, hyphen) end |
#to_cli_args(input, template = nil, delimiter = ' ') ⇒ Object
434 435 436 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 434 def to_cli_args input, template=nil, delimiter=' ' Ops.to_cli_args(input, template, delimiter) end |
#to_json(input) ⇒ Object
418 419 420 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 418 def to_json input Ops.to_json(input) end |
#to_yaml(input) ⇒ Object
414 415 416 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 414 def to_yaml(input, *) Ops.to_yaml(input, *) end |
#wrap(input, width = 80) ⇒ Object
406 407 408 |
# File 'lib/sourcerer/jekyll/liquid/filters.rb', line 406 def wrap input, width=80 Ops.wrap(input, width) end |