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.5'
- CURRENT =
'1.0'
- FUTURE =
'2.0'
- 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 ⇒ Object
- #to_s ⇒ Object
- #valid_for_update? ⇒ Boolean
Constructor Details
#initialize(version) ⇒ AppVersion
Returns a new instance of AppVersion.
19 20 21 22 23 |
# File 'lib/zendesk_apps_support/app_version.rb', line 19 def initialize(version) @version = version.to_s @version.freeze freeze end |
Instance Method Details
#==(other) ⇒ Object
57 58 59 |
# File 'lib/zendesk_apps_support/app_version.rb', line 57 def ==(other) @version == other.to_s end |
#blank? ⇒ Boolean
41 42 43 |
# File 'lib/zendesk_apps_support/app_version.rb', line 41 def blank? @version.nil? || @version == '' end |
#deprecated? ⇒ Boolean
33 34 35 |
# File 'lib/zendesk_apps_support/app_version.rb', line 33 def deprecated? @version == DEPRECATED end |
#obsolete? ⇒ Boolean
37 38 39 |
# File 'lib/zendesk_apps_support/app_version.rb', line 37 def obsolete? !servable? end |
#present? ⇒ Boolean
45 46 47 |
# File 'lib/zendesk_apps_support/app_version.rb', line 45 def present? !blank? end |
#servable? ⇒ Boolean
25 26 27 |
# File 'lib/zendesk_apps_support/app_version.rb', line 25 def servable? TO_BE_SERVED.include?(@version) end |
#to_json ⇒ Object
53 54 55 |
# File 'lib/zendesk_apps_support/app_version.rb', line 53 def to_json(*) @version.inspect end |
#to_s ⇒ Object
49 50 51 |
# File 'lib/zendesk_apps_support/app_version.rb', line 49 def to_s @version end |
#valid_for_update? ⇒ Boolean
29 30 31 |
# File 'lib/zendesk_apps_support/app_version.rb', line 29 def valid_for_update? VALID_FOR_UPDATE.include?(@version) end |