class AppleBot::CommandOptionSet

Public Class Methods

new(required, optional) click to toggle source
Calls superclass method
# File lib/applebot/commands.rb, line 34
def initialize(required, optional)
  fix_batch_options = lambda { |set, extras|
    set.map {|o|
      if o['batch']
        o['keys'].map {|k|
          h = {
            'key' => k
          }.merge(o)
          h.delete 'keys'
          h.delete 'batch'
          h
        }
      else
        o
      end
    }.flatten.map {|o|
      o = o.merge(extras)
      CommandOption.new(o['key'], o['description'], o['values'], o['default'], o['required'])
    }
  }
  required = fix_batch_options.call(required, {'required' => true}) if required
  required ||= []
  optional = fix_batch_options.call(optional, {'required' => false}) if optional
  optional ||= []
  super(required, optional)
end