Sha256: bac108640a6d38ba48ce817ba05bdc6051e7e4b3d1ad3ebac6df0e5603a1e973

Contents?: true

Size: 880 Bytes

Versions: 6

Compression:

Stored size: 880 Bytes

Contents

class RailsSettingsUi::SettingsController < RailsSettingsUi::ApplicationController
  before_filter :collection
  before_filter :cast_settings_params, only: :update_all

  def index
  end

  def update_all
    if @casted_settings[:errors].any?
      render :index
    else
      @casted_settings.map { |setting| RailsSettingsUi.settings_klass[setting[0]] = setting[1] if setting[0] != "errors" }
      redirect_to [:settings]
    end
  end

  private

  def collection
    all_settings = RailsSettingsUi.settings_klass.defaults.merge(RailsSettingsUi.settings_klass.get_all)
    all_settings_without_ignored = all_settings.reject{ |name, description| RailsSettingsUi.ignored_settings.include?(name.to_sym) }
    @settings = Hash[all_settings_without_ignored]
  end

  def cast_settings_params
    @casted_settings = RailsSettingsUi::TypeConverter.cast(params["settings"])
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails-settings-ui-0.4.0 app/controllers/rails_settings_ui/settings_controller.rb
rails-settings-ui-0.3.2 app/controllers/rails_settings_ui/settings_controller.rb
rails-settings-ui-0.3.1 app/controllers/rails_settings_ui/settings_controller.rb
rails-settings-ui-0.2.1 app/controllers/rails_settings_ui/settings_controller.rb
rails-settings-ui-0.3.0 app/controllers/rails_settings_ui/settings_controller.rb
rails-settings-ui-0.2.0 app/controllers/rails_settings_ui/settings_controller.rb