Class: ZendeskAppsSupport::AppVersion
- Inherits:
-
Object
- Object
- ZendeskAppsSupport::AppVersion
- Defined in:
- lib/zendesk_apps_support/app_version.rb
Overview
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
Constant Summary collapse
- DEPRECATED =
'0.4'.freeze
- CURRENT =
'0.5'.freeze
- FUTURE =
'1.0'.freeze
- TO_BE_SERVED =
[ DEPRECATED, CURRENT, FUTURE ].compact.freeze
- VALID_FOR_UPDATE =
[ CURRENT, FUTURE ].compact.freeze
Instance Method Summary collapse
- #==(other) ⇒ Object
- #blank? ⇒ Boolean
- #deprecated? ⇒ Boolean
-
#initialize(version) ⇒ AppVersion
constructor
A new instance of AppVersion.
- #obsolete? ⇒ Boolean
- #present? ⇒ Boolean
- #servable? ⇒ Boolean
- #to_json(*options) ⇒ Object
- #to_s ⇒ Object
- #valid_for_update? ⇒ Boolean
Constructor Details
#initialize(version) ⇒ AppVersion
Returns a new instance of AppVersion.
22 23 24 25 26 |
# File 'lib/zendesk_apps_support/app_version.rb', line 22 def initialize(version) @version = version.to_s @version.freeze freeze end |
Instance Method Details
#==(other) ⇒ Object
60 61 62 |
# File 'lib/zendesk_apps_support/app_version.rb', line 60 def ==(other) @version == other.to_s end |
#blank? ⇒ Boolean
44 45 46 |
# File 'lib/zendesk_apps_support/app_version.rb', line 44 def blank? @version.nil? || @version == '' end |
#deprecated? ⇒ Boolean
36 37 38 |
# File 'lib/zendesk_apps_support/app_version.rb', line 36 def deprecated? @version == DEPRECATED end |
#obsolete? ⇒ Boolean
40 41 42 |
# File 'lib/zendesk_apps_support/app_version.rb', line 40 def obsolete? !servable? end |
#present? ⇒ Boolean
48 49 50 |
# File 'lib/zendesk_apps_support/app_version.rb', line 48 def present? !blank? end |
#servable? ⇒ Boolean
28 29 30 |
# File 'lib/zendesk_apps_support/app_version.rb', line 28 def servable? TO_BE_SERVED.include?(@version) end |
#to_json(*options) ⇒ Object
56 57 58 |
# File 'lib/zendesk_apps_support/app_version.rb', line 56 def to_json(*) MultiJson.encode(@version) end |
#to_s ⇒ Object
52 53 54 |
# File 'lib/zendesk_apps_support/app_version.rb', line 52 def to_s @version end |
#valid_for_update? ⇒ Boolean
32 33 34 |
# File 'lib/zendesk_apps_support/app_version.rb', line 32 def valid_for_update? VALID_FOR_UPDATE.include?(@version) end |