Class: CommandTower::Configuration::Registry::ClientCompatibility::MinimumOverrides
- Inherits:
-
Object
- Object
- CommandTower::Configuration::Registry::ClientCompatibility::MinimumOverrides
- Includes:
- ClassComposer::Generator
- Defined in:
- lib/command_tower/configuration/registry/client_compatibility/minimum_overrides.rb
Overview
Direct per-platform minimum overrides on a host-owned entity requirement
(mutually exclusive with a client_contract reference). Authority §6.
Instance Method Summary collapse
Instance Method Details
#any_set? ⇒ Boolean
18 19 20 |
# File 'lib/command_tower/configuration/registry/client_compatibility/minimum_overrides.rb', line 18 def any_set? [web, ios, android].any?(&:present?) end |
#for_platform(platform) ⇒ Object
22 23 24 |
# File 'lib/command_tower/configuration/registry/client_compatibility/minimum_overrides.rb', line 22 def for_platform(platform) public_send(platform) end |
#validate!(name:) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/command_tower/configuration/registry/client_compatibility/minimum_overrides.rb', line 26 def validate!(name:) %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, "entity requirement #{name} has invalid minimum.#{platform} #{value.inspect}" end public_send("#{platform}=", normalized) end self end |