Sha256: 1bd717314795a907b5e6cd623926f82c3f681d10a4476714fea9438ab4589b59
Contents?: true
Size: 1.43 KB
Versions: 9
Compression:
Stored size: 1.43 KB
Contents
require 'multi_json' module ZendeskAppsSupport # At any point in time, we support up to three versions: # * deprecated -- we will still serve apps targeting the deprecated version, # but newly created or updated apps CANNOT target it # * current -- we will serve apps targeting the current version; # newly created or updated apps SHOULD target it # * future -- we will serve apps targeting the future version; # newly created or updates apps MAY target it, but it # may change without notice class AppVersion DEPRECATED = '0.4'.freeze CURRENT = '0.5'.freeze FUTURE = nil TO_BE_SERVED = [ DEPRECATED, CURRENT, FUTURE ].compact.freeze VALID_FOR_UPDATE = [ CURRENT, FUTURE ].compact.freeze def initialize(version) @version = version.to_s @version.freeze freeze end def servable? TO_BE_SERVED.include?(@version) end def valid_for_update? VALID_FOR_UPDATE.include?(@version) end def deprecated? @version == DEPRECATED end def obsolete? !servable? end def blank? @version.nil? || @version == '' end def present? !blank? end def to_s @version end def to_json(*options) MultiJson.encode(@version) end def ==(other) @version == other.to_s end end AppVersion.freeze end
Version data entries
9 entries across 9 versions & 1 rubygems