Module: CommandTower::Deserializers::Admin::Users::IdentityId

Defined in:
app/deserializers/command_tower/deserializers/admin/users.rb

Class Method Summary collapse

Class Method Details

.coerce(raw) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 10

def coerce(raw)
  return raw if raw.is_a?(Integer) && raw.positive?
  return if raw.nil?

  text = raw.to_s.strip
  return if text.empty? || !/\A\d+\z/.match?(text)

  Integer(text, 10).then { |value| value.positive? ? value : nil }
rescue ArgumentError
  nil
end