Sha256: 54784373cf9fa2dedd480ac29c7ceb99409627fd693ac69eecfc255c23df15fe

Contents?: true

Size: 540 Bytes

Versions: 16

Compression:

Stored size: 540 Bytes

Contents

module DropboxApi
  class ResultBuilder
    def initialize(response_data)
      @response_data = response_data
    end

    def error_summary
      @response_data["error_summary"] if @response_data.is_a? Hash
    end

    def error
      @response_data["error"]
    end

    def has_error?
      !error_summary.nil?
    end

    def success?
      !has_error?
    end

    def build(result_class)
      result_class.new(@response_data)
    end

    def build_error(error_type)
      error_type.build(error_summary, error)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
dropbox_api-0.1.18 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.17 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.16 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.15 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.14 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.13 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.12 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.11 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.10 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.9 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.8 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.7 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.6 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.5 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.4 lib/dropbox_api/result_builder.rb
dropbox_api-0.1.3 lib/dropbox_api/result_builder.rb