Add mapping macro and move templated into helpers.cr
This commit is contained in:
parent
b388181cd4
commit
4ae88cd286
2 changed files with 17 additions and 19 deletions
|
@ -1,3 +1,18 @@
|
|||
macro add_mapping(mapping)
|
||||
def initialize({{*mapping.keys.map { |id| "@#{id}".id }}})
|
||||
end
|
||||
|
||||
def to_a
|
||||
return [{{*mapping.keys.map { |id| "@#{id}".id }}}]
|
||||
end
|
||||
|
||||
DB.mapping({{mapping}})
|
||||
end
|
||||
|
||||
macro templated(filename)
|
||||
render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
|
||||
end
|
||||
|
||||
class Video
|
||||
module HTTPParamConverter
|
||||
def self.from_rs(rs)
|
||||
|
@ -5,24 +20,7 @@ class Video
|
|||
end
|
||||
end
|
||||
|
||||
def initialize(id, info, updated, title, views, likes, dislikes, wilson_score, published, description)
|
||||
@id = id
|
||||
@info = info
|
||||
@updated = updated
|
||||
@title = title
|
||||
@views = views
|
||||
@likes = likes
|
||||
@dislikes = dislikes
|
||||
@wilson_score = wilson_score
|
||||
@published = published
|
||||
@description = description
|
||||
end
|
||||
|
||||
def to_a
|
||||
return [@id, @info, @updated, @title, @views, @likes, @dislikes, @wilson_score, @published, @description]
|
||||
end
|
||||
|
||||
DB.mapping({
|
||||
add_mapping({
|
||||
id: String,
|
||||
info: {
|
||||
type: HTTP::Params,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# "Invidious" (which indexes popular video sites)
|
||||
# "Invidious" (which is what YouTube should be)
|
||||
# Copyright (C) 2018 Omar Roth
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
|
|
Loading…
Reference in a new issue