Sha256: bdf7c855cb260332d244d66ad96e27e9c76f93a0dcae1397ba4e227a34253a71

Contents?: true

Size: 1.26 KB

Versions: 16

Compression:

Stored size: 1.26 KB

Contents

module Typus

  module Configuration

    # Read configuration from <tt>config/typus/**/*.yml</tt>.
    def self.config!
      application = Dir[File.join(Typus.config_folder, "**", "*.yml").to_s]
      plugins = Dir[File.join("vendor", "plugins", "*", "config", "typus", "*.yml").to_s]
      files = (application + plugins).reject { |f| f.include?("_roles.yml") }

      @@config = {}
      files.each do |file|
        if data = YAML::load_file(file)
          @@config.merge!(data)
        end
      end

      return @@config
    end

    mattr_accessor :config

    # Read roles from files <tt>config/typus/**/*_roles.yml</tt>.
    def self.roles!
      application = Dir[File.join(Typus.config_folder, "**", "*_roles.yml").to_s]
      plugins = Dir[File.join("vendor", "plugins", "*", "config", "typus", "*_roles.yml").to_s]
      files = (application + plugins).sort

      @@roles = { Typus.master_role => {} }

      files.each do |file|
        data = YAML::load_file(file)
        next unless data
        data.each do |key, value|
          next unless value
          begin
            @@roles[key].merge!(value)
          rescue
            @@roles[key] = value
          end
        end
      end

      return @@roles.compact
    end

    mattr_accessor :roles

  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
typus-3.0.2 lib/typus/configuration.rb
typus-3.0.1 lib/typus/configuration.rb
typus-3.0.0 lib/typus/configuration.rb
typus-1.0.0.pre13 lib/typus/configuration.rb
typus-1.0.0.pre12 lib/typus/configuration.rb
typus-1.0.0.pre11 lib/typus/configuration.rb
typus-1.0.0.pre10 lib/typus/configuration.rb
typus-1.0.0.pre9 lib/typus/configuration.rb
typus-1.0.0.pre8 lib/typus/configuration.rb
typus-1.0.0.pre7 lib/typus/configuration.rb
typus-1.0.0.pre6 lib/typus/configuration.rb
typus-1.0.0.pre5 lib/typus/configuration.rb
typus-1.0.0.pre4 lib/typus/configuration.rb
typus-1.0.0.pre3 lib/typus/configuration.rb
typus-1.0.0.pre2 lib/typus/configuration.rb
typus-1.0.0.pre lib/typus/configuration.rb