Class: Summoner::FeaturesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/summoner/features_controller.rb

Instance Method Summary collapse

Instance Method Details

#editObject



14
# File 'app/controllers/summoner/features_controller.rb', line 14

def edit; end

#indexObject



5
6
7
# File 'app/controllers/summoner/features_controller.rb', line 5

def index
  @features = Summoner::Feature.all.order(:namespace, :name)
end

#showObject



9
10
11
12
# File 'app/controllers/summoner/features_controller.rb', line 9

def show
  @feature = Summoner::Feature.find(params[:id])
  @overrides = Summoner::FeatureOverride.where(feature_key: @feature.key)
end

#updateObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/summoner/features_controller.rb', line 16

def update
  raw_value = params[:feature][:default_value]
  description = params[:feature][:description]

  unless @feature.valid_value?(raw_value)
    flash.now[:alert] = "Invalid value for type #{@feature.value_type}."
    return render :edit
  end

  parsed_value = @feature.cast_value(params[:feature][:default_value])

  if @feature.update(default_value: parsed_value, description: description)
    redirect_to feature_path(@feature), notice: 'Feature updated successfully.'
  else
    render :edit
  end
end