module Saaz::StripeObject
Attributes
stripe_dirty[W]
Public Instance Methods
delegate_all_to_stripe(stripe_obj)
click to toggle source
# File lib/saaz/stripe_object.rb, line 45 def delegate_all_to_stripe(stripe_obj) stripe_obj.keys.each do |attribute| delegate_getter(attribute) delegate_setter(attribute) end end
delegate_getter(attribute)
click to toggle source
# File lib/saaz/stripe_object.rb, line 28 def delegate_getter(attribute) return if self.respond_to?(attribute) delegate_to_stripe(attribute) do to_stripe.send(attribute) end end
delegate_setter(attribute)
click to toggle source
# File lib/saaz/stripe_object.rb, line 35 def delegate_setter(attribute) setter_name = (attribute.to_s + '=').to_sym return if self.respond_to?(setter_name) delegate_to_stripe(setter_name) do |v| self.stripe_dirty = true to_stripe.send(setter_name, v) end end
delegate_to_stripe(name, &block)
click to toggle source
# File lib/saaz/stripe_object.rb, line 22 def delegate_to_stripe(name, &block) (class << self; self; end).class_eval do define_method name, &block end end
method_missing(method_name, *args, &block)
click to toggle source
Calls superclass method
# File lib/saaz/stripe_object.rb, line 52 def method_missing(method_name, *args, &block) begin # Try the rails magic first super rescue NoMethodError => e # See if the wrapped stripe object defines this to_stripe if methods.include? method_name send(method_name, *args, &block) else fail e end end end
stripe_dirty()
click to toggle source
# File lib/saaz/stripe_object.rb, line 9 def stripe_dirty @stripe_dirty || false end
update_stripe()
click to toggle source
# File lib/saaz/stripe_object.rb, line 13 def update_stripe begin to_stripe.save self.stripe_dirty = false rescue Stripe::StripeError => e self.errors[:base] << e.message end end