Sha256: 5bef8903021a24547451d9215c2b87775c9d285dc3a997c8c40881396209e6d6

Contents?: true

Size: 596 Bytes

Versions: 3

Compression:

Stored size: 596 Bytes

Contents

require 'active_model'
require 'json'

module Xpanse2go
  class Package
    include ActiveModel::Model

    attr_accessor :items

    validates_presence_of :items

    def initialize
      @items = []
    end

    def attributes
      @items
    end

    def empty?
      items.count.zero?
    end

    def add_item(item)
      items << item.attributes if item.is_a?(Xpanse2go::PackageItem)
      self
    end

    def add_item_with_quantity(item, quantity)
      (0..quantity).each do
        items << item.attributes if item.is_a?(Xpanse2go::PackageItem)
      end
      self
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xpanse_2go-0.1.3 lib/xpanse_2go/package.rb
xpanse_2go-0.1.2 lib/xpanse_2go/package.rb
xpanse_2go-0.1.0 lib/xpanse_2go/package.rb