Class: CommandTower::Configuration::Registry::ClientCompatibility::PlatformDefinition
- Inherits:
-
Object
- Object
- CommandTower::Configuration::Registry::ClientCompatibility::PlatformDefinition
- Includes:
- ClassComposer::Generator
- Defined in:
- lib/command_tower/configuration/registry/client_compatibility/platform_definition.rb
Overview
Host-owned platform-global policy for one canonical platform
(web, ios, or android). Authority §5.
Instance Attribute Summary collapse
-
#platform ⇒ Object
readonly
Returns the value of attribute platform.
Instance Method Summary collapse
Instance Attribute Details
#platform ⇒ Object (readonly)
Returns the value of attribute platform.
29 30 31 |
# File 'lib/command_tower/configuration/registry/client_compatibility/platform_definition.rb', line 29 def platform @platform end |
Instance Method Details
#validate_definition!(platform:) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/command_tower/configuration/registry/client_compatibility/platform_definition.rb', line 31 def validate_definition!(platform:) @platform = platform.to_sym self.minimum = require_version!(minimum, field: "minimum") if recommended.present? self.recommended = require_version!(recommended, field: "recommended") if Gem::Version.new(recommended) < Gem::Version.new(minimum) raise CommandTower::ClientCompatibility::ConflictingRequirementError, "platform #{@platform} recommended #{recommended} is lower than minimum #{minimum}" end end if @platform == :web && update_url.present? raise CommandTower::ClientCompatibility::InvalidPlatformError, "platform web MUST NOT configure update_url (web recovery is reload, not an app store)" end self end |