Sha256: 2f28270364dc9ec824b35596b694b5b50c505af01e1c2a97ec41906f5bd342ff

Contents?: true

Size: 1.94 KB

Versions: 11

Compression:

Stored size: 1.94 KB

Contents

class Withings::ApiError < StandardError
  UNKNOWN_STATUS_CODE = lambda() {|status, path, params| "Unknown status code '#{status}'"}
  STATUS_CODES = {
    100	  => lambda() {|status, path, params| "The hash '#{params[:hash]}' does not match the email '#{params[:email]}'"},
    247	  => lambda() {|status, path, params| "The userid '#{params[:userid]}' is invalid"},
    249	  => lambda() {|status, path, params| "Called an action with invalid oauth credentials"},
    250	  => lambda() {|status, path, params| "The userid '#{params[:userid]}' and publickey '#{params[:publickey]}' do not match, or the user does not share its data"},
    264	  => lambda() {|status, path, params| "The email address '#{params[:email]}' is either unknown or invalid"},
    284   => lambda() {|status, path, params| "Temporary Server Error" },
    286   => lambda() {|status, path, params| "No subscription for '#{params[:callbackurl]}' was found" },
    293	  => lambda() {|status, path, params| "The callback URL '#{params[:callbackurl]}' is either unknown or invalid"},
    294	  => lambda() {|status, path, params| "Could not delete subscription for '#{params[:callbackurl]}'"},
    304	  => lambda() {|status, path, params| "The comment '#{params[:comment]}' is invalid"},
    342	  => lambda() {|status, path, params| "Failed to verify signature"},
    343   => lambda() {|status, path, params| "No notification matching the criteria was found: '#{params[:callbackurl]}'"},
    2554	=> lambda() {|status, path, params| "Unknown action '#{params[:action]}' for '#{path}'"},
    2555	=> lambda() {|status, path, params| "An unknown error occurred"},
  }

  attr_reader :status
  def initialize(status, path, params)
    super(build_message(status, path, params))
    @status = status
  end

  def to_s
    super + " - Status code: #{self.status}"
  end


  protected

  def build_message(status, path, params)
    (STATUS_CODES[status] || UNKNOWN_STATUS_CODE).call(status, path, params)
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
simplificator-withings-0.7.0 lib/withings/error.rb
simplificator-withings-0.6.10 lib/withings/error.rb
simplificator-withings-0.6.9 lib/withings/error.rb
simplificator-withings-0.6.8 lib/withings/error.rb
simplificator-withings-0.6.6 lib/withings/error.rb
simplificator-withings-0.6.5 lib/withings/error.rb
simplificator-withings-0.6.4 lib/withings/error.rb
simplificator-withings-0.6.3 lib/withings/error.rb
simplificator-withings-0.6.2 lib/withings/error.rb
simplificator-withings-0.6.1 lib/withings/error.rb
simplificator-withings-0.6.0 lib/withings/error.rb