class Releaf::Configuration

Public Class Methods

normalize_controllers(list) click to toggle source
# File lib/releaf/configuration.rb, line 83
def self.normalize_controllers(list)
  list.map do |item|
    if item.is_a?(Hash) && item.has_key?(:items)
      ControllerGroupDefinition.new(item)
    elsif item.is_a?(Hash) || item.is_a?(String)
      ControllerDefinition.new(item)
    else
      item
    end
  end
end

Public Instance Methods

add_configuration(configuration) click to toggle source
# File lib/releaf/configuration.rb, line 26
def add_configuration(configuration)
  configuration_name = configuration.class.name.gsub(/Configuration$/, "").split("::").last.underscore

  self.class.send(:attr_accessor, configuration_name)
  send("#{configuration_name}=", configuration)
end
additional_controllers=(value) click to toggle source
Calls superclass method
# File lib/releaf/configuration.rb, line 67
def additional_controllers=(value)
  super(self.class.normalize_controllers(value))
end
all_locales() click to toggle source
# File lib/releaf/configuration.rb, line 44
def all_locales
  @all_locales ||= (available_locales + available_admin_locales).map(&:to_s).uniq
end
available_controllers() click to toggle source
# File lib/releaf/configuration.rb, line 55
def available_controllers
  @available_controllers ||= controllers.keys
end
components=(value) click to toggle source
Calls superclass method
# File lib/releaf/configuration.rb, line 13
def components=(value)
  super(flatten_components(value))
  components.each do|component_class|
    component_class.configure_component if component_class.respond_to? :configure_component
  end
end
controllers() click to toggle source
# File lib/releaf/configuration.rb, line 59
def controllers
  @controllers ||= extract_controllers(menu + additional_controllers)
end
extract_controllers(list) click to toggle source
# File lib/releaf/configuration.rb, line 71
def extract_controllers(list)
  list.each.inject({}) do |controller_list, item|
    if item.respond_to? :controllers
      controller_list.merge!(extract_controllers(item.controllers))
    else
      controller_list[item.controller_name] = item
    end

    controller_list
  end
end
flatten_components(raw_components) click to toggle source
# File lib/releaf/configuration.rb, line 48
def flatten_components(raw_components)
  raw_components.each.inject([]) do |list, component_class|
    list += flatten_components(component_class.components) if component_class.respond_to? :components
    list << component_class # add component itself latter as there can be dependancy to be loadable first
  end
end
initialize_components() click to toggle source
# File lib/releaf/configuration.rb, line 20
def initialize_components
  components.each do|component_class|
    component_class.initialize_component if component_class.respond_to? :initialize_component
  end
end
initialize_defaults() click to toggle source
# File lib/releaf/configuration.rb, line 33
def initialize_defaults
  self.class.default_values.each_pair do|key, value|
    send("#{key}=", value)
  end
end
initialize_locales() click to toggle source
# File lib/releaf/configuration.rb, line 39
def initialize_locales
  ::I18n.available_locales = available_locales
  self.available_admin_locales = available_locales if available_admin_locales.empty?
end
menu=(value) click to toggle source
Calls superclass method