lib/runeblog.rb in runeblog-0.0.83 vs lib/runeblog.rb in runeblog-0.0.84

- old
+ new

@@ -11,11 +11,11 @@ ### class RuneBlog - DotFile = ".blog" + DotDir = ".blog" class << self attr_accessor :blog include Helpers end @@ -23,27 +23,30 @@ attr_reader :root, :views, :sequence attr_accessor :view # overridden include Helpers - def self.create_new_blog(dir = "data") - new_dotfile(root: dir) + def self.create_new_blog(dir) + new_dotfile(root: Dir.pwd + "/" + dir) create_dir(dir) Dir.chdir(dir) do create_dir("views") create_dir("assets") create_dir("src") new_sequence end + rescue => err + puts "Can't create blog: '#{dir}' - #{err}" + puts err.backtrace end def initialize # assumes existing blog # Crude - FIXME later - # What views are there? Deployment, etc. self.class.blog = self # Weird. Like a singleton - dumbass circular dependency? @root, @view_name, @editor = - read_config(DotFile, :root, :current_view, :editor) + read_config(DotDir + "/config", :root, :current_view, :editor) @views = get_views @view = str2view(@view_name) @sequence = get_sequence end @@ -61,12 +64,11 @@ def view=(arg) case arg when RuneBlog::View @view = arg - raise "Problem here?" - @view.read_config + @view.deployer = read_config(@view.dir + "/deploy") when String new_view = str2view(arg) raise "Can't find view #{arg}" if new_view.nil? @view = new_view @view.deployer = read_config(@view.dir + "/deploy") @@ -87,11 +89,13 @@ def viewdir(v) @root + "/views/#{v}/" end def self.exist? - File.exist?(DotFile) + File.exist?(DotDir) && + File.directory?(DotDir) && + File.exist?(DotDir + "/config") end def create_view(arg) names = self.views.map(&:to_s) raise "view #{arg} already exists" if names.include?(arg) @@ -170,10 +174,10 @@ end def change_view(view) x = OpenStruct.new x.root, x.current_view, x.editor = @root, view, @editor # dumb - FIXME later - write_config(x, DotFile) + write_config(x, DotDir + "/config") self.view = view # error checking? end def process_post(file) path = @root + "/src/#{file}"