Skip to content

Instantly share code, notes, and snippets.

@darron
Forked from beautifulcode/gist:101791
Created April 26, 2009 02:01

Revisions

  1. @beautifulcode beautifulcode renamed this gist Apr 25, 2009. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. @beautifulcode beautifulcode revised this gist Apr 25, 2009. 1 changed file with 7 additions and 19 deletions.
    26 changes: 7 additions & 19 deletions gistfile1.diff
    Original file line number Diff line number Diff line change
    @@ -1,24 +1,12 @@
    diff --git a/app/models/order.rb b/app/models/order.rb
    index 00799d0..3ae6013 100644
    --- a/app/models/order.rb
    +++ b/app/models/order.rb
    @@ -70,11 +70,17 @@ class Order < ActiveRecord::Base
    end

    class Order < ActiveRecord::Base

    def processing_fee
    + # These are the packages with a processing fee.
    + require_processing_fee = ['Package', 'FamilyPackage', 'LadiesPackage', 'CompletePackage']
    # Fee.find_by_title('processing').amount

    packages_with_processing_fees = ['Package', 'FamilyPackage', 'LadiesPackage', 'CompletePackage']
    fee = 0
    # Only apply fee if cart contains a basic package
    - if line_items.any? {|item| item.item.class.name == 'Package' }
    - fee = 3.00
    + if line_items.any? do |item|
    + case item.item.class.name
    + when *require_processing_fee
    + fee = 3.00
    + end
    + end
    # Only apply fee if cart contains an item with processing fees
    fee = 3.00 if line_items.any? {|line_item| packages_with_processing_fees.include? line_item.item.class.to_s }

    if customer
    fee = 5.00 unless "Canada United States Mexico".include? customer.country
    end
  3. darron created this gist Apr 25, 2009.
    24 changes: 24 additions & 0 deletions gistfile1.diff
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    diff --git a/app/models/order.rb b/app/models/order.rb
    index 00799d0..3ae6013 100644
    --- a/app/models/order.rb
    +++ b/app/models/order.rb
    @@ -70,11 +70,17 @@ class Order < ActiveRecord::Base
    end

    def processing_fee
    + # These are the packages with a processing fee.
    + require_processing_fee = ['Package', 'FamilyPackage', 'LadiesPackage', 'CompletePackage']
    # Fee.find_by_title('processing').amount
    fee = 0
    # Only apply fee if cart contains a basic package
    - if line_items.any? {|item| item.item.class.name == 'Package' }
    - fee = 3.00
    + if line_items.any? do |item|
    + case item.item.class.name
    + when *require_processing_fee
    + fee = 3.00
    + end
    + end
    if customer
    fee = 5.00 unless "Canada United States Mexico".include? customer.country
    end