class Supersaas::BaseApi
Constants
- DATETIME_REGEX
- INTEGER_REGEX
Attributes
client[RW]
Public Class Methods
new(client)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 8 def initialize(client) @client = client end
Protected Instance Methods
validate_datetime(value)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 33 def validate_datetime(value) begin if value.is_a?(String) && value =~ DATETIME_REGEX value elsif value.is_a?(Time) || value.is_a?(DateTime) value.strftime("%Y-%m-%d %H:%M:%S") else raise ArgumentError end rescue ArgumentError raise Supersaas::Exception.new("Invalid datetime parameter: #{value}. Provide a Time object or formatted 'YYYY-DD-MM HH:MM:SS' string.") end end
validate_id(value)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 14 def validate_id(value) if value.is_a?(Integer) value elsif value.is_a?(String) && value =~ INTEGER_REGEX value.to_i else raise Supersaas::Exception.new("Invalid id parameter: #{value}. Provide a integer value.") end end
validate_number(value)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 23 def validate_number(value); validate_id(value); end
validate_options(value, options)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 47 def validate_options(value, options) if options.include?(value) value else raise Supersaas::Exception.new("Invalid option parameter: #{value}. Must be one of #{options.join(', ')}.") end end
validate_present(value)
click to toggle source
# File lib/supersaas-api-client/api/base_api.rb, line 25 def validate_present(value) if value.is_a?(String) ? value.size : value value else raise Supersaas::Exception.new("Required parameter is missing.") end end