Class: Serially::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/serially/options.rb

Direct Known Subclasses

GlobalOptions, TaskOptions

Class Method Summary collapse

Class Method Details

.allowedObject

this should be overridden in sub-classes



5
6
7
# File 'lib/serially/options.rb', line 5

def self.allowed
  []
end

.validate(options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/serially/options.rb', line 9

def self.validate(options)
  invalid_options = {}

  valid_options = options.select{ |k,v| allowed.include?(k) }
  invalid_keys = options.keys.select{ |k| !allowed.include?(k) }
  empty_values = valid_options.select{ |k, v| v.blank? }.keys

  invalid_options['Unrecognized Keys'] = invalid_keys if invalid_keys.present?
  invalid_options['Empty Values'] = empty_values if empty_values.present?

  invalid_options
end