lib/post.rb in runeblog-0.2.3 vs lib/post.rb in runeblog-0.2.5
- old
+ new
@@ -9,16 +9,18 @@
attr_accessor :meta, :blog, :draft
include RuneBlog::Helpers
def self.files(num, root)
+ log!(enter: __method__, args: [num, root])
files = Find.find(root).to_a
result = files.grep(/#{prefix(num)}-/)
result
end
def self.load(post)
+ log!(enter: __method__, args: [post])
raise "Doesn't work right now"
raise NoBlogAccessor if RuneBlog.blog.nil?
# "post" is a slug
pdir = RuneBlog.blog.view.dir + "/" + post
verify(Dir.exist?(pdir) => "Directory #{pdir} not found")
@@ -39,10 +41,11 @@
end
meta
end
def write_metadata(meta) # FIXME ???
+ log!(enter: __method__, args: [meta])
debug "=== write_metadata:"
debug "-----\n#{meta.inspect}\n-----"
fname2 = "metadata.txt"
hash = meta.to_h
@@ -61,16 +64,18 @@
fields.each {|fld| f2.puts "#{fld}: #{hash[fld]}" }
f2.close
end
def initialize
+ log!(enter: __method__)
@blog = RuneBlog.blog || raise(NoBlogAccessor)
@meta = OpenStruct.new
end
def self.create(title:, teaser:, body:, pubdate: Time.now.strftime("%Y-%m-%d"),
other_views:[])
+ log!(enter: __method__, args: [title, teaser, body, pubdate, other_views])
post = self.new
# ONLY place next_sequence is called!
num = post.meta.num = post.blog.next_sequence
# new_metadata
@@ -95,19 +100,21 @@
dump(text, post.draft)
return post
end
def edit
+ log!(enter: __method__)
verify(File.exist?(@draft) => "File #{@draft} not found")
result = system("vi #@draft +8") # TODO improve this
raise EditorProblem(draft) unless result
nil
rescue => err
error(err)
end
def build
+ log!(enter: __method__)
post = self
views = post.meta.views
text = File.read(@draft)
@blog.generate_post(@draft)
end
@@ -116,10 +123,11 @@
class RuneBlog::ViewPost
attr_reader :path, :nslug, :aslug, :title, :date,
:teaser_text
def initialize(view, postdir)
+ log!(enter: __method__, args: [view, postdir])
# Assumes already parsed/processed
@blog = RuneBlog.blog || raise(NoBlogAccessor)
@path = postdir.dup
@nslug = @path.split("/").last
@aslug = @nslug[5..-1]
@@ -131,9 +139,10 @@
@title = lines.grep(/title:/).first[7..-1].chomp
@date = lines.grep(/pubdate:/).first[9..-1].chomp
end
def get_dirs
+ log!(enter: __method__, args: [view, postdir])
fname = File.basename(draft)
noext = fname.sub(/.lt3$/, "")
vdir = "#@root/views/#{view}"
dir = "#{vdir}/posts/#{noext}/"
Dir.mkdir(dir) unless Dir.exist?(dir)