RX14 changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.27.1 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
<FromGitter> <Sija> on the flip side there's a new version of raven in the works with some bugfixes, but most importantly with stacktrace frames context - so you'll be able to see the actual code in the sentry UI along with the frames
<FromGitter> <Sija> it ain't earth-shattering addition since one usually knows one's own code but I still think it's a nice touch ;)
<FromGitter> <Sija> I reckon it might speed up debugging by a tiny bit
<FromGitter> <anamba> @Sija sounds good! i use sentry for everything, raven for crystal makes my life better :)
<FromGitter> <Sija> @anamba Cool, happy to hear that! :)
<FromGitter> <Sija> if you want to check it out just use `branch: develop` in your `shard.yml`
<FromGitter> <Blacksmoke16> any smart ways to get an array of all the parent classes of a given type
<FromGitter> <Blacksmoke16> https://play.crystal-lang.org/#/r/69h9 something like that
<FromGitter> <Blacksmoke16> hmm
<FromGitter> <vladfaust> Why you always say "hmm" whenever I try to help you, @Blacksmoke16?
<FromGitter> <Blacksmoke16> tbh i was hoping there was type `{{@type.parents}}` method i wasn't aware of
<FromGitter> <Blacksmoke16> but i think i might be able to do something like you did, just traverse down and build it out going that way vs up the tree
<FromGitter> <vladfaust> Good luck with that, and good night :)
<FromGitter> <Blacksmoke16> o/
<FromGitter> <Blacksmoke16> ayy
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c676da44003460b2d5aee88]
<FromGitter> <Blacksmoke16> PR time
<FromGitter> <Blacksmoke16> well, spec time first
<FromGitter> <Blacksmoke16> However I'm not sure on the name
<FromGitter> <Blacksmoke16> Subclasses and all_subclasses
<FromGitter> <Blacksmoke16> So superclass and superclasses
<FromGitter> <Blacksmoke16> Or
<FromGitter> <Blacksmoke16> Superclass and all_superclasses
<FromGitter> <Blacksmoke16> Probably the former since, a class can't have more than one superclass like you can with subclasses
fanta7531 has quit [Quit: fanta7531]
markong has quit [Quit: Konversation terminated!]
<FromGitter> <Sija> @Blacksmoke16 you mean `{{ @type.ancestors }}` ?
<FromGitter> <Blacksmoke16> What's that one do?
<FromGitter> <Sija> gives you all superclasses (ancestors)
<FromGitter> <Sija> isn't it what u r after?
<FromGitter> <Blacksmoke16> Wait what
<FromGitter> <Blacksmoke16> well ill be damned
<FromGitter> <Sija> :P
<FromGitter> <Blacksmoke16> works for me :p
<FromGitter> <Sija> heads-up: it has some "quirks" u might want to know: `{{ Int32.ancestors }} # => [Int, Number, Comparable(Number), Value, Object]`
<FromGitter> <Sija> AFAIK it doesn't rly subclass `Comparable` so I'm not sure wtf it's doin' there...
<FromGitter> <Sija> rest ought to be expected but `Comparable` is included so it's at least weird
<FromGitter> <Blacksmoke16> yea kinda strange
<FromGitter> <Blacksmoke16> actually ended up not needing it so all good :p
<FromGitter> <Sija> OTOH it does "inherits" its methods so maybe it's fine, anyhow I was bit surprised seein' it there...
<FromGitter> <Sija> haha, I like that feeling - spending hours on doin' sth, just to find out afterwards I don't rly need it
<FromGitter> <Blacksmoke16> pretty much :P
<FromGitter> <Blacksmoke16> making it so in Athena, when you inherit from another controller, the child will inherit its parent's callbacks
<FromGitter> <Sija> overall the journey is what matters not the destination ;)
<FromGitter> <Blacksmoke16> so could have a like `PublicController` that has a callback that can be inherited by other controllers to reduce boilerplate for common things
<FromGitter> <Blacksmoke16> like for setting headers or something
<FromGitter> <Sija> it's l8 here, I'm going to sleep and there could be at least several ways of doin' this so I'll not even start to think 'bout that, I'm happy though you're doin' fine! :)
<FromGitter> <Sija> general idea sounds swell
<FromGitter> <Blacksmoke16> Cheers
<FromGitter> <Sija> cheers m8, gnight!
<FromGitter> <Sija> @Blacksmoke16 oh, one thing - I've given you thumbs down on your PR for supporting curly braces in amber-routes - and YES, I REALLY DO DISLIKE IT :P
<FromGitter> <Sija> I hope your ego can manage a thumbs down and the fact that someone has a different opinion :DDD
<FromGitter> <Blacksmoke16> Mostly want it so it would be easier for me to generate the open API spec from Athena routes :p
<FromGitter> <Blacksmoke16> But if the others agree with you I can probably just convert curly parameters in Athena to colon parameters for the router
<FromGitter> <Sija> yeah, I connected the dots but I don't believe it belongs to the amber-router
<FromGitter> <Blacksmoke16> Fair enough
<FromGitter> <Sija> if you want it so badly u can always convert it yrself on athena's side (if that's rly worth so much for you) ;)
<FromGitter> <Sija> btw, with the advent of GraphQL, OpenAPI days seem to be counted
<FromGitter> <Sija> that's my opinion at least...
<FromGitter> <iambudi> I’m a bit lost here. I can successfully running crystal debugger in vscode but i could not see debugged var value. It just shows a bunch of registers hex value. Any tips?
<FromGitter> <iambudi> i use lldb
<FromGitter> <Sija> it should get u started
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c67809d28c89123cbd85b7a]
<FromGitter> <Blacksmoke16> so hitting up `GET /parent` would have the `X-RESPONSE-ALL-ROUTES` header
<FromGitter> <Blacksmoke16> `GET /child` would have `X-RESPONSE-ALL-ROUTES` header
<FromGitter> <Blacksmoke16> `GEt /child2` would have `X-RESPONSE-ALL-ROUTES` and `X-RESPONSE-CHILD3-ROUTES`
<FromGitter> <Sija> 👍
<FromGitter> <Blacksmoke16> ill take it
<FromGitter> <Blacksmoke16> s/o to @robacarp for the idea ^
<FromGitter> <iambudi> @Sija it looks like GDB is preferable rather than lldb
<FromGitter> <iambudi> I guess i should forget the debugger, it just give pain :). Thanks.
<FromGitter> <Sija> Yeah, sorry to say but that might be the case ;)
<FromGitter> <anamba> any way to simulate a different time? this is for a spec.
DTZUZO_ has joined #crystal-lang
jokke1 has joined #crystal-lang
DTZUZO has quit [Ping timeout: 246 seconds]
mps has quit [Ping timeout: 246 seconds]
jokke has quit [Ping timeout: 246 seconds]
Vexatos has quit [Ping timeout: 246 seconds]
ua has quit [Ping timeout: 246 seconds]
mps_ has joined #crystal-lang
ua has joined #crystal-lang
Vexatos has joined #crystal-lang
DTZUZO_ has quit [Ping timeout: 268 seconds]
Vexatos has quit [Quit: ZNC Quit]
Vexatos has joined #crystal-lang
_whitelogger has joined #crystal-lang
oprypin has joined #crystal-lang
<FromGitter> <Sija> @anamba you mean sth like *timecop*?
ashirase has quit [Ping timeout: 244 seconds]
ashirase has joined #crystal-lang
<FromGitter> <Sija> just in case
mps_ is now known as mps
fanta7531 has joined #crystal-lang
fanta7531 has quit [Quit: fanta7531]
jokke1 is now known as jokke
<FromGitter> <anamba> @Sija Thanks! I have used timecop for Ruby in the past, yet somehow didn't think to search for that...
<FromGitter> <Sija> @anamba yw! always happy to help :)
azuri5 has joined #crystal-lang
<FromGitter> <girng> how come `r.rand` returned a `e-5` wtf?
JuanMiguel has joined #crystal-lang
JuanMiguel has quit [Client Quit]
<Yxhuvud> girng: That e-5 means that it is multiplied by 10^-5. So it is a very very small number.
fanta7531 has joined #crystal-lang
fanta7531 is now known as fanta7531|away
moei has joined #crystal-lang
fanta7531|away has quit [Quit: fanta7531|away]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 245 seconds]
fanta7531 has joined #crystal-lang
fanta7531 has quit [Client Quit]
<FromGitter> <kingsleyh> Evening
<FromGitter> <Blacksmoke16> o/
<FromGitter> <PlayLights_twitter> Hello guys, is there a way to convert a String to IO?
<FromGitter> <Blacksmoke16> can use `String.build do |io|`
<FromGitter> <Blacksmoke16> https://crystal-lang.org/api/0.27.0/String.html#build%28capacity%3D64%2C%26block%29%3Aself-class-method
<FromGitter> <straight-shoota> @PlayLights_twitter `IO::Memory.new(string)`
<FromGitter> <Blacksmoke16> :gasp:
<FromGitter> <drum445> https://youtu.be/5p8wTOr8AbU
<FromGitter> <drum445> Hits too close to home :)
<oprypin> is funny
<FromGitter> <PlayLights_twitter> @straight-shoota Thanks so much
fanta7531 has joined #crystal-lang
<FromGitter> <Sija> @drum445 rotfl :D
<FromGitter> <Sija> it made my day, thanks!
moei has quit [Quit: Leaving...]
fanta7531 has quit [Quit: fanta7531]
return0e_ has quit [Ping timeout: 250 seconds]
return0e has joined #crystal-lang
azuri5 has quit [Read error: Connection reset by peer]
Raimondi has quit [Quit: WeeChat 2.3: ¡Chau!]
<oprypin> I've watched it several times