ChanServ changed the topic of #ruby-lang to: Ruby 1.9.3-p125: http://ruby-lang.org | Paste >3 lines of text on http://pastie.org or use a gist
wallerdev has joined #ruby-lang
msaffitz has quit [Quit: Computer has gone to sleep.]
brushbox has joined #ruby-lang
igotnolegs has joined #ruby-lang
gregf has quit [Quit: WeeChat 0.3.8]
imajes has quit [Excess Flood]
misham has joined #ruby-lang
imajes has joined #ruby-lang
gregf has joined #ruby-lang
neocoin has joined #ruby-lang
akira989 has quit [Remote host closed the connection]
robgleeson has joined #ruby-lang
jperry2 has joined #ruby-lang
misham has quit [Ping timeout: 244 seconds]
akira989 has joined #ruby-lang
hakunin has quit [Remote host closed the connection]
hakunin has joined #ruby-lang
msaffitz has joined #ruby-lang
hakunin has quit [Read error: Connection reset by peer]
hakunin has joined #ruby-lang
igaiga has joined #ruby-lang
msaffitz has quit [Client Quit]
sepp2k has joined #ruby-lang
robotmay has quit [Remote host closed the connection]
jperry2 has quit [Quit: jperry2]
qwerxy has quit [Quit: offski]
Rakko has joined #ruby-lang
alex_k has joined #ruby-lang
alex_k has quit [Client Quit]
msaffitz has joined #ruby-lang
gix has quit [Ping timeout: 255 seconds]
gix has joined #ruby-lang
savage- has joined #ruby-lang
AndChat| has joined #ruby-lang
Banistergalaxy has quit [Ping timeout: 240 seconds]
msaffitz has quit [Quit: Computer has gone to sleep.]
Banistergalaxy has joined #ruby-lang
AndChat| has quit [Ping timeout: 264 seconds]
banisterfiend has quit [Remote host closed the connection]
fgomez has quit [Ping timeout: 245 seconds]
mistym has joined #ruby-lang
mistym has joined #ruby-lang
mistym has quit [Changing host]
havenn has joined #ruby-lang
havenn has quit [Remote host closed the connection]
fgomez has joined #ruby-lang
havenn has joined #ruby-lang
outoftime has quit [Ping timeout: 260 seconds]
cirenyc has joined #ruby-lang
cirenyc has quit [Client Quit]
neoesque has joined #ruby-lang
rmascarenhas has quit [Quit: leaving]
imperator has joined #ruby-lang
plusk has quit [Quit: Leaving]
outoftime has joined #ruby-lang
banisterfiend has joined #ruby-lang
robotmay has joined #ruby-lang
Banistergalaxy has quit [Ping timeout: 264 seconds]
msaffitz has joined #ruby-lang
x0F has quit [Disconnected by services]
x0F_ has joined #ruby-lang
x0F_ is now known as x0F
msaffitz has quit [Quit: Computer has gone to sleep.]
yannis has joined #ruby-lang
ben_m has quit [Quit: Leaving]
akira989 has quit [Remote host closed the connection]
akira989 has joined #ruby-lang
akira989 has quit [Ping timeout: 240 seconds]
jbsan_ has joined #ruby-lang
jbsan has quit [Read error: No route to host]
jbsan_ is now known as jbsan
sailias has joined #ruby-lang
TheHunter_1039 has quit [Ping timeout: 260 seconds]
havenn has quit [Remote host closed the connection]
wpaulson has joined #ruby-lang
imperator has quit [Quit: Leaving]
seanstickle has quit [Quit: Nihil sub sole novum]
igaiga has quit [Remote host closed the connection]
fgomez has quit [Ping timeout: 250 seconds]
savage- has quit [Remote host closed the connection]
spuk has quit [Ping timeout: 255 seconds]
perryh is now known as perryh_away
sailias has quit [Ping timeout: 248 seconds]
macmartine has joined #ruby-lang
robotmay has quit [Remote host closed the connection]
asahi has quit [Quit: Leaving.]
macmartine has quit [Read error: Connection reset by peer]
macmartine has joined #ruby-lang
stardiviner has joined #ruby-lang
Guest53242 has quit [Remote host closed the connection]
jimmy1980 has quit [Ping timeout: 244 seconds]
macmartine has quit [Quit: macmartine]
krz has joined #ruby-lang
msaffitz has joined #ruby-lang
Bwild has quit [Ping timeout: 265 seconds]
cirwin has joined #ruby-lang
Bwild has joined #ruby-lang
dr0id has joined #ruby-lang
<dr0id> is there a way to suppress this warning "/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.14/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /var/www in PATH, mode 040777" without changing /var/www permissions ? I get this on bundle exec some_cmd
<Rakko> someone changed the permissions
<Rakko> either change it so it's not world-writeable or take it out of your path
<dr0id> "take it out of your path
<dr0id> " ?
<Rakko> yes. it's in your PATH variable
<dr0id> /var/www is not in $PATH
<dr0id> $ echo $PATH #=> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
brushbox has quit [Quit: Leaving.]
<Rakko> hmm... maybe bundle adds it
<Rakko> I've seen this issue on stackoverflow
<Rakko> but I don't know why it happens (other than it being world-writeable)
Weems has quit []
Weems has joined #ruby-lang
Weems has quit [Changing host]
Weems has joined #ruby-lang
mistym has quit [Remote host closed the connection]
Weems has quit [Client Quit]
macmartine has joined #ruby-lang
yannis has quit [Read error: Operation timed out]
piyush has joined #ruby-lang
yannis has joined #ruby-lang
spuk has joined #ruby-lang
piyush has quit [Ping timeout: 248 seconds]
yannis has quit [Client Quit]
banisterfiend has quit [Ping timeout: 246 seconds]
msaffitz has quit [Quit: Computer has gone to sleep.]
gja has joined #ruby-lang
gja has quit [Changing host]
gja has joined #ruby-lang
ramonmaruko has quit [Remote host closed the connection]
gouthamvel has joined #ruby-lang
gouthamvel has left #ruby-lang [#ruby-lang]
ramonmaruko has joined #ruby-lang
slyphon has quit [Ping timeout: 245 seconds]
msaffitz has joined #ruby-lang
banisterfiend has joined #ruby-lang
Rakko has quit [Quit: Bye]
perryh_away is now known as perryh
umttumt has joined #ruby-lang
macmartine has quit [Quit: macmartine]
livinded has joined #ruby-lang
mssola has joined #ruby-lang
<livinded> Is it possible to serialize ruby objects, including methods? I understand it's a really dumb/bad idea and shouldn't EVER be used.
<cirwin> livinded: not methods, nope
<cirwin> no reason why not
<cirwin> would be damned useful
<livinded> cirwin: it's a huge security issue
<livinded> that's the reason you can't
<erikh> not in MRI at least
<livinded> erikh: are there any ruby implementations that do allow it?
<erikh> I believe rubinius can
<cirwin> livinded: I thought it was just that methods pointed to bindings
<erikh> mruby definitely can
<cirwin> which had the entire callstack
<livinded> erikh: orly?
<cirwin> so it's just a case of being really hard to serialize
jarred has quit [Ping timeout: 260 seconds]
<livinded> cirwin: https://gist.github.com/bde47ae6c33d1c838b8f is why you wouldn't want it to be possible
<livinded> erikh: awesome, I'll check them both out
<cirwin> livinded: not sure what I'm looking at?
<erikh> mruby isn't really ruby
<erikh> in the standard sense at least.
<livinded> erikh: would it support doing something like the code I posted?
<erikh> I doubt it, it has no i/o layer
<livinded> ah
<livinded> maybe rubinius will then
TheHunter_1039 has joined #ruby-lang
TheHunter_1039 has quit [Client Quit]
<livinded> cirwin: imagine an object that no matter what you sent to it would run some very dangerous code
TheHunter_1039 has joined #ruby-lang
TheHunter_1039 has quit [Client Quit]
<erikh> you mean like FileUtils.rm_rf "/" ?
<livinded> erikh: ya
solars has joined #ruby-lang
<erikh> I mean, it's one thing to break existing code, it's another to invent special cases where a malicious library author gets his/her code used
<livinded> basically you create an object, undefine all methods, besides method missing, and make method_missing run whatever evil payload you want
<erikh> right, but why would I do that when I could just write what I wrote above
<erikh> it's a lot easier, don't you think? :)
<livinded> erikh: because you're attacking a service that doesn't eval a string but will load arbitrary serialized ruby objects into it
<erikh> if it's loading marshalled data from an untrusted source...
brianpWins has joined #ruby-lang
<livinded> erikh: like I said, I know it's bad. This is an exercise in ruby metaprogramming and security, not real world implementations of anything
jarred has joined #ruby-lang
<erikh> fair enough.
banisterfiend has quit [Remote host closed the connection]
<livinded> but the fact that code isn't serialized, only data, makes the technique a bit difficult to pull off
<erikh> but it's the equivalent of piping the input from a form straight to eval()
<livinded> erikh: yes, only you're not called eval() on a string you're loading an actual ruby object into memory
<livinded> you're forcing the attacker to build the proper object to exploit the situation rather than just getting their payload to be eval()ed
<cirwin> livinded: you'd obviously only want to do it over a secure channel
<erikh> right
<cirwin> but it'd be nice for things like job-queues
<cirwin> if you could just send blocks around
<erikh> I guess that's the point I'm making, I'd hope this was obvious to developers.
<livinded> erikh: right
ruurd has joined #ruby-lang
banisterfiend has joined #ruby-lang
nertzy has quit [Quit: This computer has gone to sleep]
postmodern has quit [Quit: Leaving]
jarred has quit [Read error: Connection reset by peer]
havenn has joined #ruby-lang
wallerdev has quit [Quit: wallerdev]
xtagon has quit [Ping timeout: 272 seconds]
brianpWins has quit [Quit: brianpWins]
msaffitz has quit [Quit: Computer has gone to sleep.]
<bnagy> serializeable proc - I NEED DIS
<bnagy> give.
<livinded> bnagy: please don't do it
<livinded> it's BAD
<bnagy> it's not a security issue
<erikh> no more than eval or fileutils
<bnagy> unserialising untrusted data is the security issue
<bnagy> as php have learned I have no idea how many times now
<banisterfiend> bnagy: did u try serializable_proc
<banisterfiend> (a gem)
<bnagy> I have seen some hacky stuff for it
<bnagy> not going to use any yet though
<bnagy> I have a bona fide need to send chunks of code around a distributed system, and I would prefer to be able to serialise and not use eval
<bnagy> it's a feature, and it's not inherently bad or insecure
<livinded> bnagy: afaik you can't serialize php objects either
piyush has joined #ruby-lang
<livinded> I tried this earlier and it only serialized the data
<erikh> you can't dump anonymous subroutines in perl either
<bnagy> yeah the unserialize bugs have been in unserialising data :)
<bnagy> tons of them
brushbox has joined #ruby-lang
<bnagy> I would like someone who has a bunch of time to look into ruby Marshal with the same depth :/
<bnagy> but I dunno if webnerds use the same design patterns
<bnagy> cauase it's a terrible pattern
<bnagy> (storing serialised data in user cookies)
<whitequark> bnagy: why not eval?
<whitequark> ruby code itself is the only portable representation of ruby code
<livinded> bnagy: that's actually kind of a use case I was considering
<whitequark> every other one is tied to a specific vm
<bnagy> whitequark: that's what I use, I just don't like it :)
<bnagy> it's purely a cosmetic objection
<ryanf> the best kind
postmodern has joined #ruby-lang
lowg has quit [Quit: This computer has gone to sleep]
<whitequark> then, sorry for that, but gtfo. you don't have a real reason not to use eval
<whitequark> I know only one case where that does matter
<ryanf> what's that?
<whitequark> if your proc uses a non-trivial environment (e.g. upvalues, especially when tied to other procs), then it's impossible to reproduce it in a generic way with eval
<whitequark> but, mind you, it's exceptionally hard to reproduce environments (at least in Ruby) whatever way you'll try
outsmartin has joined #ruby-lang
<livinded> banisterfiend: got a few minutes to talk in pm about this?
<whitequark> e.g. try to serialize this: "a = b = nil; a = proc { |&x| b = proc { x.call(a) } }"
<bnagy> livinded: the point being that storing ANY serialized data in user cookies is a bad idea
<bnagy> unserialize routines are very hard to do right with untrusted data
<livinded> bnagy: I've said this since the beginning of this
<bnagy> well you were going on about objects and methods before
<bnagy> I'm talking about arrays and hashes
<bnagy> as in bugs in the C code implementing Marshal.load, if that's not clear
<banisterfiend> livinded: talk about what/
<banisterfiend> livinded: and i assume u meant to ping bnagy
<livinded> banisterfiend: no
havenn has quit [Remote host closed the connection]
brushbox has quit [Quit: Leaving.]
brushbox has joined #ruby-lang
brianpWins has joined #ruby-lang
andrewhl has quit [Remote host closed the connection]
kashyapkmbc has joined #ruby-lang
<erikh> alright, night internets
<bnagy> o/
qwerxy has joined #ruby-lang
brianpWins has quit [Ping timeout: 255 seconds]
Criztian has joined #ruby-lang
brianpWins has joined #ruby-lang
<robgleeson> livinded: serializing should never be used? wut?
<robgleeson> serialization is awesome.
<cirwin> marshal is the devil!
<livinded> robgleeson: serializing code
<robgleeson> yeah, what else do you serialize?
<livinded> not serializing data
<robgleeson> acorns?
<robgleeson> nothing wrong with serializing code.
<robgleeson> anyway, i think the implementation that comes closest is Rubinius.
<robgleeson> it can serialize binding objects.
<robgleeson> no other implementation can AFAIK (CRuby definitely can't).
<livinded> ya, I saw how you can serialize blocks with it. Trying to get it working with actual full objects
<robgleeson> you can't serialize Procs, though.
<livinded> my guess is it's not going to be possible and I'm going to have to just use procs
<robgleeson> just their binding.
<robgleeson> you might be able to solve the problem in another way (serialize the _data_ and re-use the proc to operate on that data)
<livinded> wonder if I could just store the code I want to execute as source in a variable in the proc and have the proc eval it into existence
<robgleeson> you could but you know eval(…) is even more eval than serialization right
<robgleeson> you should never use it
<robgleeson> not even in a REPL.
<robgleeson> thats the mantra, right?
<livinded> one sec
<robgleeson> exclude every use case with bullshit opinion
kashyapkmbc has quit [Quit: kashyapkmbc]
workmad3 has joined #ruby-lang
stardiviner has quit [Quit: my website: http://stardiviner.dyndns-blog.com/]
heftig has quit [Quit: leaving]
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
outsmartin has quit [Quit: Leaving.]
yxhuvud has joined #ruby-lang
ttilley_off is now known as ttilley
zmack has joined #ruby-lang
outoftime has quit [Ping timeout: 260 seconds]
Fullmoon has quit [Quit: Fullmoon]
Z33K|Lux has quit []
workmad3 has quit [Ping timeout: 245 seconds]
hakunin has quit [Read error: Connection reset by peer]
hakunin has joined #ruby-lang
havenn has joined #ruby-lang
dc5ala has joined #ruby-lang
outoftime has joined #ruby-lang
srbartlett has quit [Remote host closed the connection]
livinded has quit [Remote host closed the connection]
yugui_zzz is now known as yugui
<yorickpeterse> ZOMG, Redmine upgraded to Rails 3
<yorickpeterse> Something I thought that would never happen
yugui is now known as yugui_zzz
QaDeS has joined #ruby-lang
shogenja has joined #ruby-lang
piyush has quit [Ping timeout: 260 seconds]
Torrieri has quit [Read error: Connection reset by peer]
shogenja has quit [Client Quit]
bastilian has joined #ruby-lang
piyush has joined #ruby-lang
ruurd_ has joined #ruby-lang
ruurd_ is now known as Guest15146
gsav has joined #ruby-lang
kitallis has joined #ruby-lang
ruurd has quit [Ping timeout: 260 seconds]
robin850 has joined #ruby-lang
<robin850> Hello
<robin850> Can I ask a little question please ?
<kyrylo> No. Go away.
<yorickpeterse> Don't ask to ask
<yorickpeterse> Just ask
Torrieri has joined #ruby-lang
<robin850> Ok, what is the name of the "?" methods because I know that the "!" methods are called "bang"
<robin850> but I can't remember the name of the "?" methods
<yorickpeterse> "boolean methods" is what I call them
<robin850> Okay, thank you
igotnolegs has quit [Quit: Computer has gone to sleep.]
<ryanf> people call them predicate methods sometimes
<ryanf> or just predicates
<robin850> ryanf: okay, I didn't know this name, thanks :)
dhruvasagar has joined #ruby-lang
Torrieri has quit [Read error: Connection reset by peer]
Torrieri has joined #ruby-lang
Torrieri has quit [Changing host]
Torrieri has joined #ruby-lang
dejongge has joined #ruby-lang
cantonic has joined #ruby-lang
Randroid has joined #ruby-lang
qwerxy has quit [Quit: offski]
Randroid has quit [Client Quit]
Torrieri has quit [Read error: Connection reset by peer]
Randroid has joined #ruby-lang
<robgleeson> robin850: predicate is the right one.
<banisterfiend> ryanf: in elisp the methods end in p, like loadedp
Torrieri has joined #ruby-lang
Torrieri has quit [Changing host]
Torrieri has joined #ruby-lang
<banisterfiend> ryanf: where the p means predicate like u say
Hakon|mbp has quit [Remote host closed the connection]
<robgleeson> banisterfiend: yeah, Rubinius has them too, NILP(…), etc.
Hakon|mbp has joined #ruby-lang
ryanf has quit [Quit: leaving]
cdt has quit [Ping timeout: 260 seconds]
wpaulson_ has joined #ruby-lang
heftig has joined #ruby-lang
wpaulson has quit [Ping timeout: 245 seconds]
wpaulson_ is now known as wpaulson
rolfb has joined #ruby-lang
t0rrieri has joined #ruby-lang
vmoravec has joined #ruby-lang
kyrylo has quit [Ping timeout: 260 seconds]
kyrylo has joined #ruby-lang
kyrylo has quit [Changing host]
kyrylo has joined #ruby-lang
Hakon|mbp has quit [Ping timeout: 248 seconds]
t0rrieri has quit [Read error: Connection reset by peer]
Torrieri has quit [Ping timeout: 265 seconds]
t0rrieri has joined #ruby-lang
gregmore_ has joined #ruby-lang
gregmoreno has quit [Ping timeout: 245 seconds]
charliesome has joined #ruby-lang
fgomez has joined #ruby-lang
Randroid has quit [Quit: Randroid]
<rue> MRI’s got them…
perryh is now known as perryh_away
<banisterfiend> rue: check out this b's stuff: http://themermaidmachine.tumblr.com/
igaiga has joined #ruby-lang
outsmartin has joined #ruby-lang
t0rrieri has quit [Read error: Connection reset by peer]
gnufied has joined #ruby-lang
t0rrieri has joined #ruby-lang
t0rrieri has quit [Client Quit]
igaiga has quit [Remote host closed the connection]
sora_h is now known as s0ra_h
s0ra_h is now known as sora_h
zz_chrismcg is now known as chrismcg
Criztian has quit [Remote host closed the connection]
Fullmoon has joined #ruby-lang
cdt has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
cirwin has quit [Ping timeout: 255 seconds]
<rue> banisterfiend: Pretty nice
sora_h is now known as s0ra_h
futurechimp has joined #ruby-lang
francisfish has joined #ruby-lang
apeiros_ has joined #ruby-lang
dr0id has quit [Ping timeout: 240 seconds]
gnufied1 has joined #ruby-lang
gnufied has quit [Ping timeout: 265 seconds]
fgomez has quit [Quit: leaving]
fgomez has joined #ruby-lang
qwerxy has joined #ruby-lang
s0ra_h is now known as sora_h
dr0id has joined #ruby-lang
Ullrich has joined #ruby-lang
umttumt has quit [Remote host closed the connection]
robotmay has joined #ruby-lang
igaiga has joined #ruby-lang
setmeaway has quit [Read error: Connection reset by peer]
tyman has quit [Quit: tyman]
sora_h is now known as s0ra_h
neoesque has quit [Quit: Bye!]
srbartlett has joined #ruby-lang
zmack has quit [Remote host closed the connection]
vesan_ has quit [Read error: Connection reset by peer]
vesan has joined #ruby-lang
Axsuul has quit [Remote host closed the connection]
s0ra_h is now known as sora_h
jarib has quit [Excess Flood]
umttumt has joined #ruby-lang
jarib has joined #ruby-lang
robotmay has quit [Remote host closed the connection]
banisterfiend has quit [Read error: Connection reset by peer]
banisterfiend has joined #ruby-lang
cschneid has quit [Read error: Operation timed out]
Phlogistique has left #ruby-lang [#ruby-lang]
cschneid has joined #ruby-lang
dr0id has quit [Ping timeout: 260 seconds]
umttumt has quit [Remote host closed the connection]
phaded has joined #ruby-lang
phaded has quit [Read error: Connection reset by peer]
yumike has joined #ruby-lang
gja has quit [Quit: This computer has gone to sleep]
sora_h is now known as s0ra_h
robgleeson has quit [Ping timeout: 250 seconds]
zmack has joined #ruby-lang
workmad3 has joined #ruby-lang
outsmartin has quit [Quit: Leaving.]
dr0id has joined #ruby-lang
cdt has quit [Quit: Ex-Chat]
cdt has joined #ruby-lang
s0ra_h is now known as sora_h
neoesque has joined #ruby-lang
heftig has quit [Ping timeout: 245 seconds]
umttumt has joined #ruby-lang
sora_h is now known as s0ra_h
mark_locklear has joined #ruby-lang
Dreamer3 has quit [Quit: Computer has gone to sleep.]
mark_locklear has quit [Client Quit]
Guedes has joined #ruby-lang
toretore has joined #ruby-lang
ben_m has joined #ruby-lang
wpaulson has quit [Ping timeout: 250 seconds]
s0ra_h is now known as sora_h
cronin102 has left #ruby-lang [#ruby-lang]
srbartlett has quit [Remote host closed the connection]
cronin101 has joined #ruby-lang
wpaulson has joined #ruby-lang
Criztian has joined #ruby-lang
havenn has quit [Remote host closed the connection]
tbuehlmann has joined #ruby-lang
d3vic3 has joined #ruby-lang
retro|cz has quit [Remote host closed the connection]
judofyr has joined #ruby-lang
d3vic3 has quit [Ping timeout: 246 seconds]
d3vic3 has joined #ruby-lang
Ullrich has quit [Ping timeout: 245 seconds]
piyush has quit [Ping timeout: 260 seconds]
robin850 has quit [Quit: Konversation terminated!]
dr0id has quit [Ping timeout: 260 seconds]
soahccc` is now known as soahccc
wpaulson has quit [Ping timeout: 245 seconds]
dr0id has joined #ruby-lang
oddmunds has joined #ruby-lang
wpaulson has joined #ruby-lang
chrislgibson has joined #ruby-lang
deryl has quit [Quit: deryl]
carloslopes has joined #ruby-lang
postmodern has quit [Quit: Leaving]
mytrile has joined #ruby-lang
sandbags has quit [Remote host closed the connection]
mytrile_ has joined #ruby-lang
umttumt has quit [Remote host closed the connection]
mytrile has quit [Ping timeout: 252 seconds]
jarib has quit [Excess Flood]
mytrile_ has quit [Remote host closed the connection]
mytrile has joined #ruby-lang
jarib has joined #ruby-lang
umttumt has joined #ruby-lang
iamlacroix has joined #ruby-lang
heftig has joined #ruby-lang
Fullmoon has quit [Quit: Fullmoon]
mytrile_ has joined #ruby-lang
Dreamer3 has joined #ruby-lang
iamlacroix has quit [Remote host closed the connection]
mytrile has quit [Ping timeout: 252 seconds]
ruby-lang789 has joined #ruby-lang
mistym has joined #ruby-lang
mistym has quit [Changing host]
mistym has joined #ruby-lang
havenn has joined #ruby-lang
<ruby-lang789> Hi everyone. I'm quite new to Ruby and there's something I really don't understand. Let's imagine a file containing this : http://pastie.org/4148117 . I would expect it only to display '8'. However, it does display 2 and 4, which means that the code written withing the class and module is still read. And I don't get why... Thanks in advance
<ruby-lang789> (it also displays 8, of course)
piyush has joined #ruby-lang
<judofyr> ruby-lang789: yes, everything inside the class/module body is executed immediately
gnufied1 has quit [Quit: Leaving.]
ruby-lang789 is now known as Zhakji
<Zhakji> judofyr: Oh OK. I would have expect a behaviour like functions for Class and Modules
<judofyr> Zhakji: if you want code that runs when you instantiate a new object: http://pastie.org/4148137
wpaulson has quit [Quit: Colloquy for iPhone - http://colloquy.mobi]
nertzy has joined #ruby-lang
<Zhakji> judofyr: But that was my point. I don't get why the code within a class is directly executed whereas I didn't instantiate any object of this class
gnufied has joined #ruby-lang
mistym has quit [Remote host closed the connection]
<judofyr> Zhakji: the class body is executed when you define the class
<Zhakji> judofyr: Good to know, thanks :)
<Zhakji> judofyr: After 20 years of C, I must admit that Ruby has been very well thought
jperry2 has joined #ruby-lang
<judofyr> Zhakji: in fact, that's how the #initialize method is defined in my example. it's because the "def initialize; end" executes (and when a "def" executes it defines a method)
seoaqua has joined #ruby-lang
<Zhakji> judofyr: Nice, thanks :)
srbartlett has joined #ruby-lang
<workmad3> Zhakji: it's also how something like 'class Foo; attr_accessor :bar; end' works... attr_accessor is just a method call (one that defines methods... but still, just a normal method call :) )
mytrile_ has quit [Remote host closed the connection]
<judofyr> Zhakji: you can even do this: http://pastie.org/4148156 (that will define the method 5 times in row). kinda silly examples, but it shows an important part of Ruby classes: you can do all kind of funky stuff with the class body.
<judofyr> s/the method/the same method/
<Zhakji> judofyr: Well I'm still trying to get where and why you would actually use this feature, but why not :)
<judofyr> Zhakji: workmad3 gave a good example
mytrile_ has joined #ruby-lang
<workmad3> Zhakji: class macros (method calls inside a class definition) are one of the canonical examples... they let you clean up your class definitions, make them more declarative and cleaner
<judofyr> Zhakji: http://pastie.org/4148167
<Zhakji> So if I sum up, the hardest thing in Ruby, is to find what you cannot do ? ^^
<Zhakji> judofyr: Basically, it replaces getters/setters ?
<judofyr> Zhakji: the real "magic" is that in Ruby there is nothing special about attr_accessor. it's just a regular method. if Ruby didn't ship with it by default, you could write it yourself.
<workmad3> Zhakji: it doesn't replace them... it creates them
<judofyr> Zhakji: yeah, it defines getters/setters for an instance variable
<Zhakji> workmad3: by replace, I mean, it's the Ruby's getters/setters that we can find in Java or so
<workmad3> judofyr: I believe that the built-in version of attr_accessor actually works with native code... but yes, you could write your own attr_accessor :)
<workmad3> I've even done that as an exercise before... my own attr_accessor that lets you set a default value (which is harder than you'd think, especially if you want to be able to set to default values like [])
mytrile_ has quit [Remote host closed the connection]
krohrbaugh has quit [Quit: Leaving.]
mytrile has joined #ruby-lang
<judofyr> writing a custom attr_accessor is a nice exercise :)
<Zhakji> judofyr: But I don't get why people commonly say Ruby is weakly typed... I might be not a Ruby pro (just started), it deffo seems like strong typing to me
<judofyr> Zhakji: Ruby is strongly and dynamically typed
<Zhakji> judofyr: Dynamic, but strong
<judofyr> exactly
<workmad3> Zhakji: because they conflate dynamic with weak
<Zhakji> workmad3: How come ? lol
<workmad3> Zhakji: it's a common mistake :)
<workmad3> Zhakji: they assume that because you don't check types (because of duck typing) and because you don't need to declare what type something is that therefore the type system is weak
mytrile has quit [Read error: Connection reset by peer]
<Zhakji> workmad3: Which is a non sense
mytrile has joined #ruby-lang
<workmad3> Zhakji: or at least, I believe that's the case
nertzy2 has joined #ruby-lang
<judofyr> typing is hard, let's go shopping
<workmad3> Zhakji: it's just a case of re-educating people who think that... it's a faulty understanding
<banisterfiend> can someone tell me names of some C extensions (that dont require 3rd party C libs to already be installed). Preferably C extensions that dont have any ruby, but im OK with ruby too
<workmad3> Zhakji: I typically give the example of C as a weakly typed language myself ;)
nertzy has quit [Ping timeout: 245 seconds]
jxie has quit [Quit: leaving]
nertzy2 has quit [Ping timeout: 260 seconds]
srbartlett has quit [Remote host closed the connection]
<Zhakji> workmad3: I had enough of C... Time to learn some new language. I heard a lot about Ruby and its "elegance", so why not :)
selvakumaran has joined #ruby-lang
<foucist> Zhakji: yay!
mytrile has quit [Read error: Connection reset by peer]
mytrile has joined #ruby-lang
mistym has joined #ruby-lang
mistym has quit [Changing host]
mistym has joined #ruby-lang
<judofyr> Zhakji: \o/
ttilley is now known as ttilley_off
<Zhakji> judofyr: What did I say lol ^^
<judofyr> Zhakji: oh, it was just some cheering that you're learning Ruby ;)
<Zhakji> judofyr: Well I guess I'm not the first and I won't be the last ;)
<judofyr> let's hope so
<Zhakji> judofyr: Just spent 1 month learning all the concepts of OOP tho
nertzy has joined #ruby-lang
<dr0id> can I actually do something about this warning - "/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.14/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /var/www in PATH, mode 040777" without chmod'ing /var/www ?
<Zhakji> dr0id: -W1 ? xD
<Zhakji> or -W0
<dr0id> ?
<Zhakji> dr0id: Disable warnings... That was just a troll I guess
<dr0id> couldn't find an option with bundle to do that, also in future if there's something serious, I might not get notified.
<judofyr> dr0id: why do you have /var/www in PATH?
mytrile_ has joined #ruby-lang
<dr0id> I don't
<dr0id> which is something weird
<dr0id> $ echo $PATH
<dr0id> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
<judofyr> dr0id: this is through Bundler though. try `puts ENV['PATH']` inside your Ruby-code somewhere
outsmartin has joined #ruby-lang
<Zhakji> judofyr: Is there a proper way to upgrade my version of Ruby on Linux ? I tried to use RVM but I had wierd problems so I'd rather use aptitude for that (running on Mint)
mytrile has quit [Ping timeout: 240 seconds]
sandbags has joined #ruby-lang
<outsmartin> you can compile it from source
<judofyr> Zhakji: I believe you can get Ruby 1.9.3 through aptitude with the ruby19 package
mytrile_ has quit [Remote host closed the connection]
<outsmartin> aptitude is often behind some patches
<Zhakji> judofyr: Yeah but there will be a conflict between the 1.9.3 and 1.8.7 (currently installed); no ?
<outsmartin> yes
<outsmartin> thats why you use rvm or rbenv
<judofyr> Zhakji: no, it will be installed as a separate binary
<dr0id> judofyr: seems like bundler is adding this in my path - /var/www/gemon/gems/ruby/1.9.1/bin
mytrile has joined #ruby-lang
<Zhakji> outsmartin: I'll retry RVM, but it didn't work last time
<judofyr> Zhakji: I'd recommend either RVM or rbenv (with ruby-build)
<judofyr> Zhakji: "rvm vs rbenv" is kinda like "vim vs emacs" in Ruby, but both gets the job done
<Zhakji> judofyr: vim
<judofyr> *puh*
<judofyr> we can still be friends
outoftime has quit [Remote host closed the connection]
<dr0id> judofyr: why does bundler have to givwe this warning anyway, why does it cares :P
tommyvyo has joined #ruby-lang
<judofyr> dr0id: it's not bundler, but Ruby I think
<Zhakji> judofyr: Actually I use kate ;)
<dr0id> its generated from bundler-1.0.14/lib/bundler/runtime.rb:136:
<banisterfiend> judofyr: can u think of any interesting C extensions (besides the obvious nokogiri etc)
<judofyr> banisterfiend: there's https://github.com/faye/faye-websocket-ruby/tree/master/ext/faye_websocket_mask, but that's really basic.
<judofyr> banisterfiend: I know there is a HTML escape gem written in C
<banisterfiend> thanks
<judofyr> that should be pretty "pure C"
<workmad3> dr0id: it cares because a world-writable gem path is frequently a sign of a compromised system that now probably shouldn't be trusted
<workmad3> dr0id: as any arbitrary code can now be modified in the gems
<dr0id> hehe
<workmad3> dr0id: and because bundler is also for use on production systems... it lets you know that your system isn't secure ;)
<dr0id> ye ye :)
<workmad3> dr0id: judofyr may be right that it's not bundler though... thinking about it, I think it's from rubygems :)
<dr0id> yeah possib le
<judofyr> banisterfiend: there's also http://rubygems.org/gems/dhkeyexchange which I played with ages ago
<banisterfiend> cool
<judofyr> banisterfiend: and here's the HTML escape thingie: https://github.com/brianmario/escape_utils
<banisterfiend> cool
<banisterfiend> judofyr: getting show-method to work on 3rd party extensions :D
<judofyr> banisterfiend: you know you can grab all the specs from rubygems.org? :)
<banisterfiend> judofyr: and search for C exts u mean?
<judofyr> yeah
<judofyr> banisterfiend: rubygems.org/specs.4.8.gz
<judofyr> Marshal.load i
bglusman has joined #ruby-lang
<judofyr> t
<dr0id> where do you guys usually install your gems?
<dr0id> globsally with sudo ? home ? or umm, something with rvm?
<workmad3> dr0id: depends... development, I use RVM
<workmad3> dr0id: deployment of a web app, I'll normally use bundle --deployment, which will install fresh copies into vendor/bundle
<judofyr> dr0id: development: rvm. in production I just run "bundle"
<outsmartin> i use rvm dev and production
<dr0id> and production?
<outsmartin> apache got his own gemset
<judofyr> banisterfiend: actually, that doesn't contain any gemspec files… hm… I wonder if it tells you if it contains ext or not
asahi has joined #ruby-lang
asahi has left #ruby-lang [#ruby-lang]
<banisterfiend> judofyr: escape_utils is great
<banisterfiend> in that my trick doesnt work for it :) so it helped find a bug
<dr0id> workmad3: ok
<judofyr> banisterfiend: \o/
<Zhakji> outsmartin: I cannot run the 'rvm' command if I put the prefix sudo. It tells me command not found :/
<judofyr> Zhakji: you don't need sudo with rvm :)
<Zhakji> outsmartin: Without it it seems to work, but it obviously don't get the job done
dv310p3r has joined #ruby-lang
<Zhakji> judofyr: but I have permission denied everywhere ^^
<Zhakji> judofyr: (it's hardly readable, I know, sorry) : http://pastie.org/4148316
<outsmartin> Zhakji: you restarted your terminal?
<judofyr> Zhakji: oh, you're installing system-wide?
<Zhakji> judofyr: Yup
<Zhakji> outsmartin: Yes I did
<judofyr> nevermind then (about the sudo)
<outsmartin> you want system wide install?
<Zhakji> yep
tzvi has joined #ruby-lang
<outsmartin> you installed it with sudo?
<Zhakji> yes I did, otherwise it was complaining
<Zhakji> outsmartin: I always use the sudo command :/
<outsmartin> you shouldnt :/
<outsmartin> it should either work with rvmsudo or just rvm
<outsmartin> you added yourself to the rvm group?
<Zhakji> But I needed sudo to install rvm in multi user
<outsmartin> yeah thats right
<Zhakji> No I didn't add myself to rvm group :3
<outsmartin> but after that you should be able to use rvm without sudo
igaiga has quit [Remote host closed the connection]
<outsmartin> rvm multiuser or only root is quite tricky
<Zhakji> I'll try to run the single user installation if it helps
<Zhakji> aw come on I cannot even do that... If I do "rvm implode"
<Zhakji> I have tons of lines saying "cannot remove file..."
<outsmartin> you probably messed up :)
<Zhakji> yeah but I'm stuck now ^^
<outsmartin> sudo su
<outsmartin> then delete everything rvm related
<Zhakji> won't work
<Zhakji> since rvm isn't found in the root environment
<dr0id> workmad3: you said it installs to vendor/bundle, if you needed access to the bin files, you would then add it to PATH ?
<outsmartin> you dont have to use implode
<outsmartin> just plain delete it
<outsmartin> Zhakji: https://rvm.io/support/troubleshooting/ look there at the bottom
chrislgibson has quit [Quit: Linkinus - http://linkinus.com]
<outsmartin> is a small script for removing everything
ttilley_off is now known as ttilley
<judofyr> dr0id: "bundle exec" takes care of that. I also like it run it with "bundle --binstubs bin", so I can just "bin/rake"
<dr0id> ok
EvilJStoker has quit [Excess Flood]
<Zhakji> outsmartin: OK it's removed, let's try again in simple user
<outsmartin> make sure to follow the instructions provided by the installer
<Zhakji> outsmartin: It's compiling right now :)
gianlucadv has quit [Ping timeout: 272 seconds]
<dr0id> judofyr: thanks, --binstubs is quite handy :) you think bin versions can be maintained with --binstubs?
<Zhakji> outsmartin: OK I read that : RVM is not a function, selecting rubies with 'rvm use ...' will not work. You need to change your terminal settings to allow shell login.
mistym has quit [Remote host closed the connection]
kedare has joined #ruby-lang
Guest27471 has joined #ruby-lang
<outsmartin> try restarting terminal
<judofyr> dr0id: bin versions? it will handle upgrades of gems if that's what you mean…
mytrile_ has joined #ruby-lang
<dr0id> actually I meant that, I might want to maintain 2 different bin of 2 different versions later
<dr0id> versions of the same gem*
<Zhakji> outsmartin: first I just did rvm install 1.9.3 (it's downloading)
<judofyr> dr0id: I don't think bundlers supports multiple versions of the same gem…
indstry has joined #ruby-lang
<dr0id> oh, ok
brushbox has quit [Quit: Leaving.]
mytrile_ has quit [Remote host closed the connection]
gsav has quit [Ping timeout: 260 seconds]
mytrile has quit [Ping timeout: 248 seconds]
mytrile_ has joined #ruby-lang
<dr0id> judofyr: woah man, --binstubs is actually what I have been looking for hours, hehe. thanks :D
<judofyr> dr0id: :)
bryancp has joined #ruby-lang
krohrbaugh has joined #ruby-lang
selvakumaran has quit [Ping timeout: 264 seconds]
<judofyr> dr0id: also, it *is* Ruby that warns about "insecure PATH". try to set ENV['PATH'] = "/tmp/foo" (where /tmp/foo is 777) and see for yourself :)
<dr0id> ye indeed
<dr0id> ENV['PATH'] = '/tmp/foo'
<dr0id> (irb):1: warning: Insecure world writable dir /tmp/foo in PATH, mode 040777
Pip has joined #ruby-lang
dejongge has quit [Ping timeout: 245 seconds]
mytrile_ has quit [Remote host closed the connection]
gsav has joined #ruby-lang
fgomez has quit [Read error: Connection reset by peer]
TheHunter_1039 has joined #ruby-lang
wallerdev has joined #ruby-lang
Caius has quit [Ping timeout: 252 seconds]
Guest15146 has quit [Quit: Linkinus - http://linkinus.com]
stardiviner has joined #ruby-lang
frem has joined #ruby-lang
ruurd has joined #ruby-lang
neoesque has quit [Quit: Bye!]
Caius has joined #ruby-lang
krz has quit [Read error: Connection timed out]
stardiviner has quit [Quit: my website: http://stardiviner.dyndns-blog.com/]
yumike has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
ruurd_ has joined #ruby-lang
ruurd has quit [Read error: Connection reset by peer]
ruurd_ is now known as Guest78717
mistym has joined #ruby-lang
mistym has joined #ruby-lang
kurko_ has joined #ruby-lang
Caius has quit [Ping timeout: 252 seconds]
charliesome has quit [Quit: Textual IRC Client: www.textualapp.com]
sailias has joined #ruby-lang
wallerdev has quit [Quit: wallerdev]
fgomez has joined #ruby-lang
outoftime has joined #ruby-lang
florentg2 has joined #ruby-lang
beiter has joined #ruby-lang
tubbo has quit [Quit: brb restart time]
Caius has joined #ruby-lang
deryl has joined #ruby-lang
stardiviner has joined #ruby-lang
<yorickpeterse> That's not a Ruby warning per se, Bash does that as well if I'm not mistaken
<judofyr> yorickpeterse: not here
robotmay has joined #ruby-lang
wallerdev has joined #ruby-lang
wallerdev has quit [Client Quit]
dhruvasagar has quit [Ping timeout: 255 seconds]
andrewhl has joined #ruby-lang
rolfb has quit [Quit: Linkinus - http://linkinus.com]
tubbo has joined #ruby-lang
<yorickpeterse> hm
<yorickpeterse> I swear I've seen it before outside of Ruby, though that might be me
andrewhl has quit [Remote host closed the connection]
<workmad3> yorickpeterse: SSH complains if your .ssh directory is world-writeable
kedare|2 has joined #ruby-lang
<yorickpeterse> Hm, it might've been that
stardiviner has quit [Quit: my website: http://stardiviner.dyndns-blog.com/]
kedare has quit [Ping timeout: 248 seconds]
vmoravec has quit [Quit: Leaving]
stardiviner has joined #ruby-lang
stardiviner has quit [Client Quit]
ben_m has left #ruby-lang ["Leaving"]
stardiviner has joined #ruby-lang
Pip__ has joined #ruby-lang
deryl has quit [Quit: Time To Go, Too Bad, So Sad!]
Pip has quit [Ping timeout: 256 seconds]
stardiviner has quit [Client Quit]
Pip has joined #ruby-lang
Pip has quit [Changing host]
Pip has joined #ruby-lang
Pip has quit [Read error: Connection reset by peer]
Pip has joined #ruby-lang
dalekurt has joined #ruby-lang
Pip__ has quit [Ping timeout: 272 seconds]
piyush has quit [Ping timeout: 260 seconds]
Zhakji has quit [Ping timeout: 245 seconds]
<judofyr> workmad3: what happened to number 1 and 2 btw?
<workmad3> judofyr: I killed them... :P
<judofyr> workmad3: I thought you killed so you could steal the name…
<workmad3> judofyr: heh :)
deryl has joined #ruby-lang
<workmad3> judofyr: seriously though... there never was a 1 and 2
judofyr is now known as workmad1
<workmad3> grrr
<workmad1> you said?
* workmad3 stabs workmad1
workmad1 is now known as workmad2
dr0id is now known as workmad1
<workmad1> hi!
<workmad2> hey workmad
enebo has joined #ruby-lang
<jaska> all gone mad.
<workmad1> jaska: you should nick yourself 'workmad'
<workmad1> I'll get in some 4,5,6,7,8,9,10
<workmad2> only workmads are allowed in here
<workmad1> it'll be nice
Pip__ has joined #ruby-lang
<workmad1> ah
<jaska> im on vacation, so no.
<workmad1> lucky you
workmad3 is now known as workmad
<deryl> work mad on some mad work
workmad is now known as workmad4
workmad4 is now known as workmad5
<deryl> or someone needs to do some mad work on workmad ;)
workmad5 is now known as workmad3
<workmad1> there's so much food to eat today, not sure wutdo :/
<workmad3> :(
yorickpeterse is now known as workmad9000
<workmad9000> Can I join too?
<workmad1> sure
<workmad3> workmad2: workmad3 was chosen because it was my autogenerated name @ uni
<workmad2> nice
workmad9000 is now known as yorickpeterse
indstry has quit [Remote host closed the connection]
workmad3 is now known as workmad9000
workmad9000 is now known as workmad3
<workmad3> now, can we stop confusing things? :(
krz has joined #ruby-lang
workmad2 is now known as dr0id
Pip has quit [Ping timeout: 272 seconds]
<dr0id> satistfied?
workmad3 is now known as workmad2
workmad2 is now known as workmad3
<workmad1> NickServ: (notice) dr0id!~judofyr@195.159.219.65 failed to login to dr0id. There has been 1 failed login attempt since your last successful login.
<workmad1> nice
<dr0id> :)
dr0id is now known as judofyr
<judofyr> ah
workmad1 is now known as dr0id
<dr0id> ;)
workmad3 is now known as workmad1
workmad1 is now known as workmad3
<workmad3> there we go... use at your peril :P
piyush has joined #ruby-lang
djgraham has joined #ruby-lang
<workmad3> I've stopped them now
<workmad3> I have ghosts at the ready :)
Pip__ has quit [Quit: Leaving]
Fullmoon has joined #ruby-lang
Austin__ has joined #ruby-lang
tjadc has joined #ruby-lang
chill13j has joined #ruby-lang
<rue> William Orkmad? And there were two before?
jxie has joined #ruby-lang
chill13j has quit [Quit: Leaving.]
<workmad3> rue: nah
<workmad3> rue: first 6 chars of surname + first char of first name + last digit of year I started
<rue> I like my version better
<workmad3> rue: :P
chill13j has joined #ruby-lang
thone has joined #ruby-lang
coryf has joined #ruby-lang
thone_ has quit [Ping timeout: 248 seconds]
tjadc has quit [Ping timeout: 260 seconds]
akira989 has joined #ruby-lang
akira989 has quit [Remote host closed the connection]
crudson has joined #ruby-lang
akira989 has joined #ruby-lang
stardiviner has joined #ruby-lang
cantonic has quit [Quit: cantonic]
bfreeman has quit [Quit: bfreeman]
stardiviner has quit [Remote host closed the connection]
andrewhl has joined #ruby-lang
stardiviner has joined #ruby-lang
stardiviner has quit [Client Quit]
<andrewvos> Orkmad The Third
lsegal has joined #ruby-lang
stardiviner has joined #ruby-lang
stardiviner has quit [Client Quit]
<djgraham> I thought the 3 was a reversed e (aka work-made)
setmeaway has joined #ruby-lang
kitallis has quit [Quit: Computer has gone to sleep.]
Guest78717 has quit [Quit: Leaving...]
jlawler has quit [Quit: Leaving.]
piyush has quit [Ping timeout: 260 seconds]
stardiviner has joined #ruby-lang
msaffitz has joined #ruby-lang
kvs has quit [Quit: ZNC - http://znc.in]
bastilian has quit [Quit: Leaving...]
xtagon has joined #ruby-lang
cantonic has joined #ruby-lang
rdsm has joined #ruby-lang
stardiviner has quit [Quit: my website: http://stardiviner.dyndns-blog.com/]
apeiros_ has quit [Remote host closed the connection]
chill13j has left #ruby-lang [#ruby-lang]
judofyr has quit [Remote host closed the connection]
carloslopes has quit [Ping timeout: 252 seconds]
rdsm has quit [Ping timeout: 264 seconds]
rdsm has joined #ruby-lang
lupine_85 has quit [Ping timeout: 248 seconds]
sora_h is now known as s0ra_h
kedare|2 has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/]
rdsm has quit [Ping timeout: 272 seconds]
rdsm has joined #ruby-lang
foucist has left #ruby-lang [#ruby-lang]
tcopp has joined #ruby-lang
ryez has joined #ruby-lang
rdsm has quit [Ping timeout: 250 seconds]
rdsm has joined #ruby-lang
headius has joined #ruby-lang
macmartine has joined #ruby-lang
headius has quit [Client Quit]
rdsm has quit [Read error: Operation timed out]
dc5ala has quit [Quit: Ex-Chat]
rdsm has joined #ruby-lang
dhruvasagar has joined #ruby-lang
havenn has quit [Remote host closed the connection]
rdsm has quit [Ping timeout: 245 seconds]
rdsm has joined #ruby-lang
Carnage\ has joined #ruby-lang
rippa has joined #ruby-lang
kurko_ has quit [Ping timeout: 244 seconds]
rdsm has quit [Ping timeout: 272 seconds]
rdsm has joined #ruby-lang
carloslopes has joined #ruby-lang
VGoff is now known as VGoff_afk
kvs has joined #ruby-lang
rdsm has quit [Ping timeout: 260 seconds]
tyman has joined #ruby-lang
kurko_ has joined #ruby-lang
lupine_85 has joined #ruby-lang
futurechimp has quit [Ping timeout: 265 seconds]
butchanton has joined #ruby-lang
cirwin has joined #ruby-lang
savage- has joined #ruby-lang
futurechimp has joined #ruby-lang
brianpWins has quit [Quit: brianpWins]
augustl has left #ruby-lang [#ruby-lang]
dr0id has quit [Quit: Leaving.]
francisfish has quit [Remote host closed the connection]
ruurd has joined #ruby-lang
cirwin has quit [Ping timeout: 260 seconds]
headius has joined #ruby-lang
bastilian has joined #ruby-lang
florentg2 has quit [Quit: florentg2]
headius has quit [Ping timeout: 265 seconds]
QaDeS has quit [Quit: Ex-Chat]
bfreeman has joined #ruby-lang
sailias has quit [Ping timeout: 272 seconds]
sepp2k has quit [Remote host closed the connection]
headius has joined #ruby-lang
havenn has joined #ruby-lang
havenn_ has joined #ruby-lang
havenn has quit [Read error: Connection reset by peer]
erics has joined #ruby-lang
mistym_ has joined #ruby-lang
cdt has quit [Quit: Ex-Chat]
Skif has quit [Ping timeout: 240 seconds]
schroedinbug has quit [Quit: WeeChat 0.3.8]
tjadc has joined #ruby-lang
dhruvasagar has quit [Ping timeout: 246 seconds]
achiu has joined #ruby-lang
futurechimp has quit [Ping timeout: 255 seconds]
brianpWins has joined #ruby-lang
gja has joined #ruby-lang
gja has quit [Changing host]
gja has joined #ruby-lang
musl has joined #ruby-lang
gja has quit [Client Quit]
rowanu has joined #ruby-lang
futurechimp has joined #ruby-lang
erics has quit [Remote host closed the connection]
Skif has joined #ruby-lang
rmascarenhas has joined #ruby-lang
krohrbaugh has quit [Read error: Connection reset by peer]
qwerxy has quit [Ping timeout: 244 seconds]
workmad3 has quit [Ping timeout: 265 seconds]
umttumt has quit [Remote host closed the connection]
asahi has joined #ruby-lang
<asahi> is there a shorter way of writing hash['foo'].nil? ? hash['foo'] = x : hash['foo'] << x ?
gja has joined #ruby-lang
gja has quit [Changing host]
gja has joined #ruby-lang
<matled> asahi: I'm not sure if this helps in your situation, but you can specify a block to Hash.new that is called with the hash and the key, whenever a non-existent key is accessed
<asahi> matled: thanks. I don't really use Hash.new, but maybe it's time I started
<matled> example: Hash.new { |hash, key| hash[key] = [] } would create an empty array as value for every accessed key, which would allow hash[key] << "x" even if key has not been initialized
<matled> note that this might be strange, if you access elements just to check if they are there. they will be there and afterwards even be listed in hash.keys
<asahi> thanks. i'll give that a shot
jesly has joined #ruby-lang
francisfish has joined #ruby-lang
<asahi> that's awesome
<asahi> matled: thanks again
chrismcg is now known as zz_chrismcg
<jesly> i need a bit of help with slim
zz_wasnotrice is now known as wasnotrice
gja has quit [Quit: This computer has gone to sleep]
tbuehlmann has quit []
bastilian has quit [Quit: Leaving...]
hinbody has quit [Ping timeout: 250 seconds]
gsav has quit [Quit: Lost terminal]
gsav has joined #ruby-lang
gsav has quit [Client Quit]
sailias has joined #ruby-lang
headius has quit [Quit: headius]
mrsolo has joined #ruby-lang
anjen has joined #ruby-lang
gsav has joined #ruby-lang
znowi has joined #ruby-lang
hinbody has joined #ruby-lang
bastilian has joined #ruby-lang
Axsuul has joined #ruby-lang
carloslopes has quit [Quit: Leaving.]
carloslopes has joined #ruby-lang
futurechimp has quit [Ping timeout: 244 seconds]
ivanoats has joined #ruby-lang
livinded has joined #ruby-lang
r0bby has joined #ruby-lang
ryez has quit [Ping timeout: 245 seconds]
robbyoconnor has quit [Ping timeout: 260 seconds]
ryanf has joined #ruby-lang
hahuang65 has joined #ruby-lang
soahccc is now known as soahccc`
florentg2 has joined #ruby-lang
<hahuang65> anyone here use pry-remote for debugging purposes with Pow or Foreman?
<hahuang65> I'm just trying to figure out why the `continue` command for pry-nav and pry-debugger exit the pry session rather than just continuing to the next binding.remote_pry line.
rowanu has quit [Remote host closed the connection]
apeiros_ has joined #ruby-lang
Guest27471 is now known as EvilJStoker
futurechimp has joined #ruby-lang
gsav has quit [Quit: Lost terminal]
gsav has joined #ruby-lang
gsav has quit [Client Quit]
akira989 has quit [Remote host closed the connection]
gsav has joined #ruby-lang
futurechimp has quit [Client Quit]
Tasser has quit [Ping timeout: 260 seconds]
rowanu has joined #ruby-lang
rking has quit [Read error: Connection reset by peer]
kurko_ has quit [Ping timeout: 244 seconds]
jesly has quit [Ping timeout: 245 seconds]
ttilley is now known as ttilley_off
kurko_ has joined #ruby-lang
wallerdev has joined #ruby-lang
kvs has quit [Ping timeout: 248 seconds]
kvs has joined #ruby-lang
iamlacroix has joined #ruby-lang
sockmonk has joined #ruby-lang
jesly has joined #ruby-lang
headius has joined #ruby-lang
Hakon|mbp has quit [Quit: Leaving...]
Tasser has joined #ruby-lang
beiter has quit [Quit: beiter]
rdeshpande has joined #ruby-lang
<rdeshpande> hiall
<rdeshpande> if i have an array of Object(title:string, type:string) and then i have an array storing a specific order of types (e.g. front, middle, back) so that the objects when iterating should be in order front, middel, back, how would i best do this in ruby?
hahuang65 has quit [Quit: Computer has gone to sleep.]
stamina has quit [Quit: Lost terminal]
gnufied has quit [Quit: Leaving.]
hahuang65 has joined #ruby-lang
yibe_ has quit [Ping timeout: 252 seconds]
yibe_ has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
headius has quit [Ping timeout: 272 seconds]
<matled> rdeshpande: so the object.type is one of front/middle/back and you want to iterate over a collection of objects such that first all objects with front, then all objects with middle and finallly all objects with back are yielded?
<rue> Either #sort_by or #group_by?
dhruvasagar has joined #ruby-lang
iamlacroix has quit [Remote host closed the connection]
hahuang65 has quit [Quit: Computer has gone to sleep.]
headius has joined #ruby-lang
anjen has quit [Quit: anjen]
<rdeshpande> ahh, got it.. i think it's sort { |o| ORDERED_TYPES[o.type.index] }
<rdeshpande> err ORDERED_TYPES.index(o.type)
enebo has quit [Quit: enebo]
<rue> I suppose, if you have such a constant :P
<rue> Mind, #sort expects the black to return 1, 0, -1
<rdeshpande> ahh
<rdeshpande> so sort_by is probably best, then?
rowanu has quit [Remote host closed the connection]
<matled> rdeshpande: sort_by should work fine
<rdeshpande> great, thanks guys
<matled> note that sort_by doesn't seem to use a stable sorting algorithm
havenn_ has quit [Remote host closed the connection]
CoverSlide has quit [Read error: No route to host]
jesly has quit [Ping timeout: 245 seconds]
Boohbah has joined #ruby-lang
tbuehlmann has joined #ruby-lang
<rue> It doesn’t. Except on JRuby now, I think…
<rue> But can’t rely on it
headius has quit [Read error: Connection reset by peer]
headius has joined #ruby-lang
bglusman_ has joined #ruby-lang
bglusman has quit [Read error: Connection reset by peer]
havenn has joined #ruby-lang
<crankharder> why does 1 && 2 return 2?
<matled> crankharder: && and || use lazy evaluation and return the last evaluated value. for 1 && 2 first the 1 is evaluated, which is true, as the second argument might still be false it is evaluated too.
jbsan has quit [Read error: Connection reset by peer]
jbsan has joined #ruby-lang
<crankharder> cool, ty
msaffitz has quit [Quit: Computer has gone to sleep.]
deryldoucette has joined #ruby-lang
deryl has quit [Ping timeout: 272 seconds]
deryldoucette is now known as deryl
neocoin has quit [Remote host closed the connection]
krohrbaugh has joined #ruby-lang
neocoin has joined #ruby-lang
gsav has quit [Ping timeout: 250 seconds]
stamina has joined #ruby-lang
krz has quit [Quit: krz]
rippa has quit [Ping timeout: 264 seconds]
gsav has joined #ruby-lang
hahuang65 has joined #ruby-lang
jbsan has quit [Quit: jbsan]
enebo has joined #ruby-lang
<foca> rdeshpande: if those objects can be ordered, you probably want to include the Comparable module, and implement <=>, then [o1, o2, o3, o4].sort will just work
<rdeshpande> ah good to know
erics has joined #ruby-lang
msaffitz has joined #ruby-lang
wasnotrice is now known as zz_wasnotrice
kurko__ has joined #ruby-lang
Skif has quit [Ping timeout: 240 seconds]
kurko_ has quit [Ping timeout: 246 seconds]
<rue> Good tip
<foca> rdeshpande: rue: in fact, for sorting you don't need comparable, just <=>, but if it makes sense that those things are sorted, then it might make sense that they also implement <, >, etc
kvs has quit [Ping timeout: 248 seconds]
<rue> Yup
kvs has joined #ruby-lang
zz_chrismcg is now known as chrismcg
headius has quit [Quit: headius]
Asher has quit [Quit: Leaving.]
jbsan has joined #ruby-lang
Asher has joined #ruby-lang
cirwin has joined #ruby-lang
bbrinck has joined #ruby-lang
sailias has quit [Quit: Leaving.]
bbrinck has quit [Client Quit]
bbrinck has joined #ruby-lang
cldwalker has joined #ruby-lang
<bbrinck> Hello all. I'm trying to think of a Ruby convention but examples are escaping me. In a nutshell, I want my gem to not do monkeypatching by default, but include another file under lib that will do the patching
nertzy2 has joined #ruby-lang
rdeshpande has left #ruby-lang ["Leaving..."]
<bbrinck> So, if you "require 'foo'" there will be no monkeypatching of Ojbect, but if you do "require 'foo/patch'" there will be
<bbrinck> I know I've seen other gems do this, can anyone think of an example?
<bbrinck> I just can't think of a good name for the file that does the monkey patching. extend?" "patch?
nertzy has quit [Ping timeout: 260 seconds]
carloslopes has quit [Quit: Leaving.]
<cirwin> bbrinck: activesupport does that
<cirwin> require 'activesupport/core_ext'
<bbrinck> yeah, maybe "foo/ext" is a good enough name
<bbrinck> or "core_ext"
<cirwin> core ext is better
<cirwin> just ext sounds like a native extension
<bbrinck> yeah, that's true
<bbrinck> It's not the sexiest name, but it works. Thanks for the pointer!
<cirwin> np
rmascarenhas has quit [Quit: leaving]
ivanthuja has joined #ruby-lang
ivanoats has quit [Read error: Connection reset by peer]
Jay_Levitt has joined #ruby-lang
KINGSABRI has joined #ruby-lang
ivanoats has joined #ruby-lang
ivanthuja has quit [Read error: Connection reset by peer]
<KINGSABRI> Hi all
<KINGSABRI> I need to schedule task without keep shell waiting for process , (I need to send task to background )
<KINGSABRI> I found rufus/scheduler
tr-808 has quit [Remote host closed the connection]
deanh has joined #ruby-lang
headius has joined #ruby-lang
ttilley_off is now known as ttilley
<KINGSABRI> any idea , please ?
<Tasser> KINGSABRI, you can just fork with & ^^
<erikh> nohup program.rb &
cantonic has quit [Quit: cantonic]
<regularfry> If you want to do it all in ruby, there's some daemonisation code you can copy in webrick
<KINGSABRI> erikh, I'm building an complete application so I cant do this solution
s0ber has quit [Read error: Connection reset by peer]
deanh has quit [Quit: deanh]
<KINGSABRI> Tasser, fork creates subprocess and it's hard to handle this and I'm working with socket so it's not the best practs to do that ,,
<regularfry> WEBrick::Daemon.start in webrick/server.rb is probably what you want
<erikh> Process.daemon
s0ber has joined #ruby-lang
tr-808 has joined #ruby-lang
<Tasser> KINGSABRI, async communication and all that?
slyphon has joined #ruby-lang
<regularfry> oh yeah, that got pushed into core, didn't it?
<erikh> yep
ttilley is now known as ttilley_off
<regularfry> kingsbari: whatever you use is probably going to be using fork internally anyway, you need to know what that socket is doing
<KINGSABRI> regularfry, of course I'm missing some details and thanks to mention that
dalekurt has quit [Quit: Zzz...]
wmoxam_ has joined #ruby-lang
slyphon is now known as slyphon_away
dalekurt has joined #ruby-lang
s0ra_h is now known as sora_h
<bbrinck> KINGSABRI: http://daemons.rubyforge.org/
bbrinck has quit [Quit: bbrinck]
tbuehlmann has quit []
gregf has quit [Quit: WeeChat 0.3.8]
akira989 has joined #ruby-lang
<KINGSABRI> I found something very good
<KINGSABRI> I hope that help anyone else
<KINGSABRI> thanks bbrinck
KINGSABRI has quit [Remote host closed the connection]
sora_h is now known as s0ra_h
slyphon_away is now known as slyphon
zmack has quit [Remote host closed the connection]
jperry2 has quit [Ping timeout: 260 seconds]
cantonic has joined #ruby-lang
Carnage\ has quit []
<rue> require "yay/monkeypatches" works too
cantonic has quit [Client Quit]
slyphon is now known as slyphon_away
florentg2 has quit [Quit: florentg2]
msaffitz has quit [Ping timeout: 265 seconds]
akira989 has quit [Ping timeout: 245 seconds]
Nisstyre has quit [Quit: Leaving]
crudson has quit [Remote host closed the connection]
msaffitz has joined #ruby-lang
chrismcg is now known as zz_chrismcg
akira989 has joined #ruby-lang
s0ra_h is now known as sora_h
cube526 has joined #ruby-lang
wmoxam_ has left #ruby-lang [#ruby-lang]
gregf has joined #ruby-lang
justinmcp has quit [Ping timeout: 252 seconds]
postmodern has joined #ruby-lang
mistym_ has quit [Remote host closed the connection]
tr-808 has quit [Quit: leaving]
tr-808 has joined #ruby-lang
justinmcp has joined #ruby-lang
ivanoats has quit [Quit: ivanoats]
qpingu has joined #ruby-lang
badfish129 has joined #ruby-lang
<badfish129> is there away to use ruby telnet in like a fire and forget mode
kurko__ has quit [Ping timeout: 260 seconds]
anjen has joined #ruby-lang
<badfish129> I'm running a nonstandard telnet server and thus getting the error in `waitfor': timed out while waiting for more data (Timeout::Error) whenever i try to run a cmd
tommyvyo has quit [Quit: Textual IRC Client: http://www.textualapp.com/]
<zenspider> omg I'm scattered to day... s c a t t e r e d !
Jay_Levitt has quit [Quit: Linkinus - http://linkinus.com]
<zenspider> today even. gah
<zenspider> telnet??
<zenspider> why?
Guedes is now known as Guedes_out
savage-_ has joined #ruby-lang
tomb_ has quit [Quit: Computer has gone to sleep.]
<erikh> zenspider: you and me both
anjen has quit [Client Quit]
agilobable2 has joined #ruby-lang
savage- has quit [Ping timeout: 245 seconds]
ryland_ has quit [Quit: leaving]
savage-_ has quit [Remote host closed the connection]
indeterminate has joined #ruby-lang
ryland has joined #ruby-lang
macmartine has quit [Quit: macmartine]
enebo has quit [Quit: enebo]
mattonrails has joined #ruby-lang
sora_h is now known as s0ra_h
andrewhl has quit [Remote host closed the connection]
<rue> badfish129: …Why?
tzvi has quit [Read error: Connection reset by peer]
gsav has quit [Ping timeout: 250 seconds]
cube526 has quit [Quit: Bye]
Xzyx987X_ has joined #ruby-lang
jmeeuwen_ has joined #ruby-lang
florentg2 has joined #ruby-lang
jmeeuwen has quit [Remote host closed the connection]
Xzyx987X has quit [Read error: Connection reset by peer]
jmeeuwen_ is now known as jmeeuwen
bglusman_ has quit [Remote host closed the connection]
<zenspider> I love it when ppl ask questions and walk away
<zenspider> LOVE. IT.
dv310p3r has quit [Ping timeout: 260 seconds]
<drbrain> erikh: ??
<erikh> drbrain: ?!
<erikh> did I misunderstand something?
<drbrain> It's ‽
<drbrain> erikh: I think I did
<erikh> it's been a hectic day and I've had waaaaaay too much coffee
<erikh> I thought you wanted to work on a rest-client rewrite
<drbrain> my idea is: a) take stuff from mechanize that should be in net/http and put it there
mssola has quit [Quit: Konversation terminated!]
<drbrain> b) take stuff from mechanize that sits atop net/http and make a new thing (Net::HTTP::Agent)
<drbrain> c) keep all the HTML stuff in mechanize
<erikh> ah ok
<erikh> so kind of like LWP::UserAgent
<drbrain> and, hopefully, open-uri could use net/http/agent
<drbrain> the agent would look similar to rest-client, but you'd be able to have more than one instance and whatnot
<drbrain> yes
wpaulson has joined #ruby-lang
<erikh> ok. do you want help? we could task it out and I'd love to do so.
<drbrain> right now I'm still in step a)
<drbrain> writing the patches is easy, getting the details sorted out to be committable is harder
<erikh> ah ok
<drbrain> I've got three open and in-progress
robotmay has quit [Remote host closed the connection]
<drbrain> four including the zlib work
<drbrain> (I started by taking mechanize's HTTP layer and refactoring it then discovering stuff that should be on net/http for anyone to benefit from)
asahi has left #ruby-lang [#ruby-lang]
<badfish129> rue, zenspider: sorry, had an emergency, i have to use telnet because its the only way to communicate with the android emulator
<badfish129> to set things like location etc
gsav has joined #ruby-lang
<erikh> well, please feel free to let me know if/how I can assist. I'm more than happy to
<ged> badfish129: And you're just using Net::Telnet for its expect methods, not for its protocol?
<erikh> but right now our site is down so I have to fritter away
<drbrain> badfish129: if it's non-standard, why not use just TCPSocket and write to it then close the connection?
apeiros_ has quit [Remote host closed the connection]
<drbrain> erikh: np
<drbrain> erikh: mostly it's bring the patch up with naruse, wait a bit, respond to critique (possibly adjusting patch) and repeat until given permission to commit
<badfish129> ged: yeah
<badfish129> drbrain: maybe ill try that
mistym_ has joined #ruby-lang
<ged> badfish129: Do you have 'Telnetmode' turned off? Telnetmode can sometimes eat expected characters trying to do telnet negotiation.
<badfish129> ged: yeah i turned it off, still hangs
<badfish129> ged, drbrain: got it working with TCPSocket, I didn't need the response anyway
Pip has joined #ruby-lang
Pip has quit [Changing host]
Pip has joined #ruby-lang
Austin__ has left #ruby-lang [#ruby-lang]
Jake232 has joined #ruby-lang
solars has quit [Ping timeout: 250 seconds]
mistym has quit [Remote host closed the connection]
hahuang65 has quit [Quit: Textual IRC Client: http://www.textualapp.com/]
savage- has joined #ruby-lang
workmad3 has joined #ruby-lang
wpaulson has quit [Ping timeout: 265 seconds]
wpaulson has joined #ruby-lang
tcopp has quit [Quit: Lost terminal]
ilyam has joined #ruby-lang
tr-808 has quit [Quit: leaving]
tr-808 has joined #ruby-lang
wpaulson has quit [Ping timeout: 240 seconds]
<znowi> drbrain: is it possible to see the progress of your work on net/http/agent on github or someplace?
sockmonk has quit [Ping timeout: 245 seconds]
<workmad3> n/wi2
<workmad3> oops
<drbrain> znowi: I've been making feature requests on bugs.ruby-lang.org
<drbrain> znowi: I'll likely delete the work I've done a couple times again as I keep pushing stuff down to net/http
<drbrain> so I haven't bothered to upload that work
tjadc has quit [Read error: Connection reset by peer]
Hakon|mbp has quit [Remote host closed the connection]
bastilian has quit [Quit: Leaving...]
outsmartin has quit [Quit: Leaving.]
macmartine has joined #ruby-lang
sailias has joined #ruby-lang
wpaulson has joined #ruby-lang
Hakon|mbp has joined #ruby-lang
wpaulson has quit [Ping timeout: 264 seconds]
headius has quit [Quit: headius]
coryf has quit [Remote host closed the connection]
outoftime has quit [Quit: Leaving]
srbartlett has joined #ruby-lang
badfish129_ has joined #ruby-lang
wpaulson has joined #ruby-lang
badfish129 has quit [Read error: Connection reset by peer]
Jake232 has quit [Ping timeout: 272 seconds]
badfish129_ is now known as badfish129
wpaulson has quit [Ping timeout: 264 seconds]
akira989 has quit [Remote host closed the connection]
cantonic has joined #ruby-lang
s0ra_h is now known as sora_h
tomb_ has joined #ruby-lang
cantonic has quit [Client Quit]
akira989 has joined #ruby-lang
tomb_ has quit [Read error: Connection reset by peer]
Criztian has quit [Remote host closed the connection]
alindeman has quit [Ping timeout: 240 seconds]
toretore has quit [Quit: Leaving]
znowi has quit [Ping timeout: 244 seconds]
workmad3 has quit [Ping timeout: 248 seconds]
erics has quit [Ping timeout: 240 seconds]
chendo_ has quit [Ping timeout: 245 seconds]
epitron has quit [Read error: Connection reset by peer]
epitron has joined #ruby-lang
epitron has quit [Changing host]
epitron has joined #ruby-lang
jarib has quit [Ping timeout: 240 seconds]
dvorak has quit [Remote host closed the connection]
eban has quit [Ping timeout: 244 seconds]
wpaulson has joined #ruby-lang
canton7 has quit [Ping timeout: 240 seconds]
jarib has joined #ruby-lang
sailias has quit [Ping timeout: 260 seconds]
threedaymonk has quit [Ping timeout: 240 seconds]
stderr_ has quit [Ping timeout: 240 seconds]
stderr has joined #ruby-lang
znowi has joined #ruby-lang
threedaymonk has joined #ruby-lang
butchanton has quit [Quit: Leaving.]
sailias has joined #ruby-lang
tindron has quit [Ping timeout: 244 seconds]
tindron has joined #ruby-lang
dvorak has joined #ruby-lang
wpaulson has quit [Ping timeout: 272 seconds]
yannis has joined #ruby-lang
rmascarenhas has joined #ruby-lang
gregf has quit [Ping timeout: 244 seconds]
Tearan has quit [Ping timeout: 244 seconds]
wpaulson has joined #ruby-lang
Skif has joined #ruby-lang
Rizzle has quit [Ping timeout: 240 seconds]
Rizzle has joined #ruby-lang
gregf has joined #ruby-lang
jperry2 has joined #ruby-lang
Skif has quit [Remote host closed the connection]
jaska has quit [Ping timeout: 244 seconds]
florentg2 has quit [Quit: florentg2]
Skif has joined #ruby-lang
x0F has quit [Ping timeout: 244 seconds]
lightcap has joined #ruby-lang
jaska has joined #ruby-lang
alindeman has joined #ruby-lang
x0F has joined #ruby-lang
eboaz has joined #ruby-lang
eboaz has left #ruby-lang [#ruby-lang]
eboaz has joined #ruby-lang
Hakon|mbp has quit [Remote host closed the connection]
Hakon|mbp has joined #ruby-lang
wpaulson_ has joined #ruby-lang
msaffitz has quit [Quit: Computer has gone to sleep.]
sora_h has quit [Ping timeout: 244 seconds]
alindeman has quit [Remote host closed the connection]
sora_h has joined #ruby-lang
wpaulson has quit [Ping timeout: 250 seconds]
wpaulson_ is now known as wpaulson
brianpWins has quit [Quit: brianpWins]
mistym_ has left #ruby-lang [#ruby-lang]
mistym has joined #ruby-lang
mistym has quit [Changing host]
mistym has joined #ruby-lang
alindeman has joined #ruby-lang
umttumt has joined #ruby-lang
andrewhl has joined #ruby-lang