« Back to channel list

#ruby - 08 September 2018

« Back 1 day Forward 1 day »
[00:03:21] Guest58115: has joined #ruby
[00:08:19] Siarkowy: has joined #ruby
[00:13:15] Guest58115: has joined #ruby
[00:13:17] DTZUZO: has joined #ruby
[00:13:17] cagomez: has joined #ruby
[00:20:57] mroutis: has joined #ruby
[00:23:17] Guest58115: has joined #ruby
[00:25:38] brandoncc: has joined #ruby
[00:27:58] cagomez: has joined #ruby
[00:33:15] Guest58115: has joined #ruby
[00:48:32] graphene: has joined #ruby
[00:49:26] SirFunk: has joined #ruby
[01:08:53] graphene: has joined #ruby
[01:16:14] code_zombie: has joined #ruby
[01:16:46] soulisson: has joined #ruby
[01:25:53] brandoncc: has joined #ruby
[01:45:28] mitescugd: has joined #ruby
[01:51:27] LiftLeft2: has joined #ruby
[01:53:01] sspreitz: has joined #ruby
[02:03:01] brandoncc: has joined #ruby
[02:03:23] idiocrash: has joined #ruby
[02:08:18] mitescugd: has joined #ruby
[02:21:34] sspreitz: has joined #ruby
[02:30:25] mroutis: has joined #ruby
[02:36:26] Guest58115: has joined #ruby
[02:41:17] EXCHGR: has joined #ruby
[02:42:19] agent_white: has joined #ruby
[02:55:50] tpendragon: has joined #ruby
[03:10:22] ellcs: has joined #ruby
[03:11:58] braincrash: has joined #ruby
[03:21:01] orbyt_: has joined #ruby
[03:33:33] kapil___: has joined #ruby
[03:37:52] arescorpio: has joined #ruby
[03:59:19] mrush: has joined #ruby
[04:16:44] eckhardt: has joined #ruby
[04:20:07] duderonomy: has joined #ruby
[04:37:11] Guest58115: has joined #ruby
[04:43:38] psmolen: has joined #ruby
[04:47:07] duderonomy: has joined #ruby
[04:51:23] c0ncealed2: has joined #ruby
[04:51:29] dendazen_: has joined #ruby
[04:52:51] mroutis: has joined #ruby
[05:03:03] dionysus69: has joined #ruby
[05:08:55] sauvin: has joined #ruby
[05:12:12] _whitelogger: has joined #ruby
[05:13:34] duderonomy: has joined #ruby
[05:20:20] MoritaShinobu: has joined #ruby
[05:46:46] reber: has joined #ruby
[05:47:28] Dbugger: has joined #ruby
[05:54:11] _whitelogger: has joined #ruby
[06:13:48] duderonomy: has joined #ruby
[06:26:24] LightStalker: has joined #ruby
[06:29:05] duderonomy: has joined #ruby
[06:33:37] rootsudo: has joined #ruby
[06:36:01] dellavg_: has joined #ruby
[06:37:51] Guest58115: has joined #ruby
[06:48:12] duderonomy: has joined #ruby
[06:58:32] duderonomy: has joined #ruby
[07:15:38] joelroa: has joined #ruby
[07:21:37] clemens3: has joined #ruby
[07:21:50] duderonomy: has joined #ruby
[07:27:11] _whitelogger: has joined #ruby
[07:29:44] duderonomy: has joined #ruby
[07:30:47] dionysus69: has joined #ruby
[07:36:11] _whitelogger: has joined #ruby
[07:46:31] duderonomy: has joined #ruby
[07:55:10] duderonomy: has joined #ruby
[08:02:32] Guest58115: has joined #ruby
[08:07:41] sidepocket: has joined #ruby
[08:08:33] sameerynho: has joined #ruby
[08:08:40] apeiros_: has joined #ruby
[08:11:25] desperek: has joined #ruby
[08:14:19] RougeR: has joined #ruby
[08:21:17] sticaz: has joined #ruby
[08:25:26] gr33n7007h: has joined #ruby
[08:32:38] dionysus69: has joined #ruby
[08:42:40] joelroa: has joined #ruby
[08:51:39] doubledup: has joined #ruby
[09:01:26] graphene: has joined #ruby
[09:11:13] mikecmpbll: has joined #ruby
[09:12:31] yxhuvud: has joined #ruby
[09:19:40] sidepocket: has joined #ruby
[09:28:00] Guest58115: has joined #ruby
[09:33:14] Guest58115: has joined #ruby
[09:40:56] ur5us: has joined #ruby
[09:43:15] Guest58115: has joined #ruby
[09:44:58] leitz: has joined #ruby
[09:45:28] DTZUZO: has joined #ruby
[09:48:41] leitz: If unit tests should not depend on order, how do you write a good test harness that tests insertions and deletions without setting up the db first?
[09:53:15] Guest58115: has joined #ruby
[10:00:30] magellanicloud: has joined #ruby
[10:00:56] AJA4350: has joined #ruby
[10:03:15] Guest58115: has joined #ruby
[10:13:16] Guest58115: has joined #ruby
[10:23:15] Guest58115: has joined #ruby
[10:33:14] Guest58115: has joined #ruby
[10:33:41] mfunkmann: has joined #ruby
[10:35:40] mfunkmann: Hey folks! Let's say I have a background task happening via Thread.new {my_background_stuff}, is there a way to call a method from there on the main thread? If not, what would be my options to nicely communicate with the main thread?
[10:42:44] leitz: has joined #ruby
[10:43:14] Guest58115: has joined #ruby
[10:53:15] Guest58115: has joined #ruby
[10:58:51] AndreYuhai: has joined #ruby
[11:00:12] bak1an: has joined #ruby
[11:03:10] Guest58115: has joined #ruby
[11:04:46] c0ncealed2: has joined #ruby
[11:05:19] AndreYuhai: Hello there, why can I not see the methods for an object instance within another method of the class ? Here you can take a look at it : https://dpaste.de/z75d I didn't know how to explain it better.
[11:07:06] AndreYuhai: And of course I've used require 'watir' . I forgot to copy it there.
[11:09:24] apeiros_: has joined #ruby
[11:23:55] leitz: AndreYuhai, it looks like the question is about Ruby Mine IDE, correct?
[11:28:55] AndreYuhai: leitz: Well, since I can still use the methods anyway, I guess it's about Ruby Mine IDE.
[11:30:14] AndreYuhai: I just wanted to ask if anyone else has ever encountered a problem like this, because it is really annoying. :D
[11:31:40] leitz: Understood. You may get a better answer rate on the Ruby mailing list. There are some smart folks here who drop in occasionally, but traffic is seldom high.
[11:32:14] desperek: has joined #ruby
[11:34:11] AndreYuhai: Oh, I will try that. Thank you anyway. :)
[11:39:12] leitz: No worries. Hang out here if you have time.
[11:42:14] AndreYuhai: Suree I do. :D
[11:43:13] leitz: Hey AndreYuhai can you do me a quick favor? See if you can see this web page: https://travis-ci.org/makhidkarun/ftl_tools
[11:43:32] leitz: I'm trying to see if someone not me can see it before I send it out.
[11:48:45] gr33n7007h: has joined #ruby
[11:53:55] knight33: has joined #ruby
[11:57:48] graphene: has joined #ruby
[11:58:40] ur5us: has joined #ruby
[12:05:00] akem: has joined #ruby
[12:12:21] thy0: has joined #ruby
[12:15:39] mroutis: has joined #ruby
[12:25:48] AndreYuhai: leitz: I am sorry. I don't know why I don't get notified when my name is mentioned
[12:26:57] AndreYuhai: leitz: I can see the link tho. Here is what I see : https://screenshots.firefox.com/fxqXZddTPaX1EvDG/travis-ci.org
[12:28:49] leitz: AndreYuhai, thanks! That's perfect!
[12:29:27] AndreYuhai: leitz: You are welcome ^^
[12:30:43] leitz: If a pre 1.0 release of a gem is in the gems directory, why can't it be 'require'd?
[12:43:08] kapil___: has joined #ruby
[12:53:03] tristanp: has joined #ruby
[12:57:44] apg: has joined #ruby
[12:58:46] apg: I have been googling around but I could not find answer. How do you count byte size of a utf-8 character in Ruby?
[12:59:34] pskosinski: has joined #ruby
[12:59:51] havenwood: apg: bytesize
[13:00:58] apg: havenwood, thank you very mucho. you saved moi day
[13:01:16] Inline: has left #ruby: ("Leaving")
[13:05:33] wojnar: has joined #ruby
[13:08:05] fluxAeon: has joined #ruby
[13:08:41] kotepillar_: has joined #ruby
[13:08:43] Guest58115: has joined #ruby
[13:09:02] leitz: Morning havenwood.
[13:10:13] apg: has joined #ruby
[13:11:37] havenwood: leitz: by "gems directory" do you mean $GEM_PATH or $GEM_HOME or something else?
[13:13:05] leitz: havenwood, I have installed two pre 1.0 gems in the LOAD_PATH. The issue may be the way I structured the gems; I don't do the usual "lib/load_my_libs.rb" file.
[13:13:14] leitz: Mostly because I don't understand it.
[13:13:30] leitz: That may be the issue, or the pre-1.0 issue.
[13:14:07] leitz: here's one of the gems I'm trying to use: https://github.com/makhidkarun/ftl_chargen
[13:15:20] havenwood: leitz: there should be a: lib/ftl_chargen.rb
[13:15:48] leitz: And then put the libraries in there? Do I need to change how they are called?
[13:16:06] leitz: ACTION points out he's still a newbie, even with a few years experience.
[13:16:34] havenwood: └── lib
[13:16:35] havenwood: └── ftl_chargen.rb
[13:17:02] havenwood: leitz: follow this guide: https://guides.rubygems.org/patterns/#consistent-naming
[13:18:13] leitz: ACTION goes to code...
[13:18:55] havenwood: I guess there's more discussion here: https://guides.rubygems.org/make-your-own-gem/
[13:20:14] havenwood: leitz: The goal is to have your file structure match your namespaces. So there's a lib/ftl_chargen.rb file, and a lib/ftl_chargen/ directory.
[13:20:34] havenwood: leitz: That's all there typically is in lib/
[13:20:49] havenwood: leitz: Everything else in that tree is inside the lib/ftl_chargen/ dir.
[13:22:04] havenwood: leitz: So if you have a lib/ftl_chargen/dice.rb, the namespace is FtlChargen::Dice
[13:22:32] havenwood: leitz: And a lib/ftl_chargen/dice/another_one is FtlChargen::Dice::AnotherOne
[13:22:37] havenwood: leitz: And so on
[13:22:48] havenwood: another_one.rb*
[13:23:05] qolq: has joined #ruby
[13:23:25] havenwood: leitz: Here's an example: https://github.com/pry/pry/tree/master/lib
[13:23:36] havenwood: leitz: Just a pry/ and pry.rb in lib/
[13:24:08] havenwood: leitz: Then if you look at a file like lib/pry/hooks, you'll see the namespace is: Pry::Hooks
[13:24:34] havenwood: leitz: And take a look at lib/pry/code.rb and lib/pry/code/ dir.
[13:25:06] havenwood: leitz: lib/pry/code/code_file.rb would be what namespace then?: https://github.com/pry/pry/blob/master/lib/pry/code/code_file.rb
[13:25:30] havenwood: Ha, oops - did that one wrong in Pry. >.>
[13:25:43] havenwood: Never mind that example!
[13:25:47] leitz: hehe...still working it.
[13:26:00] leitz: pry.rb has other code in in though.
[13:26:53] havenwood: leitz: Yeah, pry.rb is where Pry class is setup and where all the requires for lib/pry/* live
[13:27:13] havenwood: leitz: Your ftl_chargen.rb should require the other files in lib/ftl_chargen/*
[13:27:26] havenwood: leitz: It's the single point of require for the gem.
[13:27:37] leitz: Should the libraries "careers" and "tools" be in "lib" or "lib/ftl_chargen"
[13:28:17] havenwood: leitz: lib/ftl_chargen, and they should be namespaced under the FTLChargen or FtlChargen class or module
[13:28:53] havenwood: leitz: So lib/ftl_chargen/careers.rb would be FtlChargen::Careers
[13:28:58] havenwood: leitz: Or is it FTLChargen?
[13:29:09] havenwood: I'm not familiar with the initialism.
[13:32:19] xfbs: has joined #ruby
[13:34:51] leitz: havenwood, the careers are classes that get used by the generation code. Sorting this out is a task, and they may go from classes to structs as I figure things out more.
[13:35:41] leitz: In the repo's bin/chargen is where the careers get loaded.
[13:38:41] leitz: Okay, fixed the careers path issue. Not sure 'tools' is still used.
[13:40:23] phatcat: has joined #ruby
[13:40:50] leitz: Wow...test pass...
[13:41:42] phatcat: heya, does anyone know how to run this in production? https://github.com/jamesbrink/docker-lobsters
[13:42:08] phatcat: the commands at the end launch it in development
[13:46:24] qolq3: has joined #ruby
[13:47:15] akem: has joined #ruby
[13:48:52] havenwood: phatcat: export RAILS_ENV="production"
[13:49:20] phatcat: havenwood: at the end of the command?
[13:49:43] havenwood: phatcat: before running the commands
[13:50:11] havenwood: phatcat: or prefix it to the command: RAILS_ENV="production" ...
[13:50:21] gnufied: has joined #ruby
[13:51:50] Rich_Morin_: has joined #ruby
[13:53:43] Rich_Morin_: I'd like to report a documentation bug for String#gsub, but I don't know where the relevant code might be in GitHub. Help?
[13:55:05] phatcat: havenwood: so docker run --name lobsters -v lobsters_data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=lobsters -d mariadb RAILS_ENV="production"
[13:55:43] havenwood: phatcat: it looks, based on their pattern, that'd be: -e RAILS_ENV="production"
[13:56:09] havenwood: Rich_Morin_: I'm curious what the error is?
[13:57:04] Rich_Morin_: "Returns a copy of str with the [sic] all occurrences of ..."
[13:57:16] Rich_Morin_: https://ruby-doc.org/core-2.1.4/String.html#method-i-gsub
[13:57:26] havenwood: Rich_Morin_: https://github.com/ruby/ruby/blob/trunk/string.c#L5262-L5303
[13:58:05] havenwood: Rich_Morin_: I think that's how it's meant to read though. Maybe it could be worded better.
[13:58:25] Rich_Morin_: no, it's wrong
[13:58:46] phatcat: havenwood: hm, am getting `docker: Error response from daemon: Cannot link to a non running container: /lobsters AS /modest_wiles/mariadb.`
[13:59:00] havenwood: phatcat: hrm
[13:59:36] Rich_Morin_: Hmmmm. It appears that this has been fixed.
[13:59:52] Rich_Morin_: Thanks for the help!
[14:00:07] havenwood: Rich_Morin_: Ah, yeah - I was looking at the fixed version.
[14:00:14] havenwood: "Returns a copy of str with all occurrences of pattern substituted for the second argument."
[14:03:54] rippa: has joined #ruby
[14:04:48] dr3wo: has joined #ruby
[14:08:18] desperek: has joined #ruby
[14:08:18] lomex: has joined #ruby
[14:08:19] gr33n7007h: has joined #ruby
[14:09:45] graphene: has joined #ruby
[14:13:56] Nicmavr: has joined #ruby
[14:14:51] gr33n7007h: has joined #ruby
[14:25:19] knight33: has joined #ruby
[14:27:16] gnufied__: has joined #ruby
[14:31:13] rgr: has joined #ruby
[14:34:28] leitz: havenwood, I'm getting this traceback: https://gist.github.com/LeamHall/893c5115d6a94eeeaf94949acc0c7ec8
[14:35:13] leitz: On https://github.com/makhidkarun/ftl_chargen/blob/master/bin/chargen#L15
[14:35:28] leitz: After moving things to lib/ftl_chargen
[14:35:36] phatcat: havenwood: what could it be?
[14:37:06] nicesignal: has joined #ruby
[14:39:31] ShekharReddy: has joined #ruby
[14:41:31] nicesignal: has joined #ruby
[14:45:16] leitz: Ah, havenwood, figured that bit out. The call was in a library. Cleaning them up now.
[14:50:24] brandoncc: has joined #ruby
[14:50:33] havenwood: phatcat: Have you tried turning it off and back on again?
[14:50:48] phatcat: havenwood: yeah
[14:52:00] havenwood: phatcat: i'd say ask in #docker
[14:52:33] havenwood: phatcat: betcha there's some series of docker-compose commands ;-)
[14:53:41] tristanp: has joined #ruby
[14:57:15] leitz: havenwood, I updated the error: https://gist.github.com/LeamHall/893c5115d6a94eeeaf94949acc0c7ec8
[14:57:37] leitz: and the code. Looks like a namespace issue but the coffee is wearing off. https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character.rb
[14:58:10] leitz: If the require is there, what am I missing?
[14:59:27] GodFather: has joined #ruby
[15:00:01] havenwood: leitz: By convention you shouldn't require 'ftl_chargen' here, since this file is itself required by ftl_chargen.rb.
[15:00:24] leitz: havenwood, that's what I thought, but you see where thinking get me...
[15:00:33] havenwood: leitz: You should put the Character class under the flt_chargen namespace.
[15:00:39] havenwood: leitz: For starters, what's ftl?
[15:01:02] havenwood: Does that stand for something?
[15:01:04] leitz: "Free Trade League", the prefix and "group" I used to identify code.
[15:01:30] havenwood: leitz: So are you calling this base class or module FTLChargen, then?
[15:01:34] leitz: http://www.freetradeleague.net/
[15:02:16] havenwood: leitz: I don't like to use acronyms in gem names, since it's often unclear whether to use caps beyond the first letter.
[15:02:36] havenwood: leitz: Is your base module FTLChargen or FtlChargen?
[15:02:49] leitz: Yeah, but there are dozens of "Chargen" things out there.
[15:03:05] havenwood: leitz: There's no "chargen" gem.
[15:03:28] havenwood: leitz: I'll assume FTLChargen then, since it's an initialism.
[15:03:34] leitz: But there's several chargens in differnet languages. Some of them mine. :)
[15:03:50] leitz: BTW, I don't disagree. Just learning.
[15:04:02] havenwood: leitz: So it should be FTLChargen::Character not plain old Character
[15:04:45] havenwood: leitz: https://gist.github.com/havenwood/96477ee0acadc265b880926690900d64
[15:05:15] havenwood: leitz: so the FTLChargen::Character class lives in lib/ftl_chargen/character.rb
[15:05:44] havenwood: leitz: And is required in lib/ftl_chargen.rb with: require 'ftl_chargen/character'
[15:05:45] leitz: havenwood, where does the overall module FTLChargen get defined?
[15:05:53] nicesignal: has joined #ruby
[15:05:55] havenwood: leitz: in lib/ftl_chargen.rb
[15:06:33] havenwood: leitz: lib/ftl_chargen.rb is what gets required when you: require 'ftl_chargen'
[15:06:34] havenwood: leitz: lib is in LOAD_PATH
[15:06:51] havenwood: leitz: in ftl_chargen.rb you do the requires for the stuff in lib/
[15:07:02] havenwood: leitz: and define the FTLChargen module
[15:07:14] leitz: havenwood, so the "require" statements go in the module definition? Or before it?
[15:07:15] havenwood: leitz: which is the only namespace at top level your gem should use
[15:07:30] havenwood: leitz: everything should be FTLChargen::SOMETHING_HERE
[15:07:41] havenwood: leitz: before it
[15:09:23] Guest58115: has joined #ruby
[15:09:38] havenwood: leitz: nice, this looks right for the requires: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen.rb
[15:09:46] nicesignal: has joined #ruby
[15:09:56] knight33: has joined #ruby
[15:10:00] havenwood: leitz: then: module FTLChargen; end
[15:10:33] havenwood: leitz: and then the ftl_chargen/career should match nicely with FTLChargen::Career, etc
[15:10:57] havenwood: with the require name always mirroring the namespace
[15:11:08] leitz: havenwood, specify the full namespace?
[15:11:21] havenwood: ACTION asks the mirror which is the fastest benchmark of them all...
[15:11:58] havenwood: leitz: so career, character, dice, etc are all defined inside the FTLChargen module
[15:12:10] havenwood: leitz: that way every gem can have its own Dice without stomping on each other
[15:12:14] leitz: ACTION notes it works better if you use the right case for module...
[15:12:43] havenwood: leitz: that way Havenwood::Dice won't conflict with FTLChargen::Dice
[15:13:20] havenwood: leitz: It's hygienic to have your gem only have classes and modules under its namespace, in your case FTLChargen
[15:13:54] leitz: Err...there are lots of data files as well.
[15:14:36] havenwood: leitz: files are fine - it's Ruby namespaces where you want everything under FTLChargen
[15:15:57] havenwood: leitz: when gems are used together, the classes and modules all get mixed in together. if you define a class someone already has defined you stomp on it.
[15:16:24] leitz: ACTION is working on his next question. 
[15:16:33] havenwood: leitz: so we don't go stomping on each other's code, we make sure to keep everything namespaced
[15:17:16] havenwood: so you can have a FTLChargen::Time class and not be redefining stdlib's Time, for example
[15:19:13] leitz: havenwood, I agree with namespacing. Understanding it is a bit different. New error, let me post the result since I haven't figured it out yet.
[15:19:36] leitz: Also, feel free to point in the "general" direction if I should be able to figure it out.
[15:19:43] rgr: has joined #ruby
[15:20:13] mitescugd: has joined #ruby
[15:20:57] leitz: Trace: https://gist.github.com/LeamHall/893c5115d6a94eeeaf94949acc0c7ec8
[15:21:14] leitz: code: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character.rb
[15:21:49] leitz: Is that the right syntax for calling the module?
[15:22:00] leitz: Sorry, line #2 in the code
[15:28:22] rgr_: has joined #ruby
[15:30:32] rgr_: has joined #ruby
[15:35:39] havenwood: leitz: https://gist.github.com/havenwood/96477ee0acadc265b880926690900d64
[15:35:58] havenwood: leitz: yes, FTLChargen::CharacterTools
[15:36:33] havenwood: leitz: so this needs to be also inside FTLChargen module: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L6
[15:37:04] havenwood: leitz: updated the gist ^
[15:37:41] havenwood: leitz: Inside your gem, you can omit the FTLChargen prefix, because you'll be inside that namespace
[15:38:42] havenwood: leitz: so this, for example, works: https://gist.github.com/havenwood/96477ee0acadc265b880926690900d64#file-character-rb-L3
[15:39:07] havenwood: leitz: but it'd also work to: include FTLChargen::CharacterTools
[15:40:11] leitz: havenwood, with just the include CharacterTools I'm getting uninitialized constant FTLChargen::Character::CharacterTools (NameError)
[15:40:39] havenwood: leitz: oh, right - sorry - you're in Character
[15:40:50] leitz: uninitialized constant FTLChargen::Character::CharacterTools (NameError)
[15:40:57] havenwood: leitz: so: include FTLChargen::CharacterTools
[15:41:07] leitz: Sorry, old cut and paste.
[15:41:33] havenwood: leitz: updated gist
[15:42:33] havenwood: leitz: yeah, you're right
[15:42:51] leitz: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character.rb#L1-L4
[15:43:16] havenwood: leitz: other than indentation, that looks right!
[15:43:34] leitz: uninitialized constant FTLChargen::CharacterTools
[15:44:05] havenwood: leitz: they need to be namespaced too: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L6
[15:44:33] havenwood: leitz: module FTLChargen; module CharacterTools;
[15:44:38] leitz: Ah, so CharacterTools needs to have "...
[15:44:45] havenwood: leitz: which you can alternatively write as module FTLChargen::CharacterTools
[15:44:58] leitz: Yeah, what you just said. :) Gimme a sec.
[15:49:34] duderonomy: has joined #ruby
[15:50:33] havenwood: leitz: this is unrelated, but you should remove :gdp_trade_code_modifier's attr_reader since you define that method: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/planet.rb#L5
[15:50:58] leitz: havenwood, agreed. I like my tests to run clean.
[15:51:59] havenwood: leitz: one easy way to clean up a bunch of little things at once is to run: rubocop -a
[15:52:35] leitz: Eh...I like the idea of rubocop but wind up excluding a bunch of the things.
[15:53:21] leitz: module CharacterTools should not require files in the FTLChargen module, correct?
[15:53:41] havenwood: i don't understand what you're asking
[15:55:50] havenwood: leitz: it sure looks cleaner to me after running rubocop -a! :-P
[15:56:30] leitz: Lines 2, 10, and 11. https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L2-L11
[15:56:33] havenwood: I don't like Rails' Hash spacing convention though.
[15:56:50] leitz: And I hate vim is now messing up tabs. Ugh!
[15:57:02] havenwood: leitz: run rubocop! :-P
[15:57:10] havenwood: leitz: Do requires at the top of the file.
[15:57:37] havenwood: leitz: Typically, you'd not need to require back and forth here, since all this code can be required in ftl_chargen.rb
[15:58:01] havenwood: leitz: wherever you require it, it'll be relative to lib/
[15:58:11] havenwood: leitz: so: require 'ftl_chargen/dice'
[15:58:19] leitz: It all is requrired there. I'll fix that in a sec. This https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character.rb#L1-L4
[15:58:34] havenwood: leitz: Which should be FTLChargen::Dice in lib/ftl_charge/dice.rb
[15:58:36] leitz: Still gives : uninitialized constant FTLChargen::CharacterTools (NameError)
[15:59:12] leitz: Would the dice issue be causing the NameError?
[15:59:17] havenwood: leitz: it need to: require 'ftl_chargen/character_tools'
[15:59:43] havenwood: leitz: lib/ dir is in LOAD_PATH
[15:59:49] havenwood: so you require relative to it
[16:01:31] leitz: Okay, made it a step forward. Now to deal with the dice, etc.
[16:08:08] duderonomy: has joined #ruby
[16:08:29] leitz: ACTION is working another bug...
[16:08:30] joelroa: has joined #ruby
[16:08:36] jackrandom: has joined #ruby
[16:11:46] leitz: Something is picking up the old LOAD_PATH, not the new one. Odd.
[16:13:25] Fusl: has joined #ruby
[16:13:53] GodFather_: has joined #ruby
[16:14:09] psmolen: has joined #ruby
[16:14:16] brandoncc: has joined #ruby
[16:16:25] jamesaxl: has joined #ruby
[16:19:48] thy0: has joined #ruby
[16:20:18] idiocrash: has joined #ruby
[16:25:10] psmolen: has joined #ruby
[16:25:13] orbyt_: has joined #ruby
[16:25:55] leitz: Fix the old LOAD_PATH, it was the gemspec file. Now looking at why name.rb can't open the sqlite db.
[16:30:30] leitz: Found the root cause, working on it.
[16:47:29] bak1an: has joined #ruby
[16:48:10] InfinityFye: has joined #ruby
[16:51:06] knight33: has joined #ruby
[16:53:04] tdy: has joined #ruby
[16:54:22] tristanp: has joined #ruby
[17:03:36] leitz: havenwood, do the careers like ftl_chargen/careers/citizen.rb need to be in the FTLChargen module as well?
[17:05:03] leitz: chargen uses const_get to set the career name, and putting the career in the FTLChargen module breaks that.
[17:06:43] leitz: Leaving it out seems to make it unable to find the methods in character_tools. undefined method `array_from_file' for FTLChargen::CharacterTools:Module (NoMethodError)
[17:07:12] leitz: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/careers/citizen.rb#L10
[17:08:43] jdawgaz: has joined #ruby
[17:13:42] leitz: Ah, "module_function". Not sure I get why a mixin has to specifically export modules.
[17:15:01] havenwood: leitz: yes, ftl_chargen/careers/citizen should correspond to FTLChargen::Careers::Citizen
[17:16:02] havenwood: leitz: I use module_function often. It serves the dual purpose of making functions directly callable on your module and it makes included functions private to the including class.
[17:16:55] leitz: Ah, so if I used it as a mixin I'd not need to module_function it.
[17:19:14] havenwood: leitz: https://gist.github.com/havenwood/b7dbe3d2afb5a05e09b8371dc8c66c75
[17:19:39] havenwood: leitz: You'd not need to, but if you don't it'll expose its functions publicly as methods on your class.
[17:20:00] havenwood: leitz: Basically, do you want to just use them internally? Or also expose the methods to call on your class from the outside?
[17:20:06] DTZUZO: has joined #ruby
[17:21:12] havenwood: leitz: It's usually preferable to not expose methods when you include, so module_function is often nice.
[17:21:14] leitz: havenwood, while the refactoring your showing me how to do is the right thing, I'm feeling a little stress at everything I've blown up. :)
[17:21:49] havenwood: leitz: yeah, it's hard to change namespaces dramatically - but it's very worth following convention
[17:21:52] leitz: In the end, the methods are shared around. Haven't firmed up if they are only called from the module or mixed in a log.
[17:21:57] havenwood: leitz: it's easier to do from the get-go
[17:22:29] leitz: havenwood, yup. I like most conventions and have seen this one. Haven't really understood it will enough to implement.
[17:22:47] leitz: And this is some of my most complex code to date.
[17:22:52] joelroa: has joined #ruby
[17:23:05] leitz: havenwood, even before the refactoring. :)
[17:23:07] blandflakes: has joined #ruby
[17:23:14] jdawgaz: has joined #ruby
[17:23:55] havenwood: leitz: Call functions with . instead of :: so: FTLChargen::CharacterTools.array_from_file
[17:24:07] havenwood: leitz: Instead of: FTLChargen::CharacterTools::array_from_file
[17:24:58] havenwood: leitz: consistent two-space soft tabs would make this a lot easier to read! :)
[17:25:11] ruby[bot]: Ruby community standards recommend using 2 spaces as indentation (see https://github.com/bbatsov/ruby-style-guide#spaces-indentation and https://ukupat.github.io/tabs-or-spaces/).
[17:25:37] leitz: No kidding! I had it set that way and then moved machines. Now vim puts the entire thing in 5 millions spaces per breath.
[17:26:01] leitz: Still haven't run rubocop on it. :)
[17:26:17] havenwood: leitz: :set expandtab
[17:26:33] havenwood: leitz: :set tabstop=2
[17:26:34] havenwood: leitz: :retab
[17:27:02] leitz: Have the first two in my .vimrc. Didn't seem to help. Gimme a sec and I'll try it in the file.
[17:27:18] herbmillerjr: has joined #ruby
[17:27:19] havenwood: leitz: oh, and: :set shiftwidth=2
[17:27:40] havenwood: :set tabstop=2 shiftwidth=2 expandtab
[17:28:34] havenwood: leitz: SO has a fancy: autocmd Filetype ruby setlocal ts=2 sw=2 expandtab
[17:28:52] leitz: Okay, just fixed character_tools.
[17:28:53] havenwood: :set softtabstop=2
[17:29:10] havenwood: I think rubocop would fix a bunch of spacing, hrm
[17:30:39] havenwood: leitz: if you want all the functions to be module_function, you can just put `module_function` once at the top of the module.
[17:31:04] havenwood: leitz: you can also do it inline when defining the method: module_function def meth
[17:31:09] leitz: havenwood, well...than makes it easy...
[17:31:31] leitz: Holy Moses! IT WORKED!
[17:31:34] havenwood: leitz: yeah, i usually do: module Blarg; module_function; def..
[17:31:35] leitz: Once, anyway...
[17:31:48] leitz: Now to clean up the other careers.
[17:31:49] havenwood: just one module_function at the top
[17:32:33] havenwood: leitz: let me know when/if you'd like any refactoring ideas
[17:32:58] lomex: has joined #ruby
[17:33:19] leitz: Yeah, one specific one. What's the convention on a data directory? I'm using: $DATA_PATH = File.expand_path("../../../data", __FILE__)
[17:33:20] havenwood: it might be worth getting rubocop rules you like hammered out
[17:33:27] leitz: Which does not seem best.
[17:33:41] havenwood: leitz: we really try to avoid using global variables $
[17:34:09] havenwood: leitz: You can just remove the $
[17:34:13] havenwood: leitz: then it'll be a constant
[17:34:30] leitz: Understood. In the project there's lib, and data/. The latter has the database and text files that get used.
[17:34:47] havenwood: leitz: rubocop should give you the correct suggestions for that, actually
[17:36:11] havenwood: leitz: I would write it:
[17:36:12] havenwood: DATA_PATH = File.expand_path '../data', __dir__
[17:36:53] havenwood: leitz: For subtle and not-so-subtle reasons it's much nicer than:
[17:36:58] havenwood: $DATA_PATH = File.expand_path("../../../data", __FILE__)
[17:37:33] leitz: Will do. The module_function seems to have issues though. Poking at it.
[17:38:00] havenwood: Yeah, rubocop would help with a bunch of this it looks like. Just the autofixes, even if you want to ignore the rest.
[17:38:05] havenwood: leitz: rubocop -a
[17:38:50] havenwood: leitz: to just run the lints, not style: rubocop -la
[17:38:58] leitz: I put module_function at the top and now it things social_status is a private method.
[17:39:07] havenwood: leitz: then parallel to make it fast!
[17:39:12] havenwood: leitz: rubocop -Pal
[17:39:17] leitz: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L10
[17:39:39] havenwood: oh, you can't combine -a and -P
[17:39:40] havenwood: that's right
[17:39:47] leitz: havenwood, old computer, old keyboard monkey. Nothing moves fast here...
[17:40:07] leitz: private method `social_status' called for #<FTLChargen::Character:0x000055c6acec3f10> (NoMethodError)
[17:40:08] havenwood: leitz: ftw, in lib/ run: rubocop -la
[17:40:18] havenwood: leitz: that's because of the module_function
[17:40:34] havenwood: leitz: it makes included functions private
[17:40:35] havenwood: leitz: so you'd have to expose it on your class
[17:40:42] leitz: I thought it made everything public? Ah...
[17:41:24] havenwood: leitz: module_function makes functions available to call directly on the module as module functions, and it *also* makes included functions private
[17:41:46] leitz: Dang bipolar methods...
[17:43:18] apeiros_: there is a point to do it that way.
[17:43:42] leitz: If rubocop breaks stuff right after I almost got it working I'm going to whine. Loudly...
[17:44:00] havenwood: ACTION promises it'll be peachy
[17:44:12] apeiros: if you can call the method on the module itself directly, it *can't* have any ties to any instance. so there's absolutely no point in calling it on an instance.
[17:44:36] knight33: has joined #ruby
[17:44:49] leitz: Hmm...only 3 offences.
[17:45:02] havenwood: leitz: now remove the -l :-P
[17:45:13] havenwood: leitz: rubocop -a
[17:45:26] leitz: apeiros, I was hoping to find a way to not have to put "module_function" under everything since they are all to be exportable.
[17:46:47] havenwood: leitz: what apeiros is saying is an important insight
[17:47:03] leitz: havenwood, okay, a lot more stuff changed.
[17:47:14] havenwood: leitz: haha - yeah, the non-lints do a lot
[17:50:15] havenwood: leitz: you can use #clamp here to nice effect: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L177-L179
[17:50:25] leitz: havenwood, not sure I get what apeiros is saying. In this case, character_tools is a mixin for character, and other classes. The hope was that an object of class Character could use the methods without having to do module_function or FTLChargen::CharacterTools.social_status.
[17:50:42] havenwood: leitz: character.upp[stat] = (character.upp[stat] + level).clamp(2, 15)
[17:51:16] apeiros: leitz: module_function exists to be able to call it as just `social_status` (when mixed in), or as `FTLChargen::CharacterTools.social_status` (when not mixed in)
[17:51:37] apeiros: it however does *not* exist to allow you to call it on `some_object_which_mixes_it_in.social_status`
[17:52:10] apeiros: because the social_status method obviously has no relation to some_object_which_mixes_it_in.
[17:55:42] dviola: has joined #ruby
[17:55:47] havenwood: leitz: one of the reasons to use the String literal `''` for new Strings instead of String.new is speed: https://gist.github.com/havenwood/bc858d4e948aeb4cdaa1daa8daea29af
[17:56:07] havenwood: leitz: It's better to use '', {}, and [] for empty Strings, Hashes and Arrays.
[17:56:39] leitz: apeiros, what does exist to be used as my_object.social_status? That's a needed functionality.
[17:56:41] havenwood: leitz: Calling ::new is the slow way, and should be reserved for non-simple cases.
[17:56:52] apeiros: eh, IMO the much more important reason is that String.new is utterly pointless.
[17:57:04] apeiros: String.new("hello, I'm a string literal anyway!!!")
[17:57:22] leitz: havenwood, using full names like String.new makes it visually easy to find and grep.
[17:57:36] apeiros: that's what you got syntax highlighting for
[17:57:41] havenwood: leitz: it's easy to find: ''
[17:58:10] havenwood: also, why are you searching for empty strings? :-P
[17:58:14] leitz: It's not as easy to see '' or "".
[17:58:17] apeiros: leitz: does social_status? make any use of anything in my_object?
[17:58:33] havenwood: leitz: it's a good habit to use the fast, idiomatic way
[17:58:55] havenwood: leitz: it's twice as fast
[17:59:23] havenwood: leitz: you can always make a module_function included function public, but typically you'd just not use module_function if that's your intended behavior
[17:59:36] havenwood: leitz: i'd question _why_ you want functions exposed on a class.
[17:59:40] apeiros: leitz: if you can't see '' or "" easily, change your editor. you can make it blinking in red to make it really visible. really, that's what we've got syntax highlighting for.
[17:59:41] leitz: apeiros, social_status gives a name to the characters status, based on the stat. That name is used to choose a career.
[17:59:47] govg: has joined #ruby
[17:59:56] havenwood: leitz: this is an example of making a module_function explicitly public, but again - that's pretty odd: https://gist.github.com/havenwood/32dd791c5bb51080f340f016cfc0eee8
[18:00:02] apeiros: leitz: that was not my question
[18:00:16] apeiros: leitz: does social_status make any use of anything in my_object?
[18:00:33] leitz: apeiros, yes, it uses the upp.
[18:00:43] apeiros: leitz: how can it be a module_function then?
[18:00:46] havenwood: leitz: does anything on the instance of Character possibly effect the return value of the social_status function?
[18:01:02] havenwood: leitz: if it does, it should be defined on Character, and not in a module
[18:01:17] apeiros: you're having something wrong here. either it can't be a module_function, or it makes no sense to call it on my_object from the outside.
[18:01:20] apeiros: one of the two is wrong.
[18:01:56] havenwood: leitz: module functions are for functions, which mean the return the same value for the same input, every time they're called - the class changing can't possibly change their return value, since they're functions not methods
[18:01:57] apeiros: anyway, I'll leave that in the capable hands of havenwood.
[18:02:34] apeiros: I like to call them pseudo functions (or pretend functions). but yes, the point is that they try to be functions.
[18:03:11] apeiros: (things which do not need access to self, neither to @ivars nor to instance methods on self)
[18:03:56] apeiros: while often deterministically (same input = same output, as havenwood said), that's not necessarily a requirement. see Kernel.rand.
[18:04:13] leitz: apeiros, havenwood here's the logic. When _creating_ a character, a social "class" is chosen based on a digit in the UPP. This is only used when class Character mixes in module Character_Tools for the purpose of modifying the character. For CSV or Text presentation most if not all of Character_Tools are not used; the character is already created.
[18:04:32] herbmillerjr: has joined #ruby
[18:04:34] havenwood: apeiros: i was thinking the same thing - as we say, "friend, you speak my mind"
[18:04:38] apeiros: leitz: sorry, I'm leaving atm, better discuss this with havenwood :)
[18:04:48] leitz: thanks apeiros!
[18:05:09] apeiros: yw, good luck and success on your chargen work!
[18:06:00] leitz: Character_Tools is specifically a set of methods to get mixed in to Character during creation. Character_Tools is also expected to be mixed in with other stuff but I only have so many brain cells. The real reason was to keep Character clean.
[18:06:16] havenwood: leitz: should be CharacterTools, no _
[18:06:44] havenwood: leitz: mind pushing your latest character_tools.rb - I'm curious to take a look.
[18:06:50] leitz: havenwood, probably. I started this a few years ago when I knew even less.
[18:07:03] havenwood: looks like it's right in the code
[18:07:27] leitz: Must have gotten one right by accident...
[18:08:06] leitz: class Character could almost be an ostruct, but I want to learn OOP.
[18:08:33] havenwood: leitz: looks good up to line 12
[18:08:41] havenwood: leitz: Don't ever define your own globals, no $$s.
[18:08:59] havenwood: leitz: the #dice method looks good
[18:09:06] leitz: Yup. Actually, somewhere else it's DATA_PATH with no $.
[18:09:19] havenwood: leitz: I'd put NOBILITY with DATA_PATH, above the methods.
[18:09:39] havenwood: leitz: I like you froze the outer Hash. The inner ones aren't frozen.
[18:10:05] leitz: Ah, I thought it recursed in.
[18:10:08] havenwood: leitz: rubocop would add the frozen string literal magic commentl which is great for freezing all the strings
[18:10:09] havenwood: leitz: nope
[18:10:33] havenwood: leitz: you could use Forwardable for these, but that said it hardly matters: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L26-L36
[18:10:48] leitz: havenwood, I'll go make changes as you comment. Won't change it under you though.
[18:11:34] havenwood: leitz: here, consider using #each_slice then #join: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L38-L47
[18:12:00] graphene: has joined #ruby
[18:12:13] havenwood: leitz: so: upp.each_slice(7).flat_map { ...
[18:13:34] leitz: havenwood, haven't really understood map yet.
[18:13:37] graphene: has joined #ruby
[18:13:41] havenwood: leitz: I'd just use a Hash literal here: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L49-L58
[18:13:55] havenwood: leitz: ah, it's the default you're going for
[18:15:17] havenwood: leitz: One option is: %i[str dex end int edu soc].map { |attribute| [attribute, roll_2 || 0] }.to_h
[18:15:35] havenwood: leitz: Then extract constant: ATTRIBUTES = %i[str dex end int edu soc]
[18:15:42] leitz: havenwood, lines 49-58 are my "style" in that I get confused about where things stand. So I do small step by small step so I don't get lost.
[18:15:44] havenwood: ATTRIBUTES.map { |attribute| [attribute, roll_2 || 0] }.to_h
[18:16:31] leitz: The default isn't really used in that hash, just me being overly verbose.
[18:17:45] havenwood: leitz: instead of `.to_i(16)` you can use just `.hex` here: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L63-L68
[18:17:53] havenwood: >> '42'.hex
[18:17:54] ruby[bot]: havenwood: # => 66 (https://eval.in/1055516)
[18:18:24] leitz: Not sure when '.hex' came around, the original code was written to work under Ruby 1.8.7. :)
[18:18:49] havenwood: leitz: no reason to assign the `new_hair` variable here, since it's the return value in either case: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L88-L99
[18:19:06] havenwood: leitz: also, in modern Ruby, you can drop the begin and just go straight to rescue
[18:19:24] havenwood: leitz: same comments apply to the next method
[18:19:45] havenwood: leitz: Usually we use constants when the thing doesn't change: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L115
[18:20:04] havenwood: leitz: I can see how you'd maybe make that a method for uniformity, but still extract the string to a constant
[18:20:18] havenwood: SPECIES = 'humanity'
[18:20:34] havenwood: def generate_species; SPECIES; end
[18:20:38] havenwood: leitz: that way you're not creating a bunch of new strings
[18:20:49] psmolen: has joined #ruby
[18:21:05] havenwood: leitz: if you're not going to use frozen string literal magic comment, manually freeze constant strings
[18:21:17] leitz: Ah, the expansion to be written has other species. Brain hadn't figured out that part yet, but the 'humaniti' is used in the database calls.
[18:21:39] havenwood: leitz: you can omit assigning the status local variable here as well, it doesn't actually do anything - the case statement will return correctly from teh method: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L118-L125
[18:21:53] havenwood: leitz: this looks good: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L127-L129
[18:22:07] havenwood: (Assuming @upp is definitely set.)
[18:22:33] havenwood: leitz: omit the `return` here: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L133
[18:22:34] havenwood: all methods return
[18:22:36] havenwood: it's a no-op here
[18:22:52] havenwood: leitz: use #map here: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L136-L149
[18:22:57] havenwood: leitz: map is very worth learning
[18:23:02] herbmillerjr: has joined #ruby
[18:23:54] havenwood: leitz: i don't think you should raise ArgumentError here: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L172
[18:24:10] havenwood: no need to rescue just to raise: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L177-L178
[18:24:37] knight33: has joined #ruby
[18:24:56] havenwood: leitz: using File.open with a block will automatically close the file when the block closes. That's a nice way to use File.open: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L186
[18:25:20] leitz: ACTION notes that map refers to enumerable.collect on page 454 of Programming Ruby. :)
[18:25:25] rlawrence: has joined #ruby
[18:25:37] havenwood: leitz: you can omit the begin/end and just straight rescue here, and no need for the local variable assignment: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L221-L228
[18:26:05] havenwood: leitz: options.instance_of?(Hash) is a nice way to say this: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L233
[18:26:33] havenwood: leitz: And: options['character'].careers.any? instead of the double negation
[18:26:43] havenwood: leitz: I'd extract these to constants: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L234-L235
[18:27:21] havenwood: leitz: no need to assign the local variables here either: https://github.com/makhidkarun/ftl_chargen/blob/master/lib/ftl_chargen/character_tools.rb#L273-L274
[18:27:40] havenwood: leitz: I've got to run to brunch, but I'd be happy to give more suggestions on this code if you want more.
[18:27:45] havenwood: After brunch!
[18:27:58] havenwood: ACTION orders chunky bacon
[18:32:14] leitz: havenwood, enjoy brunch! I'll make some changes and notes.
[18:36:21] psmolen: has joined #ruby
[18:36:30] desperek: has joined #ruby
[18:48:14] leitz: havenwood, after brunch, please suggest how to reference the new file structure in the tests, if I don't finish up going over your notes before hand. https://github.com/makhidkarun/ftl_chargen/blob/master/test/tc_character_tools.rb
[18:55:11] tristanp: has joined #ruby
[19:06:11] _whitelogger: has joined #ruby
[19:10:38] Guest58115: has joined #ruby
[19:21:52] leitz: ACTION takes a break.
[19:33:11] wojnar: has joined #ruby
[19:50:44] graphene: has joined #ruby
[19:55:58] Freshnuts: has joined #ruby
[19:56:59] leitz: ACTION notes he's been at this for 9 or so of the last 10 hours and will probably zonk out shortly.
[19:57:52] graphene: has joined #ruby
[19:58:03] leitz: havenwood, I commented where things were updated. Reload character tools. I'll get back to this tomorrow.
[19:58:05] leitz: And thanks!
[20:05:59] psmolen: has joined #ruby
[20:06:51] akemot: has joined #ruby
[20:07:40] SeepingN: has joined #ruby
[20:08:41] jdawgaz: has joined #ruby
[20:09:28] Guest58115: has joined #ruby
[20:10:34] dviola: has joined #ruby
[20:12:23] ur5us: has joined #ruby
[20:12:58] tristanp: has joined #ruby
[20:35:45] lomex: has joined #ruby
[21:01:04] DTZUZO: has joined #ruby
[21:14:11] thy0: has joined #ruby
[21:26:42] DTZUZO_: has joined #ruby
[21:29:07] jdawgaz: has joined #ruby
[21:40:23] thy0: has joined #ruby
[21:42:41] minimal_life: has joined #ruby
[21:45:42] jdawgaz: has joined #ruby
[21:59:04] bak1an: has joined #ruby
[22:12:42] tdy: has joined #ruby
[22:28:30] TheBloke: has joined #ruby
[22:36:43] tdy: has joined #ruby
[22:42:08] brandoncc: has joined #ruby
[23:00:40] Turnikov: has joined #ruby
[23:02:43] n13z: has joined #ruby
[23:04:21] thy0: has joined #ruby
[23:05:51] thy0: has joined #ruby
[23:17:28] DTZUZO: has joined #ruby
[23:17:49] phrost: has joined #ruby
[23:21:40] patr0clus: has joined #ruby
[23:24:24] thy0: has joined #ruby
[23:25:38] phrost: hello apeiros, could you assist me with some ruby? i have a script i am using inside metasploit, and i am stuck with something
[23:26:21] apeiros: I don't help with metasploit by principle. there's a metasploit channel afaik, and you can also just ask in the channel generally (as in: without targetting me)
[23:26:30] phrost: i am automating some simple tasks, however when a command shell opens i can not interact with it because the previous command my script ran is still not finished running
[23:26:40] phrost: https://hastebin.com/raw/omewaqexal
[23:27:37] jdawgaz: has joined #ruby
[23:37:02] jdawgaz: has joined #ruby
[23:39:42] gr33n7007h: has joined #ruby
[23:48:10] _whitelogger: has joined #ruby
[23:50:14] jdawgaz: has joined #ruby
[23:51:09] jdawgaz: has joined #ruby
[23:59:10] phrost: has left #ruby: ("resolved")
[23:59:58] patr0clus: has joined #ruby