diff options
| author | Paul Duncan <pabs@pablotron.org> | 2016-03-08 00:30:41 -0500 | 
|---|---|---|
| committer | Paul Duncan <pabs@pablotron.org> | 2016-03-08 00:30:41 -0500 | 
| commit | 172304157f582a99fd2bba32fad7ed1018bf0b49 (patch) | |
| tree | f55c23ee7c08cef2bb33465ed63f3c262c2fa1ce /src/guff/post.cr | |
| parent | 2d6635b4ff0393af6d97b93772bc566c331de08e (diff) | |
| download | old-guff-172304157f582a99fd2bba32fad7ed1018bf0b49.tar.xz old-guff-172304157f582a99fd2bba32fad7ed1018bf0b49.zip | |
post json fixes
Diffstat (limited to 'src/guff/post.cr')
| -rw-r--r-- | src/guff/post.cr | 21 | 
1 files changed, 16 insertions, 5 deletions
| diff --git a/src/guff/post.cr b/src/guff/post.cr index 7247e15..735682c 100644 --- a/src/guff/post.cr +++ b/src/guff/post.cr @@ -1,10 +1,21 @@ -class Guff:Post +class Guff::Post    def initialize(@row : Hash(String, ::SQLite3::Value))    end -  def to_json -    @row.merge({ -      "tags": @row["tags"].split('|') -    }).to_json +  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 | 
