Sha256: 1d3834a797b661d2c83f61388001a09a99dd216318d40ffe8e0425bef93b8775

Contents?: true

Size: 565 Bytes

Versions: 94

Compression:

Stored size: 565 Bytes

Contents

class ApiError
  include ActiveModel::Model
  attr_accessor :id, :description, :resolution, :link_url
  attr_writer :link_text

  def link_text
    @link_text || 'Find out more'
  end

  def link=(link)
    @link_text = link['text']
    @link_url = link['url']
  end

  def link
    return nil unless @link_text && @link_url

    OpenStruct.new({
      text: @link_text,
      url: @link_url,
    })
  end

  def self.parse_config(errors)
    return [] if errors.blank?

    errors.map do |id, config|
      ApiError.new({ id: id }.merge(config))
    end
  end
end

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
station-0.5.16 lib/nexmo_developer/app/models/api_error.rb
station-0.5.15 lib/nexmo_developer/app/models/api_error.rb
station-0.5.14 lib/nexmo_developer/app/models/api_error.rb
station-0.5.13 lib/nexmo_developer/app/models/api_error.rb
station-0.5.12 lib/nexmo_developer/app/models/api_error.rb
station-0.5.11 lib/nexmo_developer/app/models/api_error.rb
station-0.5.10 lib/nexmo_developer/app/models/api_error.rb
station-0.5.9 lib/nexmo_developer/app/models/api_error.rb
station-0.5.8 lib/nexmo_developer/app/models/api_error.rb
station-0.5.7 lib/nexmo_developer/app/models/api_error.rb
station-0.5.6 lib/nexmo_developer/app/models/api_error.rb
station-0.5.5 lib/nexmo_developer/app/models/api_error.rb
station-0.5.4 lib/nexmo_developer/app/models/api_error.rb
station-0.5.3 lib/nexmo_developer/app/models/api_error.rb
station-0.5.2 lib/nexmo_developer/app/models/api_error.rb
station-0.5.1 lib/nexmo_developer/app/models/api_error.rb
station-0.5.0 lib/nexmo_developer/app/models/api_error.rb
station-0.4.9 lib/nexmo_developer/app/models/api_error.rb
station-0.4.8 lib/nexmo_developer/app/models/api_error.rb
station-0.4.7 lib/nexmo_developer/app/models/api_error.rb