00:18
snusnu has quit [Quit: Leaving.]
01:28
postmodern has joined #rom-rb
04:28
postmodern has quit [Quit: Leaving]
04:31
postmodern has joined #rom-rb
04:38
jfredett has joined #rom-rb
05:06
jfredett has quit [Quit: Leaving.]
08:45
mbj has joined #rom-rb
09:03
theCrab has joined #rom-rb
09:49
theCrab has quit [Quit: Gone Forever!]
10:54
mbj has quit [Quit: leaving]
12:24
snusnu has joined #rom-rb
14:44
<
solnic >
hey snusnu
14:44
<
snusnu >
i just removed 18 support from devtools, removing support code for it, plus raising an error when it's invoked under 18
14:46
<
snusnu >
solnic: and what i want to do next, is make the config path it looks for metric config files, configurable
14:46
<
snusnu >
squatting the "config" subdirectory in every project it's used in, is rude
14:46
<
snusnu >
i want my config directory to contain application config, and make devtools look for it's config in my_app/config/devtools
14:46
<
snusnu >
or maybe my_app/metrics even
14:47
<
snusnu >
of course, it would still default to "config", so that all libs will continue working
14:47
<
solnic >
snusnu: oh yeah that was on my list too
14:49
<
snusnu >
warrgh damnit .. seems like i need to do another task before i get to devtools ...
14:49
<
snusnu >
anyway, expect that change to be pushed soonish
14:50
<
solnic >
snusnu: btw I pushed new memory adapter
14:50
postmodern has quit [Quit: Leaving]
14:50
<
solnic >
with materialized variables
14:50
<
snusnu >
saw that, nice!
14:53
<
solnic >
snusnu: we also load the adapter support module automatically now
14:53
<
solnic >
no need to require rom/support/adapter/foobar
14:55
cored has joined #rom-rb
15:02
<
snusnu >
solnic: nice
15:56
mbj has joined #rom-rb
16:10
<
snusnu >
mbj: this happend ONCE and only ONCE, without changing snusnu/cookie code in between
16:11
<
mbj >
snusnu: I had such a report already!
16:11
<
snusnu >
mbj: fwiw, the rfc2822 method gets only added when you require 'time'
16:11
<
snusnu >
mbj: yeah, i remember that
16:11
<
mbj >
unparser/parser are not interested if a method exists or not
16:12
<
snusnu >
yeah i remember that one, maybe it's related, maybe not, dunno
16:12
<
mbj >
I'll try to run mutant in a loop
16:12
<
mbj >
Maybe I need a bountysource/whatever funding to spend 4 weeks on mutant.
16:13
<
snusnu >
dude, if you were to work 4 weeks on mutant, it would mutate the world
16:13
<
mbj >
hah, thx for cudos
16:13
<
mbj >
Its hard to estimate how much time I spend on mutant.
16:14
<
mbj >
You mean I'd create the "world war z" scenario :D
16:17
<
snusnu >
you can bash me for that, but imo it's MUCH more readable .. and emphasizes the fact that we really only define "properties" of the class
16:17
<
mbj >
snusnu: I'm okay with it.
16:18
<
snusnu >
now it's not shitloads of ||= methods anymore, but shitloads of attr_readers .. which is much better imo
16:18
<
mbj >
snusnu: We are not using adamantium, so its okay.
16:18
<
mbj >
snusnu: I count it as "as good as you can do without our stack" :D
16:18
<
snusnu >
you know my stance, even with adamantium i'd prefer it like this
16:19
<
snusnu >
look at #initialize, see the complete initialization code
16:19
<
mbj >
Another thing, all that @ivar = Config::Foo, maybe should go into a loop.
16:19
<
snusnu >
attr_readers from then on
16:19
<
mbj >
It looks so "same" :D
16:19
<
snusnu >
dunno if that would help readability at all, in fact, i doubt it
16:19
<
snusnu >
i like that
16:19
<
mbj >
Maybe some metaprogramming?
16:20
<
mbj >
expose :flay, Config::Flay
16:20
<
mbj >
expose :flog, Conifg::Flog
16:20
<
snusnu >
it's so simple, why complicate
16:20
<
snusnu >
yeah dunno if it's worth it at this point
16:20
<
snusnu >
fwiw, i only cleaned up because i want to introduce configurable config directories
16:21
<
mbj >
and in initializer you do a single: initialize_exposed_modules
16:21
<
mbj >
Just thinking out lod.
16:21
<
mbj >
Remember how much mutantions mutant would identify here :D
16:21
<
snusnu >
squatting the "config" directory everywhere devtools is used, is rude
16:21
<
snusnu >
well, as i said, i'm not opposed to anything, but please hold off for now, until i pushed the feature i mentioned ;)
16:23
<
solnic >
snusnu: that’s ok, I don’t like ||=
16:23
<
mbj >
snusnu: As I said: I'm okay with this code.
16:23
<
mbj >
Just thinking out loud!
16:23
<
mbj >
Its better than before.
16:23
<
mbj >
snusnu: And the total amount of mutations is now LOWER!
16:23
<
mbj >
snusnu: Total about all mutations in that class!
16:24
<
mbj >
FYI, my slides got 100 views after the tweet! Nice!
16:28
lorenzo_ is now known as lorenzo_off
16:35
<
snusnu >
mbj, solnic: btw, at some point we
*should* write specs for devtools :p
16:35
<
snusnu >
if only for dogfooding arguments
16:37
<
solnic >
snusnu: be my guest ;)
16:37
<
snusnu >
solnic: ;)
16:40
<
mbj >
snusnu: Yeah, we moved all the logic out of "untestable rake tasks"
16:40
travis-ci has joined #rom-rb
16:40
travis-ci has left #rom-rb [#rom-rb]
16:40
<
travis-ci >
[travis-ci] rom-rb/devtools#131 (master - 7b61dce : snusnu): The build was broken.
16:40
<
mbj >
snusnu: We now can test devtools. So IMHO it should also be mutation covered.
16:42
<
mbj >
snusnu: I think we should
*consider* to have gem releases of devtools.
16:44
travis-ci has joined #rom-rb
16:44
<
travis-ci >
[travis-ci] rom-rb/devtools#132 (master - c49c7a7 : snusnu): The build was broken.
16:44
travis-ci has left #rom-rb [#rom-rb]
16:48
<
snusnu >
fwiw, the build should be fixed now
16:48
<
snusnu >
mbj: yeah, i was thinking about that too … the "problem" are the constant Gemfile.devtools updates ...
16:49
<
snusnu >
mbj: maybe devtools:sync could just fetch those from a gist?
16:49
<
snusnu >
mbj: really, it's an artefact that happens to be needed by devtools, it's not part of devtools "code"
16:50
<
mbj >
snusnu: Yeah, good point.
16:50
<
mbj >
snusnu: Maybe we should ship our own version of "bundle update"
16:50
<
mbj >
snusnu: "devtools update" == "devtools sync && bundle update"
16:51
<
snusnu >
mbj: we do that already iirc
16:52
<
snusnu >
or maybe not, there's definitely devtools:sync tho
16:52
<
snusnu >
mbj: fwiw, the #initialize refactoring trashed our flog score
16:53
<
snusnu >
mbj: but really, that's just a symptom of not supporting "excludes" for flog
16:54
<
mbj >
snusnu: that initialize loop I was talking about should help with wlog
16:54
<
mbj >
array_of_config_classes.each do |klass|
16:55
<
snusnu >
mbj: i mentioned that in the commit comment yeah, altho it wouldn't get us back to where we were
16:55
<
mbj >
instance_variable_set(klass.name.split('::').last.downcase, klass.new(self))
16:55
<
snusnu >
mbj: because of the other assignments
16:55
<
snusnu >
but tbh, i just don't care at all
16:55
<
mbj >
I have a bigger problem. Forgot the keys for the coffee place @home :(
16:55
<
snusnu >
the only lesson to learn from that, is that we actually want to be able to exclude stuff from flog
16:55
<
mbj >
s/place/room/
16:56
<
snusnu >
so that one outlier doesn't ruin the threshold for everything else
16:56
<
mbj >
snusnu: Better whitelist!
16:56
<
mbj >
snusnu: If it gets even "worser" I'd like to notice.
16:56
<
snusnu >
yeah, whatever tactics
16:58
<
snusnu >
mbj: btw, it bugs me that Devtools handles all its work in singleton methods, we should have an instance
16:59
<
snusnu >
maybe i'll do a refactoring round on it later tonight, after preparing+having a nice dinner :)
17:00
<
mbj >
I'm on the search for a coffee, all doors closed here :(
17:00
<
mbj >
Need to place a machine in my room!
17:01
<
mbj >
Coffee supply is most important!
17:05
<
snusnu >
yeah man, do that
17:06
<
snusnu >
and i'm out
17:19
jfredett has joined #rom-rb
17:26
snusnu has quit [Quit: Leaving.]
17:51
jfredett has quit [Quit: Leaving.]
18:05
mbj has quit [Ping timeout: 246 seconds]
18:15
mbj has joined #rom-rb
18:19
jfredett has joined #rom-rb
18:32
jfredett has quit [Quit: Leaving.]
20:40
jfredett has joined #rom-rb
20:41
jfredett has quit [Client Quit]
21:28
mbj has quit [Ping timeout: 245 seconds]
22:02
abe has joined #rom-rb
22:17
namelessjon has quit [Ping timeout: 268 seconds]
22:19
namelessjon has joined #rom-rb
22:33
<
abe >
hello. i was checking out the rom-demo repo (after reading "A Closer Look at How Ruby Object Mapper Works"), and i think the github adapter is a really interesting idea.
22:33
<
abe >
i've got a gem that scrapes a website and returns things like Product, Category, Manufacturer, etc. that i would like to write a ROM adapter for. however, there are different rules for parsing the raw HTML depending on if it's a product, category, etc., as well as different URLs to be accessed depending on if i do Product.find('foo') or Category.find('foo').
22:34
<
abe >
at what level in ROM should i be handling these differences? at first i thought a ProductMapper, CategoryMapper, etc. is where this logic should go. however, with the URL differences it looks like i might need a separate Gateway for each object? maybe a combination of these things?
23:29
snusnu has joined #rom-rb