Class: Spree::ShippingMethod
Constant Summary
collapse
- DISPLAY =
[:both, :front_end, :back_end]
- DISPLAY_ON_FRONT_AND_BACK_END =
0
- DISPLAY_ON_FRONT_END =
1
- DISPLAY_ON_BACK_END =
2
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
page, spree_base_scopes
#clear_preferences, #default_preferences, #defined_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_type, #set_preference
Class Method Details
.calculators ⇒ Object
41
42
43
44
|
# File 'app/models/spree/shipping_method.rb', line 41
def self.calculators
spree_calculators.send(model_name_without_spree_namespace)
.select { |c| c.to_s.constantize < Spree::ShippingCalculator }
end
|
Instance Method Details
#available_to_display(display_filter) ⇒ Object
#build_tracking_url(tracking) ⇒ Object
36
37
38
39
|
# File 'app/models/spree/shipping_method.rb', line 36
def build_tracking_url(tracking)
return if tracking.blank? || tracking_url.blank?
tracking_url.gsub(/:tracking/, ERB::Util.url_encode(tracking)) end
|
#frontend? ⇒ Boolean
Some shipping methods are only meant to be set via backend
47
48
49
|
# File 'app/models/spree/shipping_method.rb', line 47
def frontend?
self.display_on != "back_end"
end
|
#include?(address) ⇒ Boolean
29
30
31
32
33
34
|
# File 'app/models/spree/shipping_method.rb', line 29
def include?(address)
return false unless address
zones.includes(:zone_members).any? do |zone|
zone.include?(address)
end
end
|
#tax_category ⇒ Object
51
52
53
|
# File 'app/models/spree/shipping_method.rb', line 51
def tax_category
Spree::TaxCategory.unscoped { super }
end
|