Sha256: fe1a67ee0487ee3e40cfeae480ca135d678c8c01c339d3375f96d6e4f7df0c39

Contents?: true

Size: 724 Bytes

Versions: 5

Compression:

Stored size: 724 Bytes

Contents

class WebSocketIO

  def self.default_options
    {
      :port => [8080, lambda{|v| v.kind_of? Fixnum }]
    }
  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
      end
    end
    default_options.each do |k, v|
      @@options[k] = v unless @@options.include? k
    end
    @@options
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sinatra-websocketio-0.0.6 lib/sinatra-websocketio/options.rb
sinatra-websocketio-0.0.5 lib/sinatra-websocketio/options.rb
sinatra-websocketio-0.0.4 lib/sinatra-websocketio/options.rb
sinatra-websocketio-0.0.3 lib/sinatra-websocketio/options.rb
sinatra-websocketio-0.0.2 lib/sinatra-websocketio/options.rb