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