Class: Aspera::Sync
- Inherits:
-
Object
- Object
- Aspera::Sync
- Defined in:
- lib/aspera/sync.rb
Overview
builds command line arg for async
Constant Summary collapse
- MANDATORY_KEYS =
['instance','sessions']
Instance Method Summary collapse
- #compute_args ⇒ Object
-
#initialize(sync_params) ⇒ Sync
constructor
A new instance of Sync.
Constructor Details
#initialize(sync_params) ⇒ Sync
Returns a new instance of Sync.
47 48 49 |
# File 'lib/aspera/sync.rb', line 47 def initialize(sync_params) @sync_params=sync_params end |
Instance Method Details
#compute_args ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/aspera/sync.rb', line 53 def compute_args raise StandardError,"parameter must be Hash" unless @sync_params.is_a?(Hash) raise StandardError,"parameter hash must have at least 'sessions', and optionally 'instance' keys." unless @sync_params.keys.push('instance').uniq.sort.eql?(MANDATORY_KEYS) raise StandardError,"sessions key must be Array" unless @sync_params['sessions'].is_a?(Array) raise StandardError,"sessions key must has at least one element (hash)" unless @sync_params['sessions'].first.is_a?(Hash) env_args={ :args=>[], :env=>{} } if @sync_params.has_key?('instance') raise StandardError,"instance key must be hash" unless @sync_params['instance'].is_a?(Hash) instance_builder=CommandLineBuilder.new(@sync_params['instance'],INSTANCE_PARAMS) instance_builder.process_params instance_builder.add_env_args(env_args[:env],env_args[:args]) end @sync_params['sessions'].each do |session_params| raise StandardError,"sessions must contain hashes" unless session_params.is_a?(Hash) raise StandardError,"session must contain at leat name" unless session_params.has_key?('name') session_builder=CommandLineBuilder.new(session_params,SESSION_PARAMS) session_builder.process_params session_builder.add_env_args(env_args[:env],env_args[:args]) end return env_args end |