aboutsummaryrefslogtreecommitdiff
path: root/src/guff/post.cr
blob: 735682cc0f48c95635e83a8c08685d4bf6d0a03a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Guff::Post
  def initialize(@row : Hash(String, ::SQLite3::Value))
  end

  def to_json(io)
    @row.reduce({} of String => String | Array(String)) do |r, k, v|
      r[k] = v.to_s
      r
    end.merge({
      "tags": tags
    }).to_json(io)
  end

  private def tags : Array(String)
    @tags ||= if @row.has_key?("tags") && (@row["tags"] as String).size > 0
      (@row["tags"] as String).split('|')
    else
      [] of String
    end
  end
end