Sha256: 9d685d7d8b1b80d27129c6bd5fc34f0ac7c62db482ea2dd94a60f80c4512f38b

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

module PayuLatam
  class Invoice < Request
    attr_reader :url, :data
    attr_accessor :resource, :params

    # in order to take the correct url
    def initialize(data = {})
      @data = data
      @params = @data
      url
      _id
      load(@id)
    end

    def _id
      @id = @data[:customerId]     if !@data[:customerId].nil?
      @id = @data[:subscriptionId] if !@data[:subscriptionId].nil?
    end

    def load(id)
      raise ArgumentError, 'params are nil' if @data.nil?
      customer_url     if !@data[:customerId].nil?
      subscription_url if !@data[:subscriptionId].nil?

      if !@data[:customerId].nil? && !@data[:start_date].nil? && !@data[:end_date].nil?
        @dateBegin = @data[:start_date]
        @dateFinal = @data[:end_date]
        range_url
      end

      return if @id.nil?

      super
    end

    def url
      @url = PayuLatam.base_url + "/rest/#{RApi.api_version}/recurringBill"
    end

    def customer_url
      @url = url + '?customerId='
    end

    def subscription_url
      @url = url + '?subscriptionId='
    end

    # año día mes
    def range_url
      @url = url "?customerId=#{@id}&dateBegin=#{@dateBegin}&dateFinal=#{@dateFinal}"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
easy_pay_u_latam-0.1.32 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.31 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.29 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.28 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.27 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.26 lib/easy_pay_u_latam/r_api/invoice.rb