ZaneH.
ZaneH.

Reputation: 45

Can't Load my Ruby File

OK SO I Am just picking Ruby up pretty much for the kicks and giggles... and Believe me when I say I'm stumped.

I want to create a bot for my Twitch stream and do it in Ruby because I found a fairly easy tut to follow along with, along with my reasoning skills. However I'm having a very hard time getting my command prompt or pry to load the file.

Here is my file JUST IN CASE

require 'socket'

TWITCH_HOST = "irc.twitch.tv"
TWITCH_PORT = 6667

class Fox

def initialize
    @nickname = "mybotsname"
    @password = "I have the proper oauth here"
    @channel = "mytwitchchannel"
    @socket = TCPSocket.open(TWITCH_HOST, TWITCH_PORT)

    write_to_system "PASS #{@password}"
    write_to_system "NICK #{@nickname}"
    write_to_system "USER #{@nickname} 0 * #{@nickname}"
    write_to_system "JOIN ##{@Channel}"
end

def write_to_system(message)
    @socket.puts message
end

def write_to_chat(message)
    write_to_system "PRIVMSG ##{@channel} :{message}"
end

end

Now, From what I gathered, I should beable to go into my command prompt and type pry I get this. Pry

Now, I want to run my program which is located in a dropbox (Private use)

I'm Still very new to the concept of Repl's as I've been working with Java mostly along with very LITTLE Experience in other languages. What am I doing wrong here? Why can I not get my file to load properly? I've also tried filepathing and got this.FilePathing

I'm sorry if this is a stupid question. It's just driving me absolutely bat-brain crazy. The reason this is driving me bonkers is the video I was watching, he didn't do anything different other than my guess is he was using Terminal instead of Command Prompt. I Wanted originally to do this through Cygwin but upon install of Pry I lost a bunch of Cygwin files and can no longer load Cygwin, I will re-install the over all program later and see what I can from there.

Sorry for no embedded pics.

Also, any easier way to do this I'm all ears. I've tried Komodo Edit 10 but it's not playing nice ether.

Upvotes: 2

Views: 89

Answers (1)

Todd A. Jacobs
Todd A. Jacobs

Reputation: 84443

Require from LOAD_PATH

A Ruby module or class file needs to be in the LOAD_PATH to require it with Kernel#require. For example, if your file is named just_in_case.rb, you can use:

$LOAD_PATH.unshift '/path/to/dropbox/directory'

# Leave off the path and .rb extension.
require 'just_in_case' 

Load from an absolute path

If you need to provide an absolute path, then you should use Kernel#load instead. For example:

# Use the absolute path and the .rb extension.
load '/path/to/dropbox/just_in_case.rb'

Caveats

There are some other differences in behavior between require, require_relative, and load, but they probably don't really matter within the limited scope of the question you asked except that there have historically been issues with Kernel#require_relative within the REPL. It may or may not work as expected now, but I would still recommend require or load for your specific use case.

Upvotes: 2

Related Questions