Class: Spree::ShippingMethod
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Spree::ShippingMethod
- Includes:
- Core::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
- #adjustment_label ⇒ Object
- #build_tracking_url(tracking) ⇒ Object
-
#frontend? ⇒ Boolean
Some shipping methods are only meant to be set via backend.
- #include?(address) ⇒ Boolean
- #zone ⇒ Object
- #zone=(zone) ⇒ Object
Methods included from Core::CalculatedAdjustments
Class Method Details
.calculators ⇒ Object
49 50 51 |
# File 'app/models/spree/shipping_method.rb', line 49 def self.calculators spree_calculators.send(model_name_without_spree_namespace).select{|c| c.name.start_with?("Spree::Calculator::Shipping::")} end |
Instance Method Details
#adjustment_label ⇒ Object
24 25 26 |
# File 'app/models/spree/shipping_method.rb', line 24 def adjustment_label Spree.t(:shipping) end |
#build_tracking_url(tracking) ⇒ Object
45 46 47 |
# File 'app/models/spree/shipping_method.rb', line 45 def build_tracking_url(tracking) tracking_url.gsub(/:tracking/, tracking) unless tracking.blank? || tracking_url.blank? end |
#frontend? ⇒ Boolean
Some shipping methods are only meant to be set via backend
54 55 56 |
# File 'app/models/spree/shipping_method.rb', line 54 def frontend? self.display_on != "back_end" end |
#include?(address) ⇒ Boolean
38 39 40 41 42 43 |
# File 'app/models/spree/shipping_method.rb', line 38 def include?(address) return false unless address zones.any? do |zone| zone.include?(address) end end |
#zone ⇒ Object
28 29 30 31 |
# File 'app/models/spree/shipping_method.rb', line 28 def zone ActiveSupport::Deprecation.warn("[SPREE] ShippingMethod#zone is no longer correct. Multiple zones need to be supported") zones.first end |
#zone=(zone) ⇒ Object
33 34 35 36 |
# File 'app/models/spree/shipping_method.rb', line 33 def zone=(zone) ActiveSupport::Deprecation.warn("[SPREE] ShippingMethod#zone= is no longer correct. Multiple zones need to be supported") zones = zone end |