module ZendeskAppsTools::ManifestHandler
Constants
- VERSION_PARTS
Attributes
semver[R]
Private Instance Methods
load_manifest()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 27 def load_manifest manifest_json = File.read(manifest_json_path) @manifest = JSON.load(manifest_json) rescue => e say_error_and_exit e.message end
manifest_json_path()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 23 def manifest_json_path 'manifest.json' end
normalize_version()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 40 def normalize_version VERSION_PARTS.each do |part| semver[part] = (semver[part] || '0').to_i end end
read_version()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 34 def read_version version = @manifest.fetch('version', '0.0.0') sem_parts = sub_semver(version) @semver = sem_parts.names.map(&:to_sym).zip(sem_parts.to_a.drop(1)).to_h end
sub_semver(v)
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 57 def sub_semver(v) v.match(/\A(?<v>v)?(?<major>\d+)(?:\.(?<minor>\d+)(?:\.(?<patch>\d+))?)?\Z/) end
update_version()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 46 def update_version @manifest['version'] = version end
version(v: false)
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 61 def version(v: false) [ v ? 'v' : semver[:v], [ semver[:major], semver[:minor], semver[:patch] ].compact.map(&:to_s).join('.') ].compact.join end
write_manifest()
click to toggle source
# File lib/zendesk_apps_tools/manifest_handler.rb, line 50 def write_manifest File.open(manifest_json_path, 'w') do |f| f.write(JSON.pretty_generate(@manifest)) f.write("\n") end end