Class: FriendlyShipping::PackageOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_shipping/package_options.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package_id:, item_options: Set.new, item_options_class: ItemOptions) ⇒ PackageOptions

Returns a new instance of PackageOptions.



7
8
9
10
11
12
13
14
15
# File 'lib/friendly_shipping/package_options.rb', line 7

def initialize(
  package_id:,
  item_options: Set.new,
  item_options_class: ItemOptions
)
  @package_id = package_id
  @item_options = item_options
  @item_options_class = item_options_class
end

Instance Attribute Details

#package_idObject (readonly)

Returns the value of attribute package_id.



5
6
7
# File 'lib/friendly_shipping/package_options.rb', line 5

def package_id
  @package_id
end

Instance Method Details

#options_for_item(item) ⇒ Object



17
18
19
20
21
# File 'lib/friendly_shipping/package_options.rb', line 17

def options_for_item(item)
  item_options.detect do |item_option|
    item_option.item_id == item.id
  end || item_options_class.new(item_id: nil)
end