class Asperalm::Sync
builds command line arg for async
Constants
- INSTANCE_PARAMS
- MANDATORY_KEYS
- SESSION_PARAMS
Public Class Methods
new(sync_params)
click to toggle source
# File lib/asperalm/sync.rb, line 47 def initialize(sync_params) @sync_params=sync_params end
Public Instance Methods
compute_args()
click to toggle source
# File lib/asperalm/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