Skip to content

Instantly share code, notes, and snippets.

@Sihui
Last active August 3, 2017 05:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sihui/4abc3f89c753cb385f9b23c9837ac8a3 to your computer and use it in GitHub Desktop.
Save Sihui/4abc3f89c753cb385f9b23c9837ac8a3 to your computer and use it in GitHub Desktop.
Design Pattern: Facade and 1-Click Ordering
class OneClickCheckout
attr_reader :checkout_process, :default_address, :default_payment
def initialize(order, default_address, default_payment)
@checkout_process = CheckoutProcess.new(order)
@default_address = default_address
@default_payment = default_payment
end
def click
@checkout_process.set_shipping_address(default_address)
@checkout_process.set_payment_method(default_payment)
@checkout_process.place_order
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment