lib/sinatra-websocketio/options.rb in sinatra-websocketio-0.0.6 vs lib/sinatra-websocketio/options.rb in sinatra-websocketio-0.1.0

- old
+ new

@@ -1,35 +1,37 @@ -class WebSocketIO +module Sinatra + module WebSocketIO - def self.default_options - { - :port => [8080, lambda{|v| v.kind_of? Fixnum }] - } - end + def self.default_options + { + :port => [8080, lambda{|v| v.kind_of? Fixnum and v > 0 }] + } + end - def self.options - @@options ||= ( - opts = {} - default_options.each do |k,v| - opts[k] = v[0] - end - opts - ) - end + def self.options + @@options ||= ( + opts = {} + default_options.each do |k,v| + opts[k] = v[0] + end + opts + ) + end - def self.options=(opts) - @@options = {} - opts.each do |k,v| - k = k.to_sym - if default_options.include? k - @@options[k] = default_options[k][1].call(v) ? v : default_options[k][0] - else - @@options[k] = v + def self.options=(opts) + @@options = {} + opts.each do |k,v| + k = k.to_sym + if default_options.include? k + @@options[k] = default_options[k][1].call(v) ? v : default_options[k][0] + else + @@options[k] = v + end end + default_options.each do |k, v| + @@options[k] = v unless @@options.include? k + end + @@options end - default_options.each do |k, v| - @@options[k] = v unless @@options.include? k - end - @@options - end + end end