then there's gemspecs - in the official rubygems docs, in the Gem::Specification.new block, they don't use parentheses, does that only apply to the gemspec? or does that apply to anything that resembles a DSL?
sadly, as I have been growing older, I have come to the decision that the occasional ambiguity of my no-parentheses-style is not worth the awesomeness that is reading a line of code literally
so… in my IRC bot library I abuse Module#class_exec to create an anonymous class (not instance) based on reloadable user code https://github.com/mkroman/blur/blob/master/library/blur.rb#L34-L43 that is essentially just loaded through Kernel#load(file, wrap=true) and is instantiated at https://github.com/mkroman/blur/blob/master/library/blur/client.rb#L143-L167
but since it's essentially a block that is evaluated, and the only code that happens to be before the Blur::Script(name, &block) is usually `require` - how much should I care about dataraces?
when a script does a require, the code loaded is not expected to be reloaded until the process is restarted
where can I ask my question about “relatively” reloadable user code other than here? or should I just ask at another time?
havenwood: I dunno how to explain it, but it feels like I'm trying to trap kiddies into my van when I write code that's like if respond_to? name; __send__ name, network, message; end vs. if respond_to?(name); __send__(name, network, message) end
RougeR: sure, but if you have to rely on rbenv, it's kind of a half-assed assertion of the ruby standards (imo - i.e. executables in your PATH aren't guaranteed) and you might be better off testing against a docker image than rbenv scripts
I'm running a server that manages data across JBODs from an application, right now I'm using redis to do most of the work, but it's not easy to verify that it's doing what it's supposed to
another solution would be a HTTP API, but I think I'll try with RPC instead