module ConfigvarsRails::Controller

Included by the config vars management controller.

Some parts of the codebase expect the controller to be named ConfigVarsController.

Public Instance Methods

destroy() click to toggle source

DELETE /config_vars/http_user

# File lib/configvars_rails/controller.rb, line 74
def destroy
  @config_var = ConfigVar.where(name: params[:name]).first
  @config_var.destroy

  respond_to do |format|
    format.html { redirect_to(config_vars_url) }
  end
end
edit() click to toggle source

GET /config_vars/http_user/edit

# File lib/configvars_rails/controller.rb, line 39
def edit
  @config_var = ConfigVar.where(name: params[:name]).first
  unless @config_var
    @config_var = ConfigVar.new name: params[:name]
    if descriptor = ConfigvarsRails.variable_descriptor(params[:name])
      @config_var.value = descriptor.default_value
    end
  end
end
index() click to toggle source

GET /config_vars

# File lib/configvars_rails/controller.rb, line 18
def index
  @config_vars = ConfigVar.order(:name).to_a

  defined_names = ConfigvarsRails.variable_names
  default_names = defined_names - @config_vars.map { |var| var.name.to_sym }
  @default_vars = default_names.map { |name|
    [name.to_s, ConfigvarsRails.variable_descriptor(name)]
  }.sort

  respond_to do |format|
    format.html # index.html.erb
  end
end
show() click to toggle source

GET /config_vars/http_user

# File lib/configvars_rails/controller.rb, line 33
def show
  edit
  render text: @config_var.value
end
update() click to toggle source

PUT /config_vars/http_user

# File lib/configvars_rails/controller.rb, line 50
def update
  @config_var = ConfigVar.where(name: params[:config_var][:name]).first
  unless @config_var
    @config_var = ConfigVar.new update_params[:config_var]
  end

  respond_to do |format|
    success = if @config_var.new_record?
      @config_var.save
    else
      @config_var.update_attributes update_params[:config_var]
    end
    if success
      format.html do
        redirect_to config_vars_url,
            notice: 'Configuration variable was successfully updated.'
      end
    else
      format.html { render action: :edit }
    end
  end
end
update_params() click to toggle source

Parameters used to change a config variable.

# File lib/configvars_rails/controller.rb, line 87
def update_params
  params.permit config_var: [:name, :value]
end