Sha256: a3c2eccc29e711dd59dc0bd9ac7637d14cf6b582efd0a45094ba46cf8d914a3c

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

module Moip::Assinaturas
  class Customer

    class << self

      def create(customer, new_valt = true)
        response = Moip::Assinaturas::Client.create_customer(customer, new_valt)
        hash     = JSON.load(response.body).with_indifferent_access

        case response.code
        when 201
          return {
            success: true,
            message: hash['message']
          }
        when 400
          return {
            success: false,
            message: hash['message'],
            errors:  hash['errors']
          }
        else
          raise(WebServerResponseError, "Ocorreu um erro no retorno do webservice")
        end
      end

      def list
        response = Moip::Assinaturas::Client.list_customers
        hash     = JSON.load(response.body).with_indifferent_access

        case response.code
        when 200
          return {
            success:    true,
            customers:  hash['customers']
          }
        else
          raise(WebServerResponseError, "Ocorreu um erro no retorno do webservice")
        end
      end

      def details(code)
        response = Moip::Assinaturas::Client.details_customer(code)
        hash     = JSON.load(response.body).with_indifferent_access

        case response.code
        when 200
          return {
            success:   true,
            customer:  hash
          }
        else
          raise(WebServerResponseError, "Ocorreu um erro no retorno do webservice")
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
moip-assinaturas-0.0.3 lib/moip-assinaturas/customer.rb