module Faceter::Coercers
Collection of functions to coerce command arguments to node attributes
@api private
Public Class Methods
create(name = nil, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 47 def self.create(name = nil, **options) { name: name, keys: options.fetch(:from) } end
exclude(*keys, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 41 def self.exclude(*keys, **options) opts = keys.any? ? { only: keys } : options { selector: Selector.new(opts) } end
field(key)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 52 def self.field(key) { key: key } end
fold(**options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 57 def self.fold(**options) { key: options.fetch(:to) } end
prefix(prefix, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 14 def self.prefix(prefix, **options) filter = options.fetch(:separator) { "_" } nested = options.fetch(:nested) { false } selector = Selector.new(options) if options[:except] || options[:only] { prefix: prefix, separator: filter, nested: nested, selector: selector } end
rename(name, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 62 def self.rename(name, **options) { keys: { name => options.fetch(:to) } } end
unfold(**options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 36 def self.unfold(**options) { key: options.fetch(:from) } end
unwrap(*keys, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 22 def self.unwrap(*keys, **options) key = options.fetch(:from) opts = (keys.any? ? { only: keys } : {}).merge(options) { key: key, selector: Selector.new(opts) } end
wrap(*keys, **options)
click to toggle source
@private
# File lib/faceter/coercers.rb, line 29 def self.wrap(*keys, **options) key = options.fetch(:to) opts = (keys.any? ? { only: keys } : {}).merge(options) { key: key, selector: Selector.new(opts) } end