Class: CommandTower::Configuration::Registry::ClientCompatibility::BindingDefinition
- Inherits:
-
Object
- Object
- CommandTower::Configuration::Registry::ClientCompatibility::BindingDefinition
- Includes:
- ClassComposer::Generator
- Defined in:
- lib/command_tower/configuration/registry/client_compatibility/binding_definition.rb
Overview
Host-owned per-platform host-app version bound to a named client contract. Authority §7.
Instance Method Summary collapse
Instance Method Details
#for_platform(platform) ⇒ Object
18 19 20 |
# File 'lib/command_tower/configuration/registry/client_compatibility/binding_definition.rb', line 18 def for_platform(platform) public_send(platform) end |
#validate!(contract_id:) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/command_tower/configuration/registry/client_compatibility/binding_definition.rb', line 22 def validate!(contract_id:) %i[web ios android].each do |platform| value = public_send(platform) next if value.blank? normalized = CommandTower::ClientCompatibility::Version.normalize(value) if normalized.nil? raise CommandTower::ClientCompatibility::InvalidVersionError, "binding for client contract #{contract_id} has invalid #{platform} #{value.inspect}" end public_send("#{platform}=", normalized) end self end |