Module: Jumbotron::Deserializers::Clients::Espn::Support
- Defined in:
- app/deserializers/jumbotron/deserializers/clients/espn/support.rb
Class Method Summary collapse
- .coerce_id(raw) ⇒ Object
- .ensure_hash!(value, label:) ⇒ Object
- .missing ⇒ Object
- .nest(key, raw) ⇒ Object
- .payload ⇒ Object
- .types ⇒ Object
- .whole_number(raw) ⇒ Object
Class Method Details
.coerce_id(raw) ⇒ Object
52 53 54 55 56 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 52 def coerce_id(raw) return raw if raw.equal?(missing) || raw.nil? || raw.is_a?(String) raw.to_s end |
.ensure_hash!(value, label:) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 22 def ensure_hash!(value, label:) return if value.is_a?(Hash) raise CommandTower::Clients::Errors::DeserializationError.new( message: "#{label} payload must be a Hash", details: { path: "", expected: "Hash", actual: value.class.name, rule: "type", messages: ["#{label} payload must be a Hash"] } ) end |
.missing ⇒ Object
18 19 20 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 18 def missing CommandTower::Deserializers::Clients::Missing end |
.nest(key, raw) ⇒ Object
37 38 39 40 41 42 43 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 37 def nest(key, raw) return raw if raw.equal?(missing) || raw.nil? yield raw rescue CommandTower::Clients::Errors::DeserializationError => e raise CommandTower::Deserializers::Clients::Errors.prefix(e, key) end |
.payload ⇒ Object
14 15 16 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 14 def payload CommandTower::Deserializers::Clients::Payload end |
.types ⇒ Object
10 11 12 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 10 def types CommandTower::Deserializers::Clients::Types end |
.whole_number(raw) ⇒ Object
45 46 47 48 49 50 |
# File 'app/deserializers/jumbotron/deserializers/clients/espn/support.rb', line 45 def whole_number(raw) return raw if raw.equal?(missing) || raw.nil? return raw.to_i if raw.is_a?(Float) && raw == raw.to_i raw end |