Class: ECpayInvoice::QueryParamVerify

Inherits:
InvoiceVerifyBase show all
Includes:
ECpayErrorDefinition
Defined in:
lib/ecpay_invoice/verification.rb

Instance Method Summary collapse

Methods inherited from InvoiceVerifyBase

#get_all_pattern, #get_basic_params, #get_cond_param, #get_depopt_param_pattern, #get_int_param_pattern, #get_opt_param_pattern, #get_param_type, #get_special_encode_param, #get_str_param_pattern, #get_svc_url, #verify_param_by_pattern

Constructor Details

#initialize(apiname) ⇒ QueryParamVerify

Returns a new instance of QueryParamVerify.



974
975
976
977
978
# File 'lib/ecpay_invoice/verification.rb', line 974

def initialize(apiname)
    @inv_basic_param = self.get_basic_params(apiname).freeze
    @inv_conditional_param = self.get_cond_param(apiname).freeze
    @all_param_pattern = self.get_all_pattern(apiname).freeze
end

Instance Method Details

#verify_query_param(params) ⇒ Object



980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
# File 'lib/ecpay_invoice/verification.rb', line 980

def verify_query_param(params)
    if params.is_a?(Hash)
        param_diff = @inv_basic_param - params.keys
        unless param_diff == []
            raise ECpayInvalidParam, "Lack required param #{param_diff}"
        end

        #Verify Value pattern of each param
        self.verify_param_by_pattern(params, @all_param_pattern)

    else
        raise TypeError, "Recieved argument is not a hash"
    end

end