Sha256: 27d9bf045be44a431debb37f29bcb5fac2d495d0e00e3112e35d2d8697a472ad
Contents?: true
Size: 989 Bytes
Versions: 9
Compression:
Stored size: 989 Bytes
Contents
# frozen_string_literal: true class Code class Object class Html < Object def initialize(*args, **_kargs, &_block) @raw = nil end def self.call(**args) operator = args.fetch(:operator, nil) arguments = args.fetch(:arguments, List.new) case operator.to_s when "link_to" sig(args) { [Object.maybe, Object.maybe] } code_link_to(*arguments.raw) when "escape" sig(args) { Object.maybe } code_escape(*arguments.raw) else super end end def self.code_link_to(text = nil, href = nil) text ||= Nothing.new href ||= Nothing.new String.new(<<~LINK.strip) <a href="#{CGI.escapeHTML(href.raw.to_s)}">#{CGI.escapeHTML(text.raw.to_s)}</a> LINK end def self.code_escape(string = nil) string ||= Nothing.new String.new(CGI.escapeHTML(string.raw.to_s)) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems