Sha256: 31de62042639f69054ac528e88eaca9d0ab89b4598100a0cf43f06ea1bf621cd

Contents?: true

Size: 1.38 KB

Versions: 7

Compression:

Stored size: 1.38 KB

Contents

# -*- coding: utf-8 -*-
#
# @file 
# @brief
# @author ongaeshi
# @date   2012/03/24

require 'milkode/cdweb/lib/database'
require 'yaml'
require 'i18n'

module Milkode
  class WebSetting
    DEFAULT_SETTING = {
      :home_title    => "Milkode",
      :home_icon     => "/images/MilkodeIcon135.png",
      :home_font_size => "100%",

      :header_title => "Milkode",
      :header_icon  => "/images/MilkodeIcon135.png",

      :favicon      => "/images/favicon.ico",

      :display_about_milkode => true,
      :hide_update_button => false,
    }

    def self.hash_method(name)
      define_method(name) do
        if @data[name]
          @data[name]
        else
          DEFAULT_SETTING[name]
        end
      end
    end

    def initialize
      fname = File.join(Database.dbdir, "milkweb.yaml")
      if FileTest.exist? fname
        open(fname) do |f|
          @data = YAML.load(f.read)
        end
      else
        @data = DEFAULT_SETTING
      end
    end

    hash_method :home_title
    hash_method :home_icon
    hash_method :home_font_size
    
    hash_method :header_title
    hash_method :header_icon

    hash_method :favicon
    
    def about_milkode(locale)
      if (@data[:display_about_milkode])
        '<a href="http://milkode.ongaeshi.me">'+I18n.t(:about_milkode, locale: locale)+'</a>'
      else
        ''
      end
    end

    hash_method :hide_update_button
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
milkode-1.8.6 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.5 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.4 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.3 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.2 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.1 lib/milkode/cdweb/lib/web_setting.rb
milkode-1.8.0 lib/milkode/cdweb/lib/web_setting.rb