Sha256: 5ad61e47ffeff5a1782e815a56d2f15f828f751ad679c4e3dc8d0764ba4880c5

Contents?: true

Size: 549 Bytes

Versions: 2

Compression:

Stored size: 549 Bytes

Contents

module FSM
  module Options
    module InstanceMethods
      def assert_options(options, optional_keys = {}, mandatory_keys = {})
        keys_processed = []
        mandatory_keys.each do |key|
          raise ArgumentError.new("Mandatory Key #{key} is missing") unless options.keys.include?(key)
          keys_processed << key
        end
        options.keys.each do |key|
          raise ArgumentError.new("Unsupported key #{key}") unless optional_keys.include?(key) || mandatory_keys.include?(key)
        end
      end 
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simplificator-fsm-0.2.0 lib/fsm/options.rb
simplificator-fsm-0.2.1 lib/fsm/options.rb