Class: ShippingMethod

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/shipping_method.rb

Constant Summary collapse

DISPLAY =
[:both, :front_end, :back_end]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.all_available(order, display_on = nil) ⇒ Object



16
17
18
# File 'app/models/shipping_method.rb', line 16

def self.all_available(order, display_on=nil)
  all.select { |method| method.available_to_order?(order,display_on)}
end

Instance Method Details

#available?(order, display_on = nil) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'app/models/shipping_method.rb', line 8

def available?(order, display_on=nil)
  (self.display_on == display_on.to_s || self.display_on.blank?) && calculator.available?(order)
end

#available_to_order?(order, display_on = nil) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'app/models/shipping_method.rb', line 12

def available_to_order?(order, display_on=nil)
  available?(order,display_on) && zone && zone.include?(order.ship_address)
end