Class: Motion::Project::Sparkle::Appcast
- Inherits:
-
Object
- Object
- Motion::Project::Sparkle::Appcast
- Defined in:
- lib/motion/project/appcast.rb
Constant Summary collapse
- PARAMS =
%i[ package_base_url package_filename notes_base_url notes_filename use_exported_private_key base_url releases_folder feed_base_url feed_filename ].freeze
- CLI_OPTIONS =
{ account: '--account', private_ed_key_file: '--ed-key-file', download_url_prefix: '--download-url-prefix', release_notes_url_prefix: '--release-notes-url-prefix', full_release_notes_url: '--full-release-notes-url', link: '--link', versions: '--versions', maximum_deltas: '--maximum-deltas', delta_compression: '--delta-compression', delta_compression_level: '--delta-compression-level', channel: '--channel', major_version: '--major-version', ignore_skipped_upgrades_below_version: '--ignore-skipped-upgrades-below-version', phased_rollout_interval: '--phased-rollout-interval', critical_update_version: '--critical-update-version', informational_update_versions: '--informational-update-versions', output_path: '-o' }.freeze
Instance Attribute Summary collapse
-
#base_url ⇒ Object
Returns the value of attribute base_url.
-
#cli_options ⇒ Object
Returns the value of attribute cli_options.
-
#feed_base_url ⇒ Object
Returns the value of attribute feed_base_url.
-
#feed_filename ⇒ Object
Returns the value of attribute feed_filename.
- #notes_base_url ⇒ Object
-
#notes_filename ⇒ Object
Returns the value of attribute notes_filename.
- #package_base_url ⇒ Object
-
#package_filename ⇒ Object
Returns the value of attribute package_filename.
-
#releases_folder ⇒ Object
Returns the value of attribute releases_folder.
-
#use_exported_private_key ⇒ Object
Returns the value of attribute use_exported_private_key.
Instance Method Summary collapse
- #feed_url ⇒ Object
-
#initialize(sparkle_object) ⇒ Appcast
constructor
A new instance of Appcast.
- #prepare_args ⇒ Object
- #process_option(key, value) ⇒ Object
Constructor Details
#initialize(sparkle_object) ⇒ Appcast
Returns a new instance of Appcast.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/motion/project/appcast.rb', line 51 def initialize(sparkle_object) @sparkle = sparkle_object @cli_options = { account: 'ed25519' # Sparkle's default account } @feed_base_url = nil @feed_filename = 'releases.xml' @notes_base_url = nil @notes_filename = nil @package_base_url = nil @package_filename = nil @base_url = nil @releases_folder = nil @use_exported_private_key = false end |
Instance Attribute Details
#base_url ⇒ Object
Returns the value of attribute base_url.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def base_url @base_url end |
#cli_options ⇒ Object
Returns the value of attribute cli_options.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def @cli_options end |
#feed_base_url ⇒ Object
Returns the value of attribute feed_base_url.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def feed_base_url @feed_base_url end |
#feed_filename ⇒ Object
Returns the value of attribute feed_filename.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def feed_filename @feed_filename end |
#notes_base_url ⇒ Object
84 85 86 |
# File 'lib/motion/project/appcast.rb', line 84 def notes_base_url @notes_base_url || base_url end |
#notes_filename ⇒ Object
Returns the value of attribute notes_filename.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def notes_filename @notes_filename end |
#package_base_url ⇒ Object
88 89 90 |
# File 'lib/motion/project/appcast.rb', line 88 def package_base_url @package_base_url || base_url end |
#package_filename ⇒ Object
Returns the value of attribute package_filename.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def package_filename @package_filename end |
#releases_folder ⇒ Object
Returns the value of attribute releases_folder.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def releases_folder @releases_folder end |
#use_exported_private_key ⇒ Object
Returns the value of attribute use_exported_private_key.
40 41 42 |
# File 'lib/motion/project/appcast.rb', line 40 def use_exported_private_key @use_exported_private_key end |
Instance Method Details
#feed_url ⇒ Object
80 81 82 |
# File 'lib/motion/project/appcast.rb', line 80 def feed_url "#{feed_base_url || base_url}#{feed_filename}" end |
#prepare_args ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/motion/project/appcast.rb', line 92 def prepare_args args = [] account(args) private_ed_key_file(args) download_url_prefix(args) release_notes_url_prefix(args) full_release_notes_url(args) link(args) versions(args) maximum_deltas(args) delta_compression(args) delta_compression_level(args) channel(args) major_version(args) ignore_skipped_upgrades_below_version(args) phased_rollout_interval(args) critical_update_version(args) informational_update_versions(args) output_path(args) args end |
#process_option(key, value) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/motion/project/appcast.rb', line 68 def process_option(key, value) if CLI_OPTIONS.keys.include?(key) [key] = value elsif PARAMS.include?(key) send("#{key}=", value) else return false end true end |