class StarkBank::Utils::Checks
Public Class Methods
check_date(data)
click to toggle source
# File lib/utils/checks.rb, line 64 def self.check_date(data) return if data.nil? return Date.new(data.year, data.month, data.day) if data.is_a?(Time) || data.is_a?(DateTime) return data if data.is_a?(Date) data, type = check_datetime_string(data) type == 'date' ? Date.new(data.year, data.month, data.day) : data end
check_date_or_datetime(data)
click to toggle source
# File lib/utils/checks.rb, line 42 def self.check_date_or_datetime(data) return if data.nil? return data if data.is_a?(Time) || data.is_a?(DateTime) return data if data.is_a?(Date) data, type = check_datetime_string(data) type == 'date' ? Date.new(data.year, data.month, data.day) : data end
check_datetime(data)
click to toggle source
# File lib/utils/checks.rb, line 53 def self.check_datetime(data) return if data.nil? return data if data.is_a?(Time) || data.is_a?(DateTime) return Time.new(data.year, data.month, data.day) if data.is_a?(Date) data, _type = check_datetime_string(data) data end
check_environment(environment)
click to toggle source
# File lib/utils/checks.rb, line 28 def self.check_environment(environment) environments = StarkBank::Utils::Environment.constants(false).map { |c| StarkBank::Utils::Environment.const_get(c) } raise(ArgumentError, "Select a valid environment: #{environments.join(', ')}") unless environments.include?(environment) environment end
check_language()
click to toggle source
# File lib/utils/checks.rb, line 20 def self.check_language language = StarkBank.language accepted_languages = %w[en-US pt-BR] raise(ArgumentError, "Select a valid language: #{accepted_languages.join(', ')}") unless accepted_languages.include?(language) language end
check_private_key(pem)
click to toggle source
# File lib/utils/checks.rb, line 35 def self.check_private_key(pem) EllipticCurve::PrivateKey.fromPem(pem) pem rescue raise(ArgumentError, 'Private-key must be a valid secp256k1 ECDSA string in pem format') end
check_user(user)
click to toggle source
# File lib/utils/checks.rb, line 11 def self.check_user(user) return user if user.is_a?(StarkBank::User) user = user.nil? ? StarkBank.user : user raise(ArgumentError, 'A user is required to access our API. Check our README: https://github.com/starkbank/sdk-ruby/') if user.nil? user end
Private Class Methods
check_datetime_string(data)
click to toggle source
# File lib/utils/checks.rb, line 79 def check_datetime_string(data) data = data.to_s begin return [DateTime.strptime(data, '%Y-%m-%dT%H:%M:%S.%L+00:00'), 'datetime'] rescue ArgumentError end begin return [DateTime.strptime(data, '%Y-%m-%dT%H:%M:%S+00:00'), 'datetime'] rescue ArgumentError end begin return [DateTime.strptime(data, '%Y-%m-%d'), 'date'] rescue ArgumentError raise(ArgumentError, 'invalid datetime string ' + data) end end