ashbb / green_shoes

Green Shoes is one of the colorful Shoes written in pure Ruby.
Other
204 stars 37 forks source link

edit_line can't convert Symbol into Integer (TypeError) #55

Closed cyberarm closed 12 years ago

cyberarm commented 12 years ago

I get this error when I try to call my edit_line:

C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/helper_methods.rb:79
:in `[]': can't convert Symbol into Integer (TypeError)
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/helper_
methods.rb:79:in `block in replace_string_to_float'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/helper_
methods.rb:78:in `each'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/helper_
methods.rb:78:in `replace_string_to_float'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/helper_
methods.rb:67:in `basic_attributes'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/app.rb:
263:in `edit_line'
        from green-ping.rb:7:in `ping'
        from green-ping.rb:35:in `block (2 levels) in <main>'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/slot.rb
:30:in `initialize'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/app.rb:
69:in `new'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/app.rb:
69:in `flow'
        from green-ping.rb:34:in `block in <main>'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/main.rb
:81:in `instance_eval'
        from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/green_shoes-1.0.320/lib/shoes/main.rb
:81:in `app'
        from green-ping.rb:4:in `<main>'

My Program:

require "green_shoes"
require "socket"

Shoes.app title: "Server Pinger", height: 105, width: 265 do
def ping
begin
ip = edit_line "example.com"
port = edit_line "25565"
  TCPSocket.open(ip, port) {|s|
 }
 stack do
 inscription "Pinged server at:"
 inscription Time.now.strftime("%I:%M:%S %p")
 end
 flow do
 tagline "Server Status: " + fg("Online", green) + "."
 end

rescue Errno::ECONNREFUSED
stack do
 inscription "Pinged server at:"
 inscription Time.now.strftime("%I:%M:%S %p")
 end
 tagline "Server Status: " + fg("Offline", red) + "."
 end
rescue Errno::ETIMEDOUT
stack do
 inscription "Pinged server at:"
 inscription Time.now.strftime("%I:%M:%S %p")
 end
 tagline "Server Status: " + fg("Offline", red) + "."
end

pinger = flow do
 ping
end

button "check server status" do
 pinger.clear do
  ping
  end
 end
end
ashbb commented 12 years ago

Hi Cyber,

Edit three lines like this:

ip = edit_line text: "example.com"
port = edit_line text: "25565"
  TCPSocket.open(ip.text, port.text) {|s|
 }

But to improve interoperability with Red Shoes, I added this commit. Try out the latest Green Shoes 1.0.323.

Thank you for letting me know the stuff. :) ashbb

cyberarm commented 12 years ago

Thank you, that worked.