Class: Spree::ShippingMethod
- Includes:
- CalculatedAdjustments
- Defined in:
- app/models/spree/shipping_method.rb
Constant Summary collapse
- DISPLAY =
[:both, :front_end, :back_end]
Class Method Summary collapse
Instance Method Summary collapse
- #build_tracking_url(tracking) ⇒ Object
-
#frontend? ⇒ Boolean
Some shipping methods are only meant to be set via backend.
- #include?(address) ⇒ Boolean
Methods inherited from Base
#initialize_preference_defaults, page, preference
Methods included from Preferences::Preferable
#default_preferences, #defined_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_type, #set_preference
Class Method Details
.calculators ⇒ Object
34 35 36 |
# File 'app/models/spree/shipping_method.rb', line 34 def self.calculators spree_calculators.send(model_name_without_spree_namespace).select{ |c| c < Spree::ShippingCalculator } end |
Instance Method Details
#build_tracking_url(tracking) ⇒ Object
29 30 31 32 |
# File 'app/models/spree/shipping_method.rb', line 29 def build_tracking_url(tracking) return if tracking.blank? || tracking_url.blank? tracking_url.gsub(/:tracking/, ERB::Util.url_encode(tracking)) # :url_encode exists in 1.8.7 through 2.1.0 end |
#frontend? ⇒ Boolean
Some shipping methods are only meant to be set via backend
39 40 41 |
# File 'app/models/spree/shipping_method.rb', line 39 def frontend? self.display_on != "back_end" end |
#include?(address) ⇒ Boolean
22 23 24 25 26 27 |
# File 'app/models/spree/shipping_method.rb', line 22 def include?(address) return false unless address zones.any? do |zone| zone.include?(address) end end |