Sha256: 27c1ad56a4b7e8837458ecb34fe5da96cc9f5fb85a5a935ad4a896eb9a709ae1
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
module Iatelier module Controllers module Books class Create include Iatelier::Action include Iatelier::Controllers::Books::DbConnector expose :book, :book_type, :database, :errors def call(params) # [optional] setting the database @database = params.get(:database) self.set_database @database # @book = Object.const_get(params[:book_type].capitalize).new @book.namespace = database # p 'starting everything' @book.dimensions.each do |dimension| method_name = 'setup_' + dimension action = @book.public_send(method_name.to_sym, params) p 'what is the status = ' + action.valid?.to_s if !action.valid? puts 'the error is ' + action.errors.messages.to_s @errors = action.errors.messages self.status = 422 return 'caught an error!' end end @book.save @book.dimensions.each do |dimension| action = @book.public_send(dimension.to_sym) if !action.save @errors = action.errors.messages self.status = 422 return 'caught an error!' end end @book.sync_keywords params @book.sync_individuals params @book.sync_content params @book.store_attachment params redirect_to '/iatelier/' + @database + '/' + params[:book_type] end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
iatelier-0.5.2 | lib/iatelier/controllers/books/create.rb |
iatelier-0.5.1 | lib/iatelier/controllers/books/create.rb |
iatelier-0.5.0 | lib/iatelier/controllers/books/create.rb |