Class: StarkCore::Utils::Checks

Inherits:
Object
  • Object
show all
Defined in:
lib/utils/checks.rb

Class Method Summary collapse

Class Method Details

.check_date(data) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
# File 'lib/utils/checks.rb', line 60

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) ⇒ Object



38
39
40
41
42
43
44
45
46
47
# File 'lib/utils/checks.rb', line 38

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) ⇒ Object



49
50
51
52
53
54
55
56
57
58
# File 'lib/utils/checks.rb', line 49

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)
  return data
end

.check_environment(environment) ⇒ Object

Raises:

  • (ArgumentError)


11
12
13
14
15
# File 'lib/utils/checks.rb', line 11

def self.check_environment(environment)
  environments = StarkCore::Environment.constants(false).map { |c| StarkCore::Environment.const_get(c) }
  raise(ArgumentError, "Select a valid environment: #{environments.join(', ')}") unless environments.include?(environment)
  return environment
end

.check_language(language) ⇒ Object

Raises:

  • (ArgumentError)


31
32
33
34
35
36
# File 'lib/utils/checks.rb', line 31

def self.check_language(language)
  language = language.nil? ? StarkCore.language : language
  accepted_languages = %w[en-US pt-BR]
  raise(ArgumentError, "Select a valid language: #{accepted_languages.join(', ')}") unless accepted_languages.include?(language)
  return language
end

.check_private_key(pem) ⇒ Object



17
18
19
20
21
22
# File 'lib/utils/checks.rb', line 17

def self.check_private_key(pem)
  EllipticCurve::PrivateKey.fromPem(pem)
  return pem
rescue
  raise(ArgumentError, 'Private-key must be a valid secp256k1 ECDSA string in pem format')
end

.check_user(user) ⇒ Object

Raises:

  • (ArgumentError)


24
25
26
27
28
29
# File 'lib/utils/checks.rb', line 24

def self.check_user(user)
  return user if user.is_a?(StarkCore::User)
  user = user.nil? ? StarkCore.user : user
  raise(ArgumentError, 'A user is required to access our API. Check our README: https://github.com/starkbank/sdk-ruby/') if user.nil?
  return user
end