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)