I cant start webrick

when i try to start webrick i get this message

./easyhtmlserver:12: syntax error, unexpected tASSOC, expecting kEND
:Port => 80
^
./easyhtmlserver:14: syntax error, unexpected tASSOC, expecting kEND
:Port => 801
^
./easyhtmlserver:11: warning: found = in conditional, should be ==
./easyhtmlserver:16: syntax error, unexpected tSYMBEG, expecting ‘)’
:DocumentRoot => “/home/” + $home + “/easyhtml/” + $pro
^
./easyhtmlserver:17: syntax error, unexpected ‘)’, expecting kEND
./easyhtmlserver:28: syntax error, unexpected $end, expecting kEND

this is my code

#!/usr/bin/env ruby

#require the libaries
require ‘webrick’
include WEBrick

#make the class
class EasyHTMLServer
def initalize
s = HTTPServer.new(
if $port = 80
:Port => 80
else
:Port => 801
end
:DocumentRoot => “/home/” + $home + “/easyhtml/” + $pro
)
end
end

#declare the varibles
$home = ARGV[0]
$pro = ARGV[1]
$port = ARGV[2]

#load the server
EasyHTMLServer.new

On Wed, Jul 8, 2009 at 9:41 PM, Alex G. [email protected] wrote:

 :DocumentRoot => "/home/" + $home + "/easyhtml/" + $pro
  ^

./easyhtmlserver:17: syntax error, unexpected ‘)’, expecting kEND
./easyhtmlserver:28: syntax error, unexpected $end, expecting kEND

This should work:

 :DocumentRoot => "/home/" + $home + "/easyhtml/" + $pro
 )

end
end

But that code is pretty nasty to look at.

Regards,
Ben

On Wed, Jul 8, 2009 at 9:58 PM, Ben L.
[email protected]wrote:

./easyhtmlserver:11: warning: found = in conditional, should be ==
./easyhtmlserver:16: syntax error, unexpected tSYMBEG, expecting ‘)’
:DocumentRoot => “/home/” + $home + “/easyhtml/” + $pro
^
./easyhtmlserver:17: syntax error, unexpected ‘)’, expecting kEND
./easyhtmlserver:28: syntax error, unexpected $end, expecting kEND

This should work:

Sorry, ignore me. I just re-read the post and noticed the problems with
with
hash arguments too. Not sure how you solve this.

spox wrote:

s = HTTPServer.new(:Port => $port == 80 ? 80 : 801, :DocumentRoot => ‘etc…’)

Yikes!

Are people really so adverse to creating simple methods that describe
intent? (They also make testing easier :slight_smile: )

Pick a name that makes sense if this is not a good one …

def default_port default=801
$port == 80 ? 80 : default
end

s = HTTPServer.new :Port => default_port, :DocumentRoot => ‘etc…’


James B.

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development

On Wednesday 08 July 2009 14:41:38 Alex G. wrote:

this is my code
s = HTTPServer.new(
:DocumentRoot => “/home/” + $home + “/easyhtml/” + $pro
#load the server
EasyHTMLServer.new

s = HTTPServer.new(:Port => $port == 80 ? 80 : 801, :DocumentRoot =>
‘etc…’)