module Victor::CLI::Rendering

Public Instance Methods

render() click to toggle source
# File lib/victor/cli/refinements/rendering.rb, line 5
def render
  # TODO: Reduce cognitive complexity
  map do |key, value|
    key = key.to_key if key.is_a? String

    if key == "style"
      value = "{ #{value.style_to_hash.render} }"
    elsif value.is_a? String
      value = value.to_value
    end

    "#{key}: #{value}"
  end.join ", "
end
style_to_hash() click to toggle source

Transforms the valus of a style attribute to a hash Example: “color: black; top: 10” => { color: black, top: 10 }

# File lib/victor/cli/refinements/rendering.rb, line 37
def style_to_hash
  parser = CssParser::Parser.new
  parser.load_string! "victor { #{self} }"
  parser.to_h["all"]["victor"]
end
to_key() click to toggle source
# File lib/victor/cli/refinements/rendering.rb, line 23
def to_key
  gsub('-', '_').to_sym.inspect[1..-1]
end
to_value() click to toggle source
# File lib/victor/cli/refinements/rendering.rb, line 27
def to_value
  if to_f.to_s == self or to_i.to_s == self
    self
  else
    %Q["#{self}"]
  end
end