i cant start webrick

View: New views
5 Messages — Rating Filter:   Alert me  

i cant start webrick

by Alex Gore :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
--
Posted via http://www.ruby-forum.com/.


Re: i cant start webrick

by Ben Lovell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Jul 8, 2009 at 9:41 PM, Alex Gore <gjgfuj@...> wrote:

> 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 should work:


>
> #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
>
>
But that code is pretty nasty to look at.

Regards,
Ben

Re: i cant start webrick

by Ben Lovell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Jul 8, 2009 at 9:58 PM, Ben Lovell <benjamin.lovell@...>wrote:

> On Wed, Jul 8, 2009 at 9:41 PM, Alex Gore <gjgfuj@...> wrote:
>
>> 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 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.

Re: i cant start webrick

by spox :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday 08 July 2009 14:41:38 Alex Gore wrote:

> 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

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


Re: i cant start webrick

by James Britt-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 :) )

# 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 Britt

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