ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.30.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> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d71a97332e48c5df245358e]
<FromGitter> <Blacksmoke16> sprintf is a bit faster as well
<FromGitter> <jwoertink> Decorator isn't inherited anywhere
<FromGitter> <Daniel-Worrall> A late night thought. Can macros be benchmarked?
<FromGitter> <Blacksmoke16> in regards to what?
<FromGitter> <Blacksmoke16> how long they take to compile?
<FromGitter> <Daniel-Worrall> Yeah
<FromGitter> <Daniel-Worrall> I guess
<FromGitter> <Blacksmoke16> `--stats --progress` could add those flags and see what the diff is
<FromGitter> <Blacksmoke16> but otherwise its just code that happens at compile time so isnt much to benchmark like there is at runtime speed
<FromGitter> <watzon> JSON::Serializable doesn't create an initializer for the properties right?
<FromGitter> <watzon> Just one that takes a JSON::PullParser
<FromGitter> <Blacksmoke16> correct
<FromGitter> <watzon> Unfortunate
<FromGitter> <Blacksmoke16> could use a record πŸ˜‰
<FromGitter> <watzon> Yeah but that doesn't work for cases where I need it to be a class
<FromGitter> <Blacksmoke16> Just add it yourself to the module?
<FromGitter> <Blacksmoke16> Can't be too hard
<FromGitter> <watzon> Yeah that's what I've resigned myself to
hightower3 has quit [Ping timeout: 246 seconds]
gangstacat has quit [Ping timeout: 276 seconds]
gangstacat has joined #crystal-lang
chemist69 has quit [Ping timeout: 250 seconds]
chemist69 has joined #crystal-lang
DTZUZU has quit [Quit: WeeChat 2.2]
early has quit [Quit: Leaving]
early has joined #crystal-lang
ht_ has joined #crystal-lang
DTZUZU has joined #crystal-lang
ht_ has quit [Remote host closed the connection]
<FromGitter> <bararchy> @asterite seems like latest release of the GC lib doesn't have brian changes, so need to build from master?
alex`` has quit [Ping timeout: 246 seconds]
<FromGitter> <bararchy> Did anyone on Arch has a tar.xz for a master of the GC repo?
fyber has quit [Quit: Ping timeout (120 seconds)]
fyber has joined #crystal-lang
<FromGitter> <bararchy> @bcardiff did you tested on Linux or only on OSx
<FromGitter> <bararchy> Ok, so after digging around I saw that you need a patched bdwgc, and how to patch is avilable in distrebution scripts
fyber has quit [Ping timeout: 246 seconds]
<FromGitter> <absolutejam_gitlab> Is there a parallel to how you can pass pointers to objects or objects by value?
<FromGitter> <absolutejam_gitlab> Just musing earlier on the train
<FromGitter> <absolutejam_gitlab> It's very distinctly a class or a struct right?
<FromGitter> <absolutejam_gitlab> And that's essential pass by ref or pass by value
<FromGitter> <absolutejam_gitlab> Essentially
fyber has joined #crystal-lang
DTZUZO has quit [Ping timeout: 245 seconds]
absolutejam1 has joined #crystal-lang
commavir has quit [Remote host closed the connection]
commavir has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 268 seconds]
<FromGitter> <bararchy> @bcardiff @asterite managed to get it to work, manually patched the GC , life is great again
gangstacat has quit [Quit: Ĝis!]
absolutejam1 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 244 seconds]
<FromGitter> <watzon> @absolutejam_gitlab pretty much
hightower3 has joined #crystal-lang
hightower3 has quit [Ping timeout: 258 seconds]
absolutejam1 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 268 seconds]
hightower3 has joined #crystal-lang
gangstacat has joined #crystal-lang
alex`` has joined #crystal-lang
absolutejam1 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 245 seconds]
erdnaxeli has joined #crystal-lang
HumanGeek has quit [Quit: Leaving]
<FromGitter> <bcardiff> @bararchy I'm glad you handle it. FYI in the near future that patch will probably change once or twice in order to be replaced with the final version of the upstream patch so we can use a tagged release directly of bdw-gc
<FromGitter> <bararchy> @bcardiff I saw they already changed in master the `get_stack_bottom` with `get_my_stack_bottom`
<FromGitter> <bararchy> which is why just cloning master didn't help even though your patch is merged
<FromGitter> <bcardiff> Yeah, we release in the middle and they tweak things a bit after.
<FromGitter> <bararchy> yeha, the `get_my...` causes a invalid mem access crash
<FromGitter> <bararchy> so in the end I just cloned the way you do it in distribution scripts
<FromGitter> <bararchy> specific tag, patch, build
<FromGitter> <bararchy> I hope we can make sense of this all so that different distros can package this whole thing
<FromGitter> <bararchy> anyway, tried our engine with the new MT preview
<FromGitter> <bcardiff> How did it go?
<FromGitter> <bararchy> Still gathering data, but ⏎ ⏎ 1) Stable ⏎ 2) The reactiveness of the engine is amazing, we built in with Fibers, Channels and overall MT in mind, so we really getting a kick out of it. ⏎ ... [https://gitter.im/crystal-lang/crystal?at=5d724a8111f374371a0d6d0a]
<FromGitter> <bararchy> I think we currently have one of the largest production projects in Crystal land, so I guess it's a good thing that we see stability. ⏎ We really use most things Crystal and the STD has to offer + lot's of common shards
<FromGitter> <bcardiff> Great! ⏎ ⏎ Also, since yesterday nightlies are up to date with master, so the GC and MT is usuable from there. Since monday nightlies were failing but it got a fix.
duane has joined #crystal-lang
DTZUZO has joined #crystal-lang
<FromGitter> <bararchy> @bcardiff via the docker image you mean? Or nightly packages ?
HumanG33k has joined #crystal-lang
<FromGitter> <bararchy> Also, any chance we can have an Arch Linux package? Its frustrating seeing all this .deb and waiting on Arch to add it to the test repo
HumanG33k has quit [Remote host closed the connection]
HumanG33k has joined #crystal-lang
<FromGitter> <bcardiff> I mean nightlies at all: packages and docker images.
<FromGitter> <bcardiff> shipping need to imply automating the release and increasing the coverage of the CI to make it a first class citizen. But also we would need to be more involved/aware of the distro. It's not something we see us focusing before 1.0 I would say. It could change of course, but is not right now in the short list.
duane has quit [Ping timeout: 245 seconds]
duane has joined #crystal-lang
<FromGitter> <dscottboggs_gitlab> what's happening here? https://carc.in/#/r/7ic4
<FromGitter> <tenebrousedge> integer overflow?
DTZUZO has quit [Ping timeout: 244 seconds]
<FromGitter> <dscottboggs_gitlab> yeah i guess that was a stupid question. I guess I'm more asking why that doesn't lead to an error or actually overflow and instead just outputs 0
<FromGitter> <dscottboggs_gitlab> and if there's any way to create a...I guess BigInt at compile time?
<FromGitter> <dscottboggs_gitlab> https://carc.in/#/r/7icu
<FromGitter> <tenebrousedge> that looks like it works
<FromGitter> <dscottboggs_gitlab> only at runtime. so like I have a solution for the actual code, but I wanted to have the macros expand in the documentation :/
<FromGitter> <Blacksmoke16> i think you have to build with `-D preview_overflow`
<FromGitter> <Blacksmoke16> https://github.com/crystal-lang/crystal/issues/8153 @dscottboggs_gitlab
<FromGitter> <kingsleyh> hi - if I have a crystal file with a class that is a sub type of a parent - how can I parse the file and know if it's a sub_class of the specific type?
<FromGitter> <dscottboggs_gitlab> still getting the same results using BigInt at runtime and `-D preview_overflow`
<FromGitter> <Blacksmoke16> that might be using the method that wraps
<FromGitter> <dscottboggs_gitlab> https://crystal-lang.org/reference/syntax_and_semantics/macros.html @kingsleyh scroll down to the "Type Information" heading
<FromGitter> <dscottboggs_gitlab> > that might be using the method that wraps ⏎ Hm?
<FromGitter> <Blacksmoke16> nvm
<FromGitter> <Blacksmoke16> vs `to_i!`
<FromGitter> <dscottboggs_gitlab> ah. no I was careful to use the ones that raise
<FromGitter> <Blacksmoke16> @kingsleyh {{ParentClass.all_subclasses}}
<FromGitter> <kingsleyh> ok thanks
<FromGitter> <Blacksmoke16> can also loop like `{% for sub in ParentClass.all_subclasses %}`
<FromGitter> <kingsleyh> how can I include a subclass in the list - when the file containing the subclass is being supplied as a flag in option parser?
<FromGitter> <Blacksmoke16> what?
<FromGitter> <kingsleyh> e.g. myapp.cr --file="./some_file.cr"
<FromGitter> <kingsleyh> and some_file.cr is a subclass of MyClass
<FromGitter> <kingsleyh> so I have to require the file first?
<FromGitter> <kingsleyh> with some kind of dynamic require?
<FromGitter> <Blacksmoke16> not sure how you would do that
<FromGitter> <Blacksmoke16> whats the use case?
<FromGitter> <kingsleyh> how does it work here?
<FromGitter> <kingsleyh> I want to locate a set of files in a directory and run them and generate a report - except the files are not tests - but they do some stuff
<FromGitter> <kingsleyh> I can't see how the files in the minitest test directory get included in the scope when the all_subclasses is executed?
<FromGitter> <Blacksmoke16> he overrides the describe macro
<FromGitter> <Blacksmoke16> that defines a class that inherits from the parent type
<FromGitter> <Blacksmoke16> defines a describe macro*
<FromGitter> <kingsleyh> hmm
<FromGitter> <kingsleyh> not all the tests in minitest use that describe functionality thoug
<FromGitter> <Blacksmoke16> no?
<FromGitter> <kingsleyh> you can just write a method that starts with test_ in the class
<FromGitter> <Blacksmoke16> are you sure?
<FromGitter> <kingsleyh> on the readme: https://github.com/ysbaddaden/minitest.cr
<FromGitter> <kingsleyh> under Unit Tests
<FromGitter> <kingsleyh> it doesn't use describe
<FromGitter> <kingsleyh> and those files are still somehow located
<FromGitter> <Blacksmoke16> yea but its still inheriting from that parent class
<FromGitter> <Blacksmoke16> so iterate over all children of that parent class, iterate over all methods and select those that start with `"test_"`
<FromGitter> <kingsleyh> but does it know that the children are - if they are all in differerent files?
<FromGitter> <Blacksmoke16> doesnt matter if you require them
<FromGitter> <kingsleyh> the files must get loaded into the scope
<FromGitter> <Blacksmoke16> right
<FromGitter> <kingsleyh> so I should require all the files and then check
<FromGitter> <kingsleyh> how can I dynamically load the files into scope?
<FromGitter> <Blacksmoke16> well yea, otherwise the child class wouldnt exist
<FromGitter> <Blacksmoke16> why does it have to be dynamically?
<FromGitter> <kingsleyh> because I need to pass the files to the program
<FromGitter> <kingsleyh> in a similar way to writing a bunch of tests and passing them to minitest
<FromGitter> <kingsleyh> this kind of thing doesnt work ` require "#{file}"`
<FromGitter> <Blacksmoke16> you kinda lost me
<FromGitter> <kingsleyh> Error: interpolation not allowed in require
<FromGitter> <kingsleyh> I want to load some files into the current running scope
<FromGitter> <kingsleyh> where I will only know the files at runtime
<FromGitter> <Blacksmoke16> im going to go with "you cant"
<FromGitter> <kingsleyh> how does minitest do it then?
<FromGitter> <Blacksmoke16> ☝️ September 6, 2019 10:00 AM (https://gitter.im/crystal-lang/crystal?at=5d726675be4a3f13fdfabd35)
<FromGitter> <Blacksmoke16> `so iterate over all children of that parent class, iterate over all methods and select those that start with "test_"`
<FromGitter> <kingsleyh> yeah but that only works once you have loaded all the files containing the children into the scope?
<FromGitter> <kingsleyh> so all the test files have to be loaded into scope don't they?
<FromGitter> <Blacksmoke16> right
<FromGitter> <Blacksmoke16> is that a bad thing?
<FromGitter> <kingsleyh> so how to load the files into scope though?
<FromGitter> <Blacksmoke16> `require "..."`
<FromGitter> <kingsleyh> Error: interpolation not allowed in require
<FromGitter> <Blacksmoke16> yes but you cant give it a value at runtime
<FromGitter> <kingsleyh> I think you are saying - that I can't require the files at runtime
<FromGitter> <Blacksmoke16> thats exactly what i said
<FromGitter> <kingsleyh> so I can't achieve what I want then
<FromGitter> <kingsleyh> I'd have to know the list of files at compile time
<FromGitter> <Blacksmoke16> well you can get the full list of methods at compile time, THEN filter that down based on data you pass in at runtime
<FromGitter> <Blacksmoke16> but you cant do the filtering at compile time with runtime values
<FromGitter> <kingsleyh> yeah - it just means I can't do this: `myapp.cr --file="some_file.cr"`
<FromGitter> <kingsleyh> I'd have to pass a directory instead or something
<FromGitter> <Blacksmoke16> im not sure
<FromGitter> <kingsleyh> hmm not sure
<FromGitter> <Blacksmoke16> i know crystal spec allows you to run a single file
<FromGitter> <kingsleyh> I think the main difference is that in minitest - the tests run at compile time
<FromGitter> <Blacksmoke16> but idk how it does it
<FromGitter> <Blacksmoke16> i dont think thats true
<FromGitter> <kingsleyh> and in my case - I wanted to run at runtime
ht_ has joined #crystal-lang
<FromGitter> <kingsleyh> when you run spec or minitest - it must compile first and it probably just looks in a hardcoded specs dir
<FromGitter> <kingsleyh> so you can only supply a pattern to narrow down the filter
<FromGitter> <kingsleyh> so I think I can't do what I wanted
<FromGitter> <kingsleyh> I'd have to compile on each run
<FromGitter> <Blacksmoke16> maybe someone else has an idea
<FromGitter> <kingsleyh> ah I've figured it out
<FromGitter> <Blacksmoke16> πŸ‘
<FromGitter> <kingsleyh> I basically have to execute all the files I want to include - and have each one extend from a parent class
<FromGitter> <kingsleyh> and do the logic that way
<FromGitter> <kingsleyh> got it working now
<FromGitter> <kingsleyh> thanks for the help :)
<FromGitter> <Blacksmoke16> np
_whitelogger has joined #crystal-lang
<FromGitter> <SewerynKaminski> @watzon you mean "Hello %{place}" % {place: "world"}
DTZUZO has joined #crystal-lang
Yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
duane has quit [Remote host closed the connection]
go|dfish has quit [Ping timeout: 245 seconds]
<FromGitter> <JohnDowson> ```code paste, see link``` ⏎ ⏎ end ⏎ return ents ⏎ end``` ... [https://gitter.im/crystal-lang/crystal?at=5d727c2dae44a841248fb9eb]
<FromGitter> <kingsleyh> hello again - if I have a method in a variable is there any way to call it at runtime?
<FromGitter> <kingsleyh> e.g. my_method = "my_method()"
<FromGitter> <kingsleyh> some kind of macro?
<FromGitter> <Blacksmoke16> kinda, would have to make a case statement that is built from all the methods on that type, then when given the string name execute the corresponding method
<FromGitter> <kingsleyh> ah ok
<FromGitter> <kingsleyh> might work
<FromGitter> <kingsleyh> another approach is - I could generate a new file - and then use the run macro
ua_ has joined #crystal-lang
ua has quit [Ping timeout: 244 seconds]
<FromGitter> <Blacksmoke16> 😬 i guess?
Human_G33k has joined #crystal-lang
HumanG33k has quit [Ping timeout: 245 seconds]
ternarysolo has quit [Remote host closed the connection]
beepdog has quit [Remote host closed the connection]
erdnaxeli has quit [Remote host closed the connection]
olbat[m] has quit [Remote host closed the connection]
beepdog has joined #crystal-lang
<FromGitter> <bararchy> Where does the Crystal nightlies sit?
<FromGitter> <Blacksmoke16> docker image and/or on snap
<FromGitter> <Blacksmoke16> and*
<FromGitter> <Blacksmoke16> are the easiest two
<FromGitter> <bararchy> hmm how do I use snap to install nightly crystal?
<FromGitter> <Blacksmoke16> `sudo snap install crystal --classic --edge`
<FromGitter> <bararchy> @Blacksmoke16 Thanks :)
<FromGitter> <Blacksmoke16> stable/beta channels are stable release
ternarysolo has joined #crystal-lang
olbat[m] has joined #crystal-lang
<FromGitter> <Blacksmoke16> edge has the latest nightly version
<FromGitter> <Blacksmoke16> np
<FromGitter> <jwoertink> I have this bug that I mentioned yesterday. I'm having trouble re-creating it outside of my app. Maybe someone here has an idea of what I can look for?
<FromGitter> <jwoertink> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d729721ae44a84124907f60]
<FromGitter> <jwoertink> so the interesting thing here is my `fetch_site_latest` method makes a DB query, and then maps the results
<FromGitter> <jwoertink> if I move that map outside of this, then it compiles
<FromGitter> <jwoertink> but yet, this example https://play.crystal-lang.org/#/r/7ieq compiles fine
alex`` has quit [Ping timeout: 244 seconds]
alex`` has joined #crystal-lang
<FromGitter> <kingsleyh> I think it would be nice not to have to type the `end` in the case when an `initialize` has no body - like the way Dart language does it
<FromGitter> <kingsleyh> e.g `def initialize(@name : String)`
<FromGitter> <Blacksmoke16> could just add `; end`
<FromGitter> <kingsleyh> I suppose people may not like it though
<FromGitter> <Blacksmoke16> not *as* clean but better than putting it alone on a new line imo
<FromGitter> <kingsleyh> yeah
<FromGitter> <kingsleyh> I use ameba - so whatever that tells me is the right thing I do it
<FromGitter> <bararchy> @Blacksmoke16 seems snaps don't play nicely in docker containers
<FromGitter> <Blacksmoke16> just use the docker image then?
<FromGitter> <Blacksmoke16> `crystal-lang/crystal:nightly`?
<FromGitter> <Blacksmoke16> `crystallang/crystal:nightly` my bad
<FromGitter> <bararchy> I want to, but the image is based on old ubuntu (or debian?) and I need from things in the `builder` part, as in, 3 different build stages as I need `ubunut:latest` for parts of the build
<FromGitter> <Blacksmoke16> hmm
<FromGitter> <bararchy> I'll try and see if I can combine it in a way that works
<FromGitter> <Blacksmoke16> could always build from source as well? :shrug:
dannyAAM has quit [Quit: znc.saru.moe : ZNC 1.6.2 - http://znc.in]
dannyAAM has joined #crystal-lang
<FromGitter> <bararchy> source won't work with new mt_preview
<FromGitter> <bararchy> XD
<FromGitter> <Blacksmoke16> why wouldnt it?
<FromGitter> <bararchy> because it doesn't have the hacking around of the GC lib
<FromGitter> <Blacksmoke16> hmm no idea :p
<FromGitter> <bararchy> and the GC lib hasn't provided a release with the new changes
<FromGitter> <bararchy> yeha XD full day and a half on this thing
<FromGitter> <bararchy> I managed to build our solution locally with it, but I need to work on testing in the docker
<FromGitter> <asterite> @jwoertink is Array inherited in your app?
alex``` has joined #crystal-lang
<FromGitter> <asterite> @jwoertink almost sure it's https://github.com/crystal-lang/crystal/issues/6789
<FromGitter> <jwoertink> @asterite no, the array isn't inherited
<FromGitter> <jwoertink> but that issue does sort of look similar
<FromGitter> <asterite> it might happen if you invoke some method on Decorator, or mention it, I think at the top-level
<FromGitter> <asterite> I think I know why the error happens but I don't have time to fix it these days
<FromGitter> <jwoertink> ah, ok. Yeah, when I call `.new` from the Decorator, I have some other methods internal that run to setup some data
alex`` has quit [Ping timeout: 268 seconds]
<FromGitter> <asterite> I think I know how to fix it
<FromGitter> <jwoertink> That's because you're baller πŸ˜‚
alex``` has quit [Ping timeout: 246 seconds]
alex``` has joined #crystal-lang
alex``` has quit [Ping timeout: 258 seconds]
alex``` has joined #crystal-lang
<FromGitter> <kingsleyh> I've got a type and I can see which methods are on it - but could someone point me in the right direction to call the method
<FromGitter> <kingsleyh> ``````
<FromGitter> <kingsleyh> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72aba43b1e5e5df164b03f]
<confact> i have a basic Auth handler to my http server. How do I reload it with new logins without restarting the server?
<FromGitter> <Blacksmoke16> @kingsleyh ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72ad3fa08e2b4bd29ccc43]
<FromGitter> <Blacksmoke16> assuming it doesnt have any args
<FromGitter> <kingsleyh> Oh thanks
<FromGitter> <asterite> @jwoertink TIL the word "baller" :-). Fixed! Will probably be available in 0.31.0
<FromGitter> <vlazar> Ary πŸ’š
<FromGitter> <vlazar> So many bugs fixed recently
<FromGitter> <vlazar> TIL "baller" too btw :)
dingenskirchen has quit [Quit: dingenskirchen]
<FromGitter> <jwoertink> sweet!
<FromGitter> <jwoertink> Thanks! I'll have to check it out
dingenskirchen1 has joined #crystal-lang
<FromGitter> <Blacksmoke16> so im playing around with github actions
<FromGitter> <Blacksmoke16> debating having multiple jobs for specific things, ameba/format/tests
<FromGitter> <Blacksmoke16> or one bigger job that does all of that
dingenskirchen1 is now known as dingenskirchen
<FromGitter> <Blacksmoke16> i think im leaning towards the former atm
<FromGitter> <tenebrousedge> it's kinda like procedural programming, right?
<FromGitter> <tenebrousedge> in a relatively literal sense
<FromGitter> <Blacksmoke16> yea where a job is a set of steps that run in order
<FromGitter> <Blacksmoke16> a "job" is what you would see in a PR as a check
<FromGitter> <tenebrousedge> having one big procedure is not usually recommended
<FromGitter> <tenebrousedge> maybe you would like to re-use parts of that for different projects?
dingenskirchen has quit [Quit: dingenskirchen]
<FromGitter> <tenebrousedge> I think going with multiple jobs would be best
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72bbb7a08e2b4bd29d31ba]
<FromGitter> <Blacksmoke16> is what i got atm
<FromGitter> <Blacksmoke16> where all but nightly is required for PR merge
<FromGitter> <Blacksmoke16> then maybe a like `deploy` job that requires all but nightly to deploy the api docs when merged into master
<FromGitter> <Blacksmoke16> but that seems like it would be best for a totally diff workflow
<FromGitter> <Blacksmoke16> vs a "job" within this one
<FromGitter> <Blacksmoke16> which i could have only run on pr merged into master
<FromGitter> <tenebrousedge> does it have an "approval" step?
<FromGitter> <tenebrousedge> it's very similar to CircleCI, which allows you to have workflows with a "click OK to proceed" step
<FromGitter> <Blacksmoke16> hmm
<FromGitter> <tenebrousedge> I found that useful for deploys
<FromGitter> <Blacksmoke16> there is a trigger for when a release is published
<FromGitter> <Blacksmoke16> which would be good for like actual deployment of binaries and stuff
<FromGitter> <Blacksmoke16> but id imagine you would want the api docs up to date with master
<FromGitter> <tenebrousedge> probably. I also don't want a new version of whatever hitting production at 5pm on a Friday, whether or not it passed all the automated tests
<FromGitter> <Blacksmoke16> yea even being able to have a workflow defined that can only be triggered manually would be good
<FromGitter> <Blacksmoke16> then can just kick it off whenever you want and be good
<FromGitter> <tenebrousedge> if that can be combined with an admin list I'd be down
<FromGitter> <Blacksmoke16> might have to see if that has been feature requested yet
<FromGitter> <Blacksmoke16> looks like they support that via an API request
<FromGitter> <tenebrousedge> hmmm
Yxhuvud has joined #crystal-lang
<FromGitter> <kingsleyh> if I have a method: hello(name : String) - how can I make it accept an array without specifying an Array type: e.g. d = ["kings"] ; hello(d)
<FromGitter> <Blacksmoke16> `hello(name : Array)`
<FromGitter> <kingsleyh> no I don't want an Array
<FromGitter> <kingsleyh> I want to keep hello(name : String, color : String)
<FromGitter> <kingsleyh> but pass the arguments to it from an array
<FromGitter> <kingsleyh> or I could use any other enumeration
<FromGitter> <Blacksmoke16> wait what?
<FromGitter> <kingsleyh> I'm sure there is a notation for it in Crystal
<FromGitter> <tenebrousedge> I think a destructuring splat might work
<FromGitter> <Blacksmoke16> `how can I make it accept an array without specifying an Array type` `no I don't want an Array`
<FromGitter> <kingsleyh> yes - I think that a splat is the answer
<FromGitter> <tenebrousedge> hello(*array)
<FromGitter> <kingsleyh> thanks
<FromGitter> <Blacksmoke16> you cant splat an array tho
<FromGitter> <tenebrousedge> I thought that was recently added
<FromGitter> <Blacksmoke16> this would take three overloads
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72c0bb50508949d3ebdd75]
<FromGitter> <Blacksmoke16> something like that
<FromGitter> <Blacksmoke16> one to handle a single string, one to handle an array of strings, and one to handle a variadic amount of names
<FromGitter> <kingsleyh> hmm maybe a tuple would be easier
<FromGitter> <Blacksmoke16> what are you trying to do?
<FromGitter> <kingsleyh> I've parsed a method from some text - and so now I have the base name of the method as a string, and I have each of the arguments as strings
<FromGitter> <kingsleyh> now I want to call the method with the argumentws
<FromGitter> <Blacksmoke16> all of this happens at runtime?
<FromGitter> <kingsleyh> the method is actually a proc
<FromGitter> <kingsleyh> yes at runtime
<FromGitter> <kingsleyh> I have it working with no arguments
<FromGitter> <kingsleyh> but now I'm trying to get arguments to work
<FromGitter> <Blacksmoke16> you could do like `*Tuple(String).from(["foo"])`
<FromGitter> <Blacksmoke16> if you know the types
<FromGitter> <kingsleyh> hmm interesting
<FromGitter> <Blacksmoke16> is what it looks like so far
<FromGitter> <tenebrousedge> πŸ‘
<FromGitter> <Blacksmoke16> looks like you can reference steps from other places, i.e. could have a common crystal actions repo for doing common things
<FromGitter> <Blacksmoke16> or ameba etc could set it up for their specific stuff etc
go|dfish has joined #crystal-lang
<FromGitter> <Blacksmoke16> would be nice if you could share workflows, as im pretty much going to use the same one between all my repos
<FromGitter> <Blacksmoke16> might play with that next
ht_ has quit [Quit: ht_]
<FromGitter> <Blacksmoke16> yea this is πŸ’―
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72c6ccc38d634123ab524e]
<FromGitter> <Blacksmoke16> so like we could have
<FromGitter> <Blacksmoke16> ```- uses: some-repo/specs ⏎ with: ⏎ warnings: all ⏎ error_on_warning: true``` [https://gitter.im/crystal-lang/crystal?at=5d72c74e6e889c4bbdaf09ad]
<FromGitter> <Blacksmoke16> imma do it
<FromGitter> <tenebrousedge> kk
<FromGitter> <Blacksmoke16> step 1, figure how to do it :S
<FromGitter> <tenebrousedge> what? no. Just start typing
<FromGitter> <Blacksmoke16> https://github.com/actions/javascript-template perfect :P
<FromGitter> <Blacksmoke16> then could prob put this in some org
alex``` has quit [Ping timeout: 258 seconds]
alex``` has joined #crystal-lang
duane has joined #crystal-lang
duane has quit [Ping timeout: 264 seconds]
alex``` has quit [Ping timeout: 245 seconds]
<FromGitter> <Blacksmoke16> might not be as clean as i thought, actions run as js
<FromGitter> <bararchy> @Blacksmoke16 Do you know if the deb repo has `nightly` packages?
<FromGitter> <Blacksmoke16> im not sure
<FromGitter> <bararchy> ` https://dist.crystal-lang.org/apt` allows no dir listing so I can't find
<FromGitter> <bararchy> @bcardiff do we have deb packages that would allow testing MT? `snaps` don't seem to like Docker
<FromGitter> <bcardiff> @bararchy almost every night an unsigned .deb package is left in the artifacts tab of the `dist_artifacts` job in circle ci. last night are https://circleci.com/gh/crystal-lang/crystal/28467#artifacts/containers/0 ⏎ The url changes
<FromGitter> <bcardiff> those are the deb used in docker nightly images build by https://github.com/crystal-lang/distribution-scripts/blob/master/docker/Dockerfile
<FromGitter> <bcardiff> What do you mean by ⏎ ⏎ > `snaps` don't seem to like Docker
<FromGitter> <Blacksmoke16> eh im thinking this isnt worth it just to abstract `crystal spec`
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72ed0c50508949d3ed15ee]
<FromGitter> <Blacksmoke16> does cleanup your steps tho
<FromGitter> <Blacksmoke16> but prob not worth it just to save from doing like
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d72ed3cae44a8412492ed76]
<FromGitter> <Blacksmoke16> is pretty cool concept tho
<FromGitter> <Blacksmoke16> makes it super easy to share CI workflow steps between various projects and such