apps/web/controllers/books/create.rb (23 lines of code) (raw):
module Web
module Controllers
module Books
class Create
include Web::Action
params do
required(:book).schema do
required(:title).filled(:str?)
required(:author).filled(:str?)
end
end
def call(params)
if params.valid?
BookRepository.new.create(params[:book])
redirect_to routes.books_path
else
self.status = 422
end
end
end
end
end
end