Sha256: 1e0e68f1f6d1534c0040b090d445b8c7f28e0aa32f1976435e28e848549aa2f1

Contents?: true

Size: 836 Bytes

Versions: 10

Compression:

Stored size: 836 Bytes

Contents

# frozen_string_literal: true

module Evostream
  # Create a response
  class Responses
    attr_reader :status, :message, :data

    def initialize(evostream_response)
      @evostream = JSON.parse(evostream_response.body)

      @status = define_status
      @message = define_message
      @data = @evostream['data'] if @status.eql?(200)
    end

    def message
      {
        status: @status,
        message: @message,
        data: @data
      }.deep_symbolize_keys!
    end

    private

    attr_accessor :evostream

    def define_status
      case @evostream['status']
      when 'FAIL' then 500
      when 'SUCCESS' then 200
      end
    end

    def define_message
      if @status.eql?(500)
        'Error with EvoStream server.'
      else
        'Object was successfully created/updated.'
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
evostream-event-1.0.0.pre.58 lib/evostream/event/response/response.rb
evostream-event-0.3.2.pre.57 lib/evostream/event/response/response.rb
evostream-event-0.3.2.pre.56 lib/evostream/event/response/response.rb
evostream-event-0.3.2.pre.55 lib/evostream/event/response/response.rb
evostream-event-0.3.1 lib/evostream/event/response/response.rb
evostream-event-0.3.1.pre.53 lib/evostream/event/response/response.rb
evostream-event-0.3.1.pre.52 lib/evostream/event/response/response.rb
evostream-event-0.3.0 lib/evostream/event/response/response.rb
evostream-event-0.3.0.pre.48 lib/evostream/event/response/response.rb
evostream-event-0.2.7 lib/evostream/event/response/response.rb