# File lib/rev/loop.rb, line 44
44:     def initialize(options = {})
45:       @watchers = []
46:       @active_watchers = 0
47:       
48:       flags = 0
49: 
50:       options.each do |option, value|
51:         case option
52:         when :skip_environment
53:           flags |= EVFLAG_NOEV if value
54:         when :fork_check
55:           flags |= EVFLAG_FORKCHECK if value
56:         when :backend
57:           value = [value] unless value.is_a? Array
58:           value.each do |backend|
59:             case backend
60:             when :select then flags |= EVBACKEND_SELECT
61:             when :poll   then flags |= EVBACKEND_POLL
62:             when :epoll  then flags |= EVBACKEND_EPOLL
63:             when :kqueue then flags |= EVBACKEND_KQUEUE
64:             when :port   then flags |= EVBACKEND_PORT
65:             else raise ArgumentError, "no such backend: #{backend}"
66:             end
67:           end
68:         else raise ArgumentError, "no such option: #{option}"
69:         end
70:       end
71: 
72:       @loop = ev_loop_new(flags)
73:     end