nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #ruby
SpiffTR1 has quit [Ping timeout: 264 seconds]
_sfiguser has joined #ruby
scepticulous has joined #ruby
Derperperd has joined #ruby
jahmalz has quit [Quit: Leaving]
<scepticulous>
I am wondering why having private_class_method on one line and a method on the next line does not make it private. Like it works for module_function which then effects all the functions below it
<catphish>
ruby[bot]: you're entitled to that opinion
<manveru>
`private_class_method(def self.bar; end)` btw is the same as `def self.bar; end; private_class_method(:bar)` because `def` returns the name of the method as a symbol
<scepticulous>
@manveru I understand that. The thing that is confusing me is that module_function has a similar definition, but it also works by having it on a dedicated line. Am I missing something.
marr has joined #ruby
Kug3lis has joined #ruby
<scepticulous>
I have assumed, that passing no argument to private_class_method would make ruby take the first method after it at take its return value ( the methods name ) and make that private
braincrash has joined #ruby
<manveru>
some of those "methods" are actually keywords that can change how the rest of the class is parsed
<dminuoso>
scepticulous: I think you are wrong about module_function
<scepticulous>
So my assumption was a) Either the following method should be private or b) it should be invalid syntax
jenrzzz has quit [Ping timeout: 245 seconds]
milardovich has joined #ruby
<scepticulous>
@dminuoso oh that would be bad, could you explain ?
nowhere_man has quit [Remote host closed the connection]
<dminuoso>
scepticulous: module_function takes one or more symbols, and applies its stupid magic to the methods matching those symbols
nowhere_man has joined #ruby
<dminuoso>
only if you specify no symbols
<dminuoso>
(and that is documented)
<dminuoso>
it changes the defaultb ehavior.
<dminuoso>
scepticulous: however, private_class_method does not have that behavior
<scepticulous>
ok. I must have skipped that part of the docs
<manveru>
private_class_method is a noop if you give it no arguments
<scepticulous>
@manveru yes, that is what confused me
<scepticulous>
I expected an error
<dminuoso>
scepticulous: That being said, module_function is absolutely stupid.
<manveru>
hehe
<manveru>
i kinda like module_function
<dminuoso>
Im already looking on silkroad for a hitman to reduce the Ruby developer population by one.
<apeiros>
hm? what's wrong with module_function?
<dminuoso>
Everything.
<scepticulous>
@dminuoso yeah maybe, that was just my reference. The issue was that I assumed private_class_method would not be a noop on a dedicated line
<apeiros>
the only complaint I've heard so far is that it copies the method instead of "linking" it
<apeiros>
dminuoso: the idea of being able to have utility functions like `require` available as both `require` and `Kernel.require`?
<scepticulous>
thanks
<dminuoso>
scepticulous: Look at the implementation of each
<manveru>
scepticulous: esp the if(argc == 0) { SCOPE_SET(NOEX_MODFUNC) }
<scepticulous>
I am on it. thanks
jshjsh has joined #ruby
Kug3lis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
milardovich has quit [Ping timeout: 264 seconds]
<dminuoso>
scepticulous: ALtohugh..
<dminuoso>
manveru: wait. that is outdated code
<manveru>
well, yeah
<manveru>
screw ruby-doc search
<dminuoso>
Interesting.
<scepticulous>
I guess it also confused me that having .xxx() on a new line is allowed ( so the parses looks at the next line ) but it does not look at the next line for those private_class_method
<dminuoso>
scepticulous: You may actually be right about your confusion.
<dminuoso>
scepticulous: Now this is getting interesting, they behave *exactly* the same.
<scepticulous>
however know I at leat know the behaviour
nowhere_man has quit [Remote host closed the connection]
<dminuoso>
scepticulous: Im thinking there may be a difference as to how you define methods.
Kug3lis has joined #ruby
nowhere_man has joined #ruby
SpiffTR has quit [Quit: Leaving.]
<manveru>
scepticulous: ruby doesn't look for arguments in the next line
<manveru>
unless you end your previous line with \ or (
ruby-lang186 has joined #ruby
sepp2k has joined #ruby
Kug3lis has quit [Client Quit]
<dminuoso>
Wait. Let me blame this real fast.
<manveru>
:)
JoshS has quit [Ping timeout: 265 seconds]
<scepticulous>
@manveru why is it then possible to write Time <newline> .new ?
<manveru>
oh, forgot about that case...
<manveru>
because ruby does a backtrack if a line starts with . :P
<dminuoso>
scepticulous: The code says it should behave as you expected, but I cant tell you why it doesn't.
<manveru>
i usually write it like `Time.\nnew`
scepticulous has quit [Remote host closed the connection]
codeshah has quit [Read error: Connection reset by peer]
Kug3lis has quit [Client Quit]
Ax has joined #ruby
bronson has joined #ruby
xen0fon has quit [Quit: xen0fon]
shinnya has quit [Ping timeout: 248 seconds]
xit has joined #ruby
braincrash has quit [Ping timeout: 258 seconds]
bronson has quit [Ping timeout: 258 seconds]
edorf has quit [Quit: Connection closed for inactivity]
xit has left #ruby ["Killed buffer"]
kassav has joined #ruby
Kug3lis has joined #ruby
Kug3lis has quit [Client Quit]
Tempesta has quit [Quit: See ya!]
Tempesta has joined #ruby
braincrash has joined #ruby
lenwood has joined #ruby
braincrash has quit [Ping timeout: 252 seconds]
prawnzy has joined #ruby
ruby-lang602 has joined #ruby
scootaloo has joined #ruby
prawnzy has quit [Ping timeout: 245 seconds]
<mwlang>
Is it possible to port SOAP calls as-is from Ruby 1.8.6 to Ruby 2.3? It’s really messy code and the provider doesn’t have a test sandbox, so I’m thinking just port it and live with the mess until they offer their RESTful API later. https://gist.github.com/mwlang/658c3d157f83ae825ec1022160d9010d
rajdesai has quit [Remote host closed the connection]
montanonic has quit [Ping timeout: 240 seconds]
rajdesai has joined #ruby
<apeiros>
soahccc: it'd help if we knew which lines correspond with the numbers in the backtrace.
<scootaloo>
probably a concurrent access
<apeiros>
ah, just noticed, you actually provide that :D
nadir has quit [Quit: Connection closed for inactivity]
<apeiros>
soahccc: do you iterate over that hash in another thread?
<apeiros>
and that thread probably omits to synchronize…
<soahccc>
apeiros: oh yeah I'm stupid :D @threads.each {|n,t| t.each(&:join) } I'm waiting for all the threads
bronson has quit [Ping timeout: 245 seconds]
<apeiros>
weeeell…
<apeiros>
always synchronize access to shared resources ;-)
nettoweb has quit [Ping timeout: 260 seconds]
scootaloo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
SpiffTR has quit [Ping timeout: 245 seconds]
sdothum has joined #ruby
Kug3lis has joined #ruby
prawnzy has joined #ruby
saneax is now known as saneax-_-|AFK
jhack has joined #ruby
Kug3lis has quit [Client Quit]
Ax has left #ruby [#ruby]
rajdesai_ has joined #ruby
prawnzy has quit [Ping timeout: 245 seconds]
millerti_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rajdesai has quit [Ping timeout: 240 seconds]
nankyokusei has joined #ruby
DLSteve has joined #ruby
nankyokusei has quit [Remote host closed the connection]
bmurt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rajdesai_ has quit []
scootaloo has joined #ruby
saslam has joined #ruby
<nzst>
Back to ruby's strong typing. If I want to go from an array object to a string object, is redeclaring the object like this the only way? x=[1] , x=x.join(',')
<lupine>
?
bmurt has joined #ruby
<apeiros>
you don't redeclare. there's no declaration in ruby ;-)
<nzst>
I was told I can't mutate an array object into a string object with a method like [1].join!(',') because ruby is strongly typed. I worked around it by using the code i shared above x=[1]; x=x.join(',') ; I was wondering if there was a better way
<Papierkorb>
There's neither strong typing
<apeiros>
you reassign. and yes, assigning is the only way to have a variable point to an object of a different type.
<nzst>
thank you for the clarification
futilegames has joined #ruby
<apeiros>
and no, it's not a good way.
<lupine>
I guess you could use local_variable_set
siddart has quit [Ping timeout: 245 seconds]
<nzst>
apeiros: why is reassigning no good?
<apeiros>
that's the dynamical typing. i.e. a variable does not have an assigned type (which often requires declaration)
<apeiros>
but while ruby allows it, it makes for difficult to follow code.
<apeiros>
a variable should stick to a type
<apeiros>
incidentally it usually means that you choose poor variable names
<nzst>
so, a new variable name would be more appropriate for code clarity
<apeiros>
a variable name should be descriptive. and if the type changes, it usually means the content is different too.
<apeiros>
so the label is probably not very descriptive to begin with if it's once one type and once another.
<apeiros>
yes
<nzst>
Well, I got the data, then I had to munge it into an acceptable format
<Papierkorb>
apeiros: That's basically how every templating engine works in ruby?
siddart has joined #ruby
Symbiosisz has quit [Remote host closed the connection]
jenrzzz has quit [Ping timeout: 245 seconds]
<apeiros>
stating how every nail is driven in by using a hammer doesn't make a hammer the right tool for screws either
<despai>
let me try
<despai>
I was trying with `script.rb`
<apeiros>
despai: any reason why you shell out instead of loading the code into a common executable?
<apeiros>
shelling out means separate process. a separate process has no (and should not have) access to the memory of another process. so with shelling out you'd have to pass it either via stdin or IPC.
kassav has quit [Quit: kassav]
kassav_ has joined #ruby
kassav_ is now known as kassav
PaulCapestany has quit [Quit: .]
cassianoleal has joined #ruby
saslam has joined #ruby
saslam has quit [Client Quit]
saslam has joined #ruby
PaulCapestany has joined #ruby
kassav has quit [Quit: kassav]
kus has joined #ruby
kassav_ has joined #ruby
kassav_ is now known as kassav
SpiffTR1 has quit [Ping timeout: 245 seconds]
pwnd_nsfw` has joined #ruby
tvon has joined #ruby
pwnd_nsfw has quit [Ping timeout: 264 seconds]
SpiffTR has joined #ruby
bronson has joined #ruby
balazs has joined #ruby
Derperperd has joined #ruby
kassav has quit [Read error: Connection reset by peer]
kassav_ has joined #ruby
kassav_ is now known as kassav
SpiffTR has quit [Ping timeout: 246 seconds]
bronson has quit [Ping timeout: 246 seconds]
despai has quit [Quit: This computer has gone to sleep]
shinnya has joined #ruby
cdg has joined #ruby
haylon has quit [Quit: Leaving]
kassav has quit [Read error: Connection reset by peer]
milardovich has joined #ruby
kassav has joined #ruby
kassav_ has joined #ruby
kassav_ has quit [Remote host closed the connection]
wugy has quit []
raul782 has quit [Read error: Connection reset by peer]
milardovich has quit [Ping timeout: 264 seconds]
chadhs has joined #ruby
<lupine>
or /dev/shm :D
<leah2>
apeiros: what now?
banisterfiend has joined #ruby
raul782 has joined #ruby
banisterfiend has quit [Read error: Connection reset by peer]
<apeiros>
leah2: what now what?
<leah2>
2016 getting worsr
<apeiros>
leah2: oh, just Papierkorb's suggestion :)
<leah2>
ah
<Papierkorb>
Well, what would've been your suggestion which does not boil down to it?
<leah2>
nothing new tho :)
<Papierkorb>
Using one of those questionable sandbox'
<Papierkorb>
gems?
raul782 has quit [Read error: Connection reset by peer]
<apeiros>
Papierkorb: require + constant
<apeiros>
it's not about the security. it's their code :)
<apeiros>
or at least that's what I understood.
<Papierkorb>
I understood otherwise. I'd appreciate constructive criticism over saying that :(
milardovich has joined #ruby
despai has joined #ruby
kassav has quit [Ping timeout: 252 seconds]
<apeiros>
eh, it was supposed to be humorous :)
<apeiros>
don't be glum about it ;-)
spyder55 has joined #ruby
banisterfiend has joined #ruby
bmurt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
raul782 has joined #ruby
kassav has joined #ruby
PaulCapestany has quit [Quit: .]
dviola has joined #ruby
SpiffTR has joined #ruby
futilegames has quit [Quit: futilegames]
raul782 has quit [Read error: Connection reset by peer]
bmurt has joined #ruby
EasyMode has quit [Quit: Leaving]
klaas has joined #ruby
chouhoulis has joined #ruby
blackbom1 has joined #ruby
raul782 has joined #ruby
Devalo has joined #ruby
lmc has joined #ruby
cassianoleal has quit [Quit: Off to the other side!]
nettoweb has joined #ruby
raul782 has quit [Ping timeout: 260 seconds]
banisterfiend has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
raul782_ has joined #ruby
Devalo has quit [Remote host closed the connection]
dStruct has joined #ruby
Shankoty has joined #ruby
Shankoty has left #ruby [#ruby]
bmurt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<izaakf>
on lines 7 and 8 I'm not really sure what I'm doing
jackjackdripper has joined #ruby
<izaakf>
I'm trying to write a programme that takes a word from a user, then searches a dictionary to check if that word is in the dictionary, and then checks if there are any anagrams of that word in the dictionary?
<izaakf>
and I'm trying to use threading to search through the anagrams and I'm not really sure how to do that
<dminuoso>
What problem are you trying to solve with threading?
<izaakf>
dminuoso: I'm trying to use threading to see if any of the anagrams are in the word list
<izaakf>
I've tried using the Parallel gem but keep getting Processes.fork is not supported in this ruby
<havenwood>
izaakf: What Ruby and OS are you using?
braincrash has joined #ruby
<izaakf>
ruby 2.3.1 and Win10
<dminuoso>
izaakf, I think the example you picked is fairly poor
<izaakf>
dminuoso: How so?
SpiffTR has quit [Quit: Leaving.]
nankyokusei has joined #ruby
<dminuoso>
izaakf, multithreading is about solving problems in parallel, about doing multiple things concurrently.
<izaakf>
dminuoso: and that is what I'm trying to do, I want to check multiple anagrams at once
<dminuoso>
Oh.
millerti has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<dminuoso>
izaakf, I understand now. You need to synchronize output to STDOUT
alexar has joined #ruby
Mon_Ouie has quit [Quit: WeeChat 1.6]
<dminuoso>
izaakf, secondly Ruby has very threading behavior due to an internal lock preventing concurrent behavior for anything but IO basically
<dminuoso>
*very poor
<dminuoso>
so you will not observe concurrent behavior for your code
solocshaw has joined #ruby
scepticulous has quit [Remote host closed the connection]
hightower2 has joined #ruby
nankyokusei has quit [Ping timeout: 265 seconds]
<izaakf>
dminuoso: so what could I do to make my programme faster?
<dminuoso>
with threads? nothing
<dminuoso>
well not use MRI ruby
<dminuoso>
Im not sure how threading is on JRuby
Mon_Ouie has joined #ruby
hightower3 has quit [Ping timeout: 248 seconds]
biberu has quit [Ping timeout: 256 seconds]
hahuang61 has joined #ruby
miguelfernandes has joined #ruby
despai has joined #ruby
<izaakf>
is there anything I can do without threading for it??
<ewoud>
even the name of the construction to search for would help, searching for 'ruby do block' isn't all that useful :)
<izaakf>
mwlang: how would I read it only once
<mwlang>
izaakf: new to ruby?
<izaakf>
mwlang: kinda yeah
testuser1 has joined #ruby
<mwlang>
izaakf: ok, you’re reading the file first on line 6 then again on line 10. I would suggest lines = File.readlines("./wordlist.txt")
<mwlang>
then do your transformations $search_dictionary and $dictionary against lines variable.
dStruct has left #ruby ["Leaving"]
<Mon_Ouie>
ewoud: They're just call blocks (related topics include Proc and the 'yield' keyword which is used to call the block a method was called with)
<ewoud>
Mon_Ouie: ok, but what should I put in my .returns() to fake it?
<Mon_Ouie>
I don't know which library you're using for mocking, and am probably not familiar with it
<Mon_Ouie>
But calling a block has nothing to do with return values
<ewoud>
Mon_Ouie: ah, it has a .yields which does what I want so that was a useful keyword :)
woodruffw has quit [Read error: Connection reset by peer]
<ewoud>
mwlang: thanks, I'll look into that
<ewoud>
mwlang: looks like that's an ORM and I intend deprecate the database backends once the REST backend is properly tested so for now I'll stick with direct SQL
<ewoud>
but I appreciate the hint
millerti has joined #ruby
z4ppy_ has joined #ruby
<mwlang>
izaakf: instead of checking each anagram separately with include?, just interect the two arrays — the resulting array is every anagram in the dictionary: $dictionary & anagrams => anagrams that are in the dictionary.
bronson has joined #ruby
<izaakf>
mwlang: using FIle.readlines leaves \n at the end of each element
<izaakf>
im just trying to figure out how to strip each element
<mwlang>
ewoud: It’s both ORM and a very thin Ruby DSL layer that turns database results into hashes and arrays of hashes…makes it a lot easier to work with the dbms in ruby
millerti has quit [Client Quit]
<mwlang>
izaakf: can you gist head -n 100 wordlist.txt
<izaakf>
mwlang: what does that do?
<mwlang>
if it’s one word per line, then File.read(‘wordlist.txt’).split(“\n”)
<ewoud>
mwlang: generally I'd agree that's better, but right now I prefer fewer dependencies and stable code on a deprecated backend
<mwlang>
head -n 100 is bash to output first 100 lines of the file.
amclain has joined #ruby
<mwlang>
ewoud: understood.
<izaakf>
mwlang: yeah 1 word perline
<mwlang>
izaakf: then the File.read I suggested will give you an array of words.
<mwlang>
if your file’s newline marker is “\r\n” use that instead.
bronson has quit [Ping timeout: 258 seconds]
z4ppy_ is now known as z4phod
<apeiros>
and .split(/\r?\n/) if you don't know :D
<havenwood>
Or `File.readlines('wordlist.txt').map(&:chomp)` which gets a bit nicer in Ruby 2.4 with `File.readlines('wordlist.txt', chomp: true)`
<izaakf>
mwlang: how would I do what you suggested? "<mwlang> izaakf: instead of checking each anagram separately with include?, just interect the two arrays — the resulting array is every anagram in the dictionary: $dictionary & anagrams => anagrams that are in the dictionary."
woodruffw has joined #ruby
<apeiros>
❤️chomp: true
<mwlang>
izaakf: try this: %w{dog cat fish goat} & [‘fish’] you should get: => ["fish"]
futilegames has joined #ruby
<izaakf>
btw if it helps here's the wordlist it's just a dictionary
<apeiros>
linduxed: theoretically, you can just replace any requires with the file they require
<apeiros>
omitting any subsequent mentions of the same require oc
bronson has joined #ruby
<linduxed>
apeiros: yeah, that's kind of how i imagined that it would work, considering require basically just reads the lines one by one and interprets them
<linduxed>
i'm a bit surprised that there doesn't seem to be any project that does this
<konsolebox>
linduxed: except in the case that the arguments has expansions
<linduxed>
konsolebox: ah, yes
markholmes has joined #ruby
<Mon_Ouie>
There are projects that package Ruby applications into a single file, but they're usualy created specifically to make the application easy to share to Windows users
<linduxed>
this isn't exactly a common thing to need, but i would have expected someone to have done something like this by now
<linduxed>
Mon_Ouie: that's kind of the situation i have
<konsolebox>
Mon_Ouie: i think i used one of them
<Mon_Ouie>
OCRA is the one that I know of
<linduxed>
although it's not related to windows
<linduxed>
ok, ocra does WAY more than what i need
connor_goodwolf has quit [Ping timeout: 256 seconds]
a7d7p has quit [Quit: a7d7p]
AlphaAtom has joined #ruby
AlphaAtom has left #ruby [#ruby]
harfangk has joined #ruby
ignarps has quit [Ping timeout: 258 seconds]
reverberations has quit [Ping timeout: 258 seconds]
ignarps has joined #ruby
ajaiswal has quit [Ping timeout: 265 seconds]
dtzu has joined #ruby
enyo has joined #ruby
bmurt has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bronson has joined #ruby
nahra` has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
hutch34 has joined #ruby
enyo has quit [Ping timeout: 258 seconds]
nahra has joined #ruby
raul782 has quit [Read error: Connection reset by peer]
bronson has quit [Ping timeout: 252 seconds]
Derperperd has quit [Max SendQ exceeded]
Derperperd has joined #ruby
hightower3 has joined #ruby
rodfersou has quit [Quit: leaving]
mfb2 has joined #ruby
raul782 has joined #ruby
hightower2 has quit [Ping timeout: 260 seconds]
jallen123 has joined #ruby
shayan_ has quit [Quit: shayan_]
chouhoulis has quit [Ping timeout: 268 seconds]
LastWhisper____ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<hays>
I am building up some larger programs in ruby, and I'm looking for a recommended structure for keeping everything organized. Is there any sort of recommended practice here?
<hays>
apeiros: not sure what NAME.rb is for, for example
d0nn1e has quit [Ping timeout: 256 seconds]
flyingX has quit [Client Quit]
flying has quit [Ping timeout: 264 seconds]
d0nn1e has joined #ruby
<hays>
do I wrap my classes in a module or something to protect namespaces?
banisterfiend has quit [Ping timeout: 258 seconds]
<blackbom1>
NAME.rb is the entry point for your library code.
SeepingN_ has joined #ruby
SeepingN has quit [Disconnected by services]
<blackbom1>
yeah you do.
ruid has joined #ruby
ruid has joined #ruby
ruid has quit [Changing host]
<blackbom1>
a module with 'Name'.
bmurt has joined #ruby
lystra has joined #ruby
<hays>
blackbom1: and then the directory would be for further project files--those being required from the base file NAME.rb, and in those files I guess we also wrap them in a module
raul782 has quit [Read error: Connection reset by peer]
<hays>
so one might have the NAME.rb be just essentially empty, with requires, and then the subfolder has each object.. that might be one way to organize it
<hays>
s/object/class
raul782 has joined #ruby
nadir is now known as nadir|mobile
<lystra>
Hi. I am trying to install bones-3.8.3 on a custom-built ruby-2.3.3 on RHEL 6/x86-64. I installed the loquacious-1.9.1 dependency and "gem list" shows that it is installed. When I try to install bones-3.8.3, the "gem install" command returns "ERROR: Could not find a valid gem 'loquacious' (~> 1.9) in any repository". The commands I used to build ruby-2.3.3, loquacious-1.9.1, and bones-3.8.3 are included here: https://gist.github.com/anon
<lystra>
ymous/83e35d2baaf291415c1343685ae14ce9. Anyone have any ideas?
<stefanhagen>
Thanks so much, I see now I was confused by an older post.
benlieb has joined #ruby
benlieb has quit [Client Quit]
teclator has joined #ruby
teclator has quit [Ping timeout: 256 seconds]
xlegoman has joined #ruby
nadir|mobile has quit []
phoo1234567 has quit [Quit: Gotta go]
Azure has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
despai has quit [Read error: Connection reset by peer]
stefanhagen has left #ruby [#ruby]
<lystra>
I am running ruby-2.3.3 on RHEL 6/x86-64. I would like to add a default search path for gems without setting RUBYLIB and GEM_PATH. So, I created this patch: https://gist.github.com/twwlogin/8741ed785da11ad4f6f0db7890866c6d. If I "gem install ... --install-dir=/tmp/rubygems/vendor/lib/2.3.0 ..." then "gem list" will show the installed gem but dependencies do not seem to get satisfied for other gems I want to install. Do I need to patch anot
<lystra>
her file?
enyo has joined #ruby
polysics has quit [Remote host closed the connection]
polysics has joined #ruby
DLSteve has quit [Quit: All rise, the honorable DLSteve has left the channel.]
minimalism has quit [Quit: minimalism]
enyo has quit [Ping timeout: 265 seconds]
minimalism has joined #ruby
polysics has quit [Ping timeout: 258 seconds]
CloCkWeRX has quit [Quit: Leaving.]
blackbombay has joined #ruby
AndrewIsHere has quit [Remote host closed the connection]