Sha256: 04821a3d20e7b940a67cfd41533923d6a6678f5db9c9980f482ce23d97e6b551

Contents?: true

Size: 668 Bytes

Versions: 52

Compression:

Stored size: 668 Bytes

Contents

require 'active_resource/base'

module ActiveResource
  class Errors < ActiveModel::Errors
    def from_json(json, save_cache = false)
      data = ActiveSupport::JSON.decode(json)['errors'] || {} rescue {}
      case data
      when String
        from_string(data, save_cache)
      else
        from_hash(data, save_cache)
      end
    end

    def from_hash(messages, save_cache = false)
      clear unless save_cache

      messages.each do |key,errors|
        errors.each do |error|
          add(key, error)
        end
      end
    end

    def from_string(error, save_cache = false)
      clear unless save_cache

      add(:base, error)
    end
  end
end

Version data entries

52 entries across 52 versions & 3 rubygems

Version Path
shopify_api-9.2.0 lib/active_resource/json_errors.rb
shopify_api-9.1.0 lib/active_resource/json_errors.rb
shopify_api-9.0.4 lib/active_resource/json_errors.rb
shopify_api-9.0.3 lib/active_resource/json_errors.rb
shopify_api-9.0.2 lib/active_resource/json_errors.rb
shopify_api-9.0.1 lib/active_resource/json_errors.rb
duodealer_api-1.0.0 lib/active_resource/json_errors.rb
shopify_api-9.0.0 lib/active_resource/json_errors.rb
shopify_api-8.1.0 lib/active_resource/json_errors.rb
shopify_api-8.0.0 lib/active_resource/json_errors.rb
shopify_api-7.1.0 lib/active_resource/json_errors.rb
shopify_api-7.0.2 lib/active_resource/json_errors.rb
shopify_api-7.0.1 lib/active_resource/json_errors.rb
shopify_api-7.0.0 lib/active_resource/json_errors.rb
shopify_api-6.0.0 lib/active_resource/json_errors.rb
shopify_api-5.2.4 lib/active_resource/json_errors.rb
shopify_api-5.2.3 lib/active_resource/json_errors.rb
shopify_api-5.2.2 lib/active_resource/json_errors.rb
shopify_api-5.2.1 lib/active_resource/json_errors.rb
shopify_api-5.2.0 lib/active_resource/json_errors.rb