Sha256: 97e09946304ef5d573b81834f0eec7726a16c7f624aab589dc32e51a9d609e44

Contents?: true

Size: 770 Bytes

Versions: 16

Compression:

Stored size: 770 Bytes

Contents

module Inferno
  module Web
    module Controllers
      module TestSessions
        class Create < Controller
          PARAMS = [:test_suite_id].freeze

          def call(params)
            result = repo.create(create_params(params))
            self.body = serialize(result)
          rescue Sequel::ValidationFailed, Sequel::ForeignKeyConstraintViolation => e
            self.body = { errors: e.message }.to_json
            self.status = 422
          rescue StandardError => e
            Application['logger'].error(e.full_message)
            self.body = { errors: e.message }.to_json
            self.status = 500
          end

          def create_params(params)
            params.to_h.slice(*PARAMS)
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
inferno_core-0.1.3 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.3.pre2 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.3.pre lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.2 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.2.pre lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.1 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.1.pre lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.0 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.1.0.pre lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.8 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.8.pre2 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.8.pre lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.7 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.6 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.5 lib/inferno/apps/web/controllers/test_sessions/create.rb
inferno_core-0.0.4 lib/inferno/apps/web/controllers/test_sessions/create.rb