Class: Monolith::GeneratorsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/monolith/generators_controller.rb

Defined Under Namespace

Classes: Create, Generator, Index, Show

Instance Method Summary collapse

Instance Method Details

#createObject



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

def create
  generator = Generator.find(params[:id].to_s)
  return render plain: "Generator not found", status: :not_found unless generator

  args = params[:args].to_s.split
  options = params[:options].to_h.reject { |k, v| v.blank? }

  result = generator.invoke(args, options)

  render Create.new.tap { |v|
    v.generator = generator
    v.result = result
    v.args = args
    v.options = options
  }
rescue => e
  render plain: "Error: #{e.message}\n\n#{e.backtrace.join("\n")}", status: :unprocessable_entity
end

#indexObject



4
5
6
# File 'app/controllers/monolith/generators_controller.rb', line 4

def index
  render Index.new.tap { _1.generators = Generator.all }
end

#showObject



8
9
10
11
12
13
# File 'app/controllers/monolith/generators_controller.rb', line 8

def show
  generator = Generator.find(params[:id].to_s)
  return render plain: "Generator not found", status: :not_found unless generator

  render Show.new.tap { |v| v.generator = generator }
end