Sha256: 150d29f209046f56e956e8c748c7456e51ba387cf0b077088e387dc39c1e6d0b

Contents?: true

Size: 1.17 KB

Versions: 8

Compression:

Stored size: 1.17 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/v4.9/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

8 entries across 8 versions & 1 rubygems

Version Path
easy_pay_u_latam-0.1.23 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.22 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.21 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.20 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.19 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.18 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.17 lib/easy_pay_u_latam/r_api/invoice.rb
easy_pay_u_latam-0.1.16 lib/easy_pay_u_latam/r_api/invoice.rb