Sha256: f53aef8d9682e0cc526850c85b8a0c7177bfbdddcf5fd3459f5adeb2881fa2f2
Contents?: true
Size: 1.59 KB
Versions: 4
Compression:
Stored size: 1.59 KB
Contents
module Charger class LineItem include Resource attribute :subscription_id, Integer attribute :component_id, Integer attribute :name, String attribute :unit_name, String attribute :kind, String # @param [Integer] id the id of the subscription # @return [Array<LineItem>] def self.find_by_subscription_id id items = [] client.get("subscriptions/#{id}/components").each do |data| case data['component']['kind'] when 'metered_component' items << LineItem::Metered.new(data['component']) when 'quantity_based_component' items << LineItem::QuantityBased.new(data['component']) when 'on_off_component' items << LineItem::OnOff.new(data['component']) end end items end # @return [Float] def total 0.0 end def subscription= sub @subscription = sub end # @param [Boolean] force uncache the results from chargify # @return [Subscription] def subscription force=false @subscription = nil if force @subscription ||= Subscription.find(subscription_id) end def component= comp @component = comp end # @param [Boolean] force uncache the results from chargify # @return [Component] def component force=false @component = nil if force unless @component product = subscription.product family = product.product_family @component = Component.find(family.id, component_id) end @component end # @return [Boolean] def allocated? false end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
charger-0.2.0 | lib/charger/line_item.rb |
charger-0.1.1 | lib/charger/line_item.rb |
charger-0.1.0 | lib/charger/line_item.rb |
charger-0.0.3 | lib/charger/line_item.rb |