Sha256: d1211067061da17094b458a21d5dfd9332af09f5a7ba07d309dbe8053cc158ad

Contents?: true

Size: 979 Bytes

Versions: 5

Compression:

Stored size: 979 Bytes

Contents

module Conekta
  class LineItem < Resource
    include Conekta::Operations::Delete
    include Conekta::Operations::Update
    include Conekta::Operations::CustomAction

    attr_accessor :name, :description, :unit_price, :quantity,
                  :sku, :shippable, :tags, :brand, :type,
                  :parent_id

    def _url
      if (id.nil? || id.to_s.empty?)
        exception = Error.new({
          "message" => I18n.t('error.resource.id',  { resource: self.class.class_name, locale: :en }),
          "message_to_purchaser" => I18n.t('error.resource.id_purchaser',  { locale: Conekta.locale.to_sym })
        })

        if Conekta.api_version == "2.0.0"
          error_list = Conekta::ErrorList.new
          error_list.details << exception
          exception = error_list
        end

        raise exception
      end

      "#{self.order._url}#{self.class._url}/#{id}"
    end

    def delete
      self.delete_member('order','line_items')
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
conekta-2.0.0 lib/conekta/line_item.rb
conekta-1.1.3 lib/conekta/line_item.rb
conekta-1.1.2 lib/conekta/line_item.rb
conekta-1.1.1 lib/conekta/line_item.rb
conekta-1.1.0 lib/conekta/line_item.rb