Sha256: 6a776ab3f35649104b162aa7af62929c9d13f662abfd6fbe9eee316873bb64b2

Contents?: true

Size: 1.29 KB

Versions: 7

Compression:

Stored size: 1.29 KB

Contents

module Character
  class Instance
    DEFAULT_NAME = 'admin'

    attr_accessor :name,
                  :title,
                  :user_model,

                  :before_index,
                  :before_save,

                  :javascript_filename,
                  :stylesheet_filename,

                  :development_auto_login,
                  :force_ssl,

                  # defined in config/settings.yml
                  :settings,
                  :logo,
                  :login_background

    def initialize(name = Instance::DEFAULT_NAME)
      @name                   = name.gsub(' ', '-').downcase
      @title                  = 'Character'
      @user_model             = 'Character::User'
      @development_auto_login = false
      @force_ssl              = true
    end

    def title
      @title || @name.humanize
    end

    def javascript_filename
      @javascript_filename || @name
    end

    def stylesheet_filename
      @stylesheet_filename || @name
    end

    def user_class
      @user_class ||= @user_model.constantize
    end

    def settings
      @settings ||= ::Settings.group(@name.capitalize)
    end

    def logo
      @logo ||= settings['Logo'].value
    end

    def login_background
      @login_background ||= settings['Login Background'].value
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
character-1.0.6 lib/character/instance.rb
character-1.0.5 lib/character/instance.rb
character-1.0.4 lib/character/instance.rb
character-1.0.3 lib/character/instance.rb
character-1.0.2 lib/character/instance.rb
character-1.0.1 lib/character/instance.rb
character-1.0.0 lib/character/instance.rb