Changeset 1056 for lang/ruby

Show
Ignore:
Timestamp:
11/03/07 15:32:20 (6 years ago)
Author:
cho45
Message:

lang/ruby/ekfloras/Rakefile,
lang/ruby/ekfloras/ekfloras.rb:

とりあえず config よむように

Location:
lang/ruby/ekfloras
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/ekfloras

    • Property svn:ignore
      •  

        old new  
        11ekfloras.cgi 
        22data 
         3pkg 
         4config.yaml.sample 
         5config.yaml 
         6 
  • lang/ruby/ekfloras/Rakefile

    r1054 r1056  
    22require "rubygems" 
    33require "rake" 
     4require "rake/clean" 
     5 
     6CLEAN.include ["config.yaml.sample"] 
    47 
    58task :default => [:test] 
     
    912end 
    1013 
    11 task :package => "pkg" do 
     14task :package => ["pkg", "config.yaml.sample"] do 
    1215        version = Time.now.strftime("%Y-%m-%d") 
    1316        dir = "ekfloras.#{version}" 
     
    1619                mkdir #{dir} 
    1720                cp ekfloras.rb #{dir}/ekfloras.cgi 
    18                 cp ekfloras.rb template.* #{dir} 
     21                cp ekfloras.rb template.* config.yaml.sample #{dir} 
    1922                cp -r plugins #{dir} 
    2023                cp -r lib #{dir} 
    2124                tar -cvzf #{dir}.tar.gz #{dir} 
    2225                mv #{dir}.tar.gz pkg/ 
     26                rm -rf #{dir} 
    2327        } 
    2428end 
    2529 
     30task :gconfig => ["clean", "config.yaml.sample"] do 
     31        puts File.read("config.yaml.sample") 
     32end 
     33 
     34file "config.yaml.sample" => ["ekfloras.rb"] do |t| 
     35        File.open(t.name, "wb") {|f| f << `ruby ekfloras.rb gen-default-config` } 
     36end 
     37 
    2638directory "pkg" 
  • lang/ruby/ekfloras/ekfloras.rb

    r1053 r1056  
    88require "ostruct" 
    99require "minierb" 
     10require "yaml" 
    1011 
    1112class Ekfloras 
    1213        DEFAULT_OPTS = { 
    13                 :title      => "Ekfloras test", 
     14                :title      => "Ekfloras blogging", 
    1415                :flavour    => ".html", 
    1516                :data_dir   => "data", 
     
    6465        attr_reader :plugins 
    6566 
    66         def initialize(cgi, opts=DEFAULT_OPTS.dup) 
     67        def initialize(cgi, opts={}) 
    6768                @cgi             = cgi 
    68                 @opts            = opts 
     69                @opts            = DEFAULT_OPTS.merge(opts) 
    6970                @opts[:data_dir] = Pathname.new(@opts[:data_dir]) 
    70                 @data            = Pathname.new(opts[:data_dir]) 
     71                @data            = Pathname.new(@opts[:data_dir]) 
    7172                @home            = @cgi.script_name 
    7273                @server_root     = @cgi.server_name 
     
    189190end 
    190191 
     192if ARGV.first == "gen-default-config" 
     193        puts YAML.dump(Ekfloras::DEFAULT_OPTS) 
     194        exit 
     195end 
     196 
    191197if $stdout.tty? 
    192198        Ekfloras.new(OpenStruct.new({ 
     
    198204        })).run 
    199205else 
    200         Ekfloras.new(CGI.new).run 
     206        begin 
     207                opts = File.open("config.yaml") {|f| YAML.load(f) } 
     208                Ekfloras.new(CGI.new, opts).run 
     209        rescue Errno::ENOENT 
     210                Ekfloras.new(CGI.new).run 
     211        end 
    201212end