Class: Airview::SetupController

Inherits:
ApplicationController show all
Defined in:
app/controllers/airview/setup_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/airview/setup_controller.rb', line 19

def create
  @definition = ResourceDefinition.new(resource_definition_params)

  if @definition.save
    redirect_to setup_path, notice: "Resource saved"
  else
    @model = ModelDiscovery.model_named(@definition.record_class_name)
    render :new, status: :unprocessable_entity
  end
end

#destroyObject



40
41
42
43
# File 'app/controllers/airview/setup_controller.rb', line 40

def destroy
  @definition.destroy!
  redirect_to setup_path, notice: "Resource removed"
end

#editObject



30
# File 'app/controllers/airview/setup_controller.rb', line 30

def edit; end

#indexObject



7
8
9
10
# File 'app/controllers/airview/setup_controller.rb', line 7

def index
  @models = ModelDiscovery.models
  @definitions_by_model = ResourceDefinition.all.index_by(&:record_class_name)
end

#newObject

Raises:

  • (ActionController::RoutingError)


12
13
14
15
16
17
# File 'app/controllers/airview/setup_controller.rb', line 12

def new
  @model = ModelDiscovery.model_named(params[:model_name])
  raise ActionController::RoutingError, "Not Found" unless @model

  @definition = build_definition(@model)
end

#updateObject



32
33
34
35
36
37
38
# File 'app/controllers/airview/setup_controller.rb', line 32

def update
  if @definition.update(resource_definition_params.except(:key, :record_class_name))
    redirect_to setup_path, notice: "Resource updated"
  else
    render :edit, status: :unprocessable_entity
  end
end