module PayBoutique::Parametrizable
Public Class Methods
new(params)
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 3 def initialize(params) @params = params filter_params verify_params __setobj__ @params end
Public Instance Methods
postback_url()
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 18 def postback_url @postback_url || PayBoutique.configuration.send("#{@params.payment_method}_postback_url") || PayBoutique.configuration.postback_url end
Private Instance Methods
existing_params()
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 43 def existing_params @existing_params ||= @params.to_h.keys.compact + PayBoutique.configuration.config.compact.keys end
filter_params()
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 37 def filter_params @params.to_h.each_key do |field| @params.delete_field field if !self.class.params.include?(field) && @params[field] end end
time()
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 25 def time @time ||= Time.now.utc.strftime('%Y%m%dT%H%M%S+00') end
verify_params()
click to toggle source
# File lib/pay_boutique/parametrizable.rb, line 29 def verify_params missed_params = self.class.required_params - (existing_params & self.class.required_params) return unless missed_params.any? missed_params = missed_params.map(&:inspect).join(', ') raise ArgumentError, "wrong arguments, missed: #{missed_params}" end