tartrazine/src/tartrazine.cr

32 lines
733 B
Crystal
Raw Permalink Normal View History

2024-08-07 17:47:11 -03:00
require "./actions"
require "./formatter"
require "./formatters/**"
2024-08-07 17:47:11 -03:00
require "./rules"
require "./styles"
require "./tartrazine"
2024-08-07 16:42:38 -03:00
require "baked_file_system"
2024-08-03 19:25:09 -03:00
require "base58"
2024-08-03 18:46:45 -03:00
require "json"
2024-08-04 20:24:48 -03:00
require "log"
2024-08-03 19:25:09 -03:00
require "xml"
2024-08-04 19:54:34 -03:00
2024-08-02 17:03:39 -03:00
module Tartrazine
2024-08-06 17:01:14 -03:00
extend self
2024-08-13 11:06:06 -03:00
VERSION = {{ `shards version #{__DIR__}`.chomp.stringify }}
2024-08-02 17:03:39 -03:00
2024-08-04 20:24:48 -03:00
Log = ::Log.for("tartrazine")
2024-08-03 05:05:01 -03:00
end
2024-08-02 17:09:05 -03:00
# Convenience macros to parse XML
macro xml_to_s(node, name)
2024-08-02 17:23:40 -03:00
{{node}}.children.find{|n| n.name == "{{name}}".lstrip("_")}.try &.content.to_s
end
2024-08-03 05:05:01 -03:00
macro xml_to_f(node, name)
({{node}}.children.find{|n| n.name == "{{name}}".lstrip("_")}.try &.content.to_s.to_f)
2024-08-02 17:09:05 -03:00
end
macro xml_to_a(node, name)
{{node}}.children.select{|n| n.name == "{{name}}".lstrip("_")}.map {|n| n.content.to_s}
end