Method: Faun::Post#initialize

Defined in:
lib/faun.rb

#initialize(id, name, path) ⇒ Post

Returns a new instance of Post.



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/faun.rb', line 139

def initialize(id, name, path)
  super(id, name, path, ForumThread)
  Async do
    File.open(File.join(path, "latest.md"), "r:UTF-8") do |file|
      generic = Async::IO::Stream.new(file)
      lines = Async::IO::Protocol::Line.new(generic).each_line
      lines.next
      meta = lines.take_while { |line| line.strip != "---" }.join("\n")
      # lines.next while lines.peek.strip.empty?
      @meta = YAML.load(meta)
      @meta["written"] = DateTime.strptime(@meta["written"], "%Y-%m-%d %H:%M")
      @content = generic.read.force_encoding("UTF-8")
    end
  end.wait
end