Sha256: 2988a1961f8c281aaecd3ca7d28b785257690d7655c3ef9f906c4b457c6219fa

Contents?: true

Size: 1.08 KB

Versions: 17

Compression:

Stored size: 1.08 KB

Contents

module Odania
	module Config
		class PluginConfig
			attr_accessor :domains, :config, :default_subdomains, :plugin_config

			def initialize
				reset
			end

			# Load the global configuration
			def load(data)
				reset
				@config = data['config'] unless data['config'].nil?
				@plugin_config = data['plugin-config'] unless data['plugin-config'].nil?
				@default_subdomains = data['default_subdomains'] unless data['default_subdomains'].nil?
				unless data['domains'].nil?
					data['domains'].each_pair do |name, domain_data|
						@domains[name].load(domain_data)
					end
				end

				true
			end

			def [](key)
				@domains[key]
			end

			# Reset configuration
			def reset
				@config = {}
				@plugin_config = {}
				@domains = Hash.new { |hash, key| hash[key] = Domain.new(key) }
			end

			def dump
				domain_data = {}
				@domains.each_pair do |name, domain|
					domain_data[name] = domain.dump
				end

				{
					'plugin-config' => plugin_config,
					'config' => config,
					'default_subdomains' => @default_subdomains,
					'domains' => domain_data
				}
			end
		end
	end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
odania-0.0.35 lib/odania/config/plugin_config.rb
odania-0.0.34 lib/odania/config/plugin_config.rb
odania-0.0.33 lib/odania/config/plugin_config.rb
odania-0.0.32 lib/odania/config/plugin_config.rb
odania-0.0.31 lib/odania/config/plugin_config.rb
odania-0.0.30 lib/odania/config/plugin_config.rb
odania-0.0.29 lib/odania/config/plugin_config.rb
odania-0.0.28 lib/odania/config/plugin_config.rb
odania-0.0.27 lib/odania/config/plugin_config.rb
odania-0.0.26 lib/odania/config/plugin_config.rb
odania-0.0.25 lib/odania/config/plugin_config.rb
odania-0.0.24 lib/odania/config/plugin_config.rb
odania-0.0.23 lib/odania/config/plugin_config.rb
odania-0.0.22 lib/odania/config/plugin_config.rb
odania-0.0.21 lib/odania/config/plugin_config.rb
odania-0.0.20 lib/odania/config/plugin_config.rb
odania-0.0.19 lib/odania/config/plugin_config.rb