mirror of
https://git.nadeko.net/Fijxu/invidious.git
synced 2025-12-16 18:08:52 +00:00
Fix warnings with latest version of Crystal
This commit is contained in:
@@ -1,43 +1,51 @@
|
||||
macro db_mapping(mapping)
|
||||
def initialize({{*mapping.keys.map { |id| "@#{id}".id }}})
|
||||
end
|
||||
module DB::Serializable
|
||||
macro included
|
||||
{% verbatim do %}
|
||||
macro finished
|
||||
def self.type_array
|
||||
\{{ @type.instance_vars
|
||||
.reject { |var| var.annotation(::DB::Field) && var.annotation(::DB::Field)[:ignore] }
|
||||
.map { |name| name.stringify }
|
||||
}}
|
||||
end
|
||||
|
||||
def to_a
|
||||
return [ {{*mapping.keys.map { |id| "@#{id}".id }}} ]
|
||||
end
|
||||
def initialize(tuple)
|
||||
\{% for var in @type.instance_vars %}
|
||||
\{% ann = var.annotation(::DB::Field) %}
|
||||
\{% if ann && ann[:ignore] %}
|
||||
\{% else %}
|
||||
@\{{var.name}} = tuple[:\{{var.name.id}}]
|
||||
\{% end %}
|
||||
\{% end %}
|
||||
end
|
||||
|
||||
def self.to_type_tuple
|
||||
return { {{*mapping.keys.map { |id| "#{id}" }}} }
|
||||
def to_a
|
||||
\{{ @type.instance_vars
|
||||
.reject { |var| var.annotation(::DB::Field) && var.annotation(::DB::Field)[:ignore] }
|
||||
.map { |name| name }
|
||||
}}
|
||||
end
|
||||
end
|
||||
{% end %}
|
||||
end
|
||||
|
||||
DB.mapping( {{mapping}} )
|
||||
end
|
||||
|
||||
macro json_mapping(mapping)
|
||||
def initialize({{*mapping.keys.map { |id| "@#{id}".id }}})
|
||||
module JSON::Serializable
|
||||
macro included
|
||||
{% verbatim do %}
|
||||
macro finished
|
||||
def initialize(tuple)
|
||||
\{% for var in @type.instance_vars %}
|
||||
\{% ann = var.annotation(::JSON::Field) %}
|
||||
\{% if ann && ann[:ignore] %}
|
||||
\{% else %}
|
||||
@\{{var.name}} = tuple[:\{{var.name.id}}]
|
||||
\{% end %}
|
||||
\{% end %}
|
||||
end
|
||||
end
|
||||
{% end %}
|
||||
end
|
||||
|
||||
def to_a
|
||||
return [ {{*mapping.keys.map { |id| "@#{id}".id }}} ]
|
||||
end
|
||||
|
||||
patched_json_mapping( {{mapping}} )
|
||||
YAML.mapping( {{mapping}} )
|
||||
end
|
||||
|
||||
macro yaml_mapping(mapping)
|
||||
def initialize({{*mapping.keys.map { |id| "@#{id}".id }}})
|
||||
end
|
||||
|
||||
def to_a
|
||||
return [ {{*mapping.keys.map { |id| "@#{id}".id }}} ]
|
||||
end
|
||||
|
||||
def to_tuple
|
||||
return { {{*mapping.keys.map { |id| "@#{id}".id }}} }
|
||||
end
|
||||
|
||||
YAML.mapping({{mapping}})
|
||||
end
|
||||
|
||||
macro templated(filename, template = "template")
|
||||
|
||||
Reference in New Issue
Block a user