solnic changed the topic of #rom-rb to: Ruby Object Mapper | Mailing List: https://groups.google.com/forum/?fromgroups#!forum/rom-rb | Logs: http://irclog.whitequark.org/rom-rb
snusnu has quit [Quit: Leaving.]
postmodern has joined #rom-rb
postmodern has quit [Quit: Leaving]
postmodern has joined #rom-rb
jfredett has joined #rom-rb
jfredett has quit [Quit: Leaving.]
mbj has joined #rom-rb
theCrab has joined #rom-rb
theCrab has quit [Quit: Gone Forever!]
mbj has quit [Quit: leaving]
snusnu has joined #rom-rb
<snusnu> yo solnic
<solnic> hey snusnu
<snusnu> i just removed 18 support from devtools, removing support code for it, plus raising an error when it's invoked under 18
<snusnu> solnic: and what i want to do next, is make the config path it looks for metric config files, configurable
<snusnu> squatting the "config" subdirectory in every project it's used in, is rude
<snusnu> i want my config directory to contain application config, and make devtools look for it's config in my_app/config/devtools
<snusnu> or maybe my_app/metrics even
<snusnu> of course, it would still default to "config", so that all libs will continue working
<solnic> snusnu: oh yeah that was on my list too
<solnic> great
<snusnu> ok good
<snusnu> warrgh damnit .. seems like i need to do another task before i get to devtools ...
<snusnu> anyway, expect that change to be pushed soonish
<solnic> ok :)
<solnic> snusnu: btw I pushed new memory adapter
postmodern has quit [Quit: Leaving]
<solnic> with materialized variables
<snusnu> saw that, nice!
<solnic> snusnu: we also load the adapter support module automatically now
<solnic> no need to require rom/support/adapter/foobar
<solnic> anymore
cored has joined #rom-rb
<snusnu> solnic: nice
<cored> hello all
mbj has joined #rom-rb
<snusnu> mbj: look what i got today: http://pastie.org/pastes/8291308/text
<snusnu> mbj: this happend ONCE and only ONCE, without changing snusnu/cookie code in between
<mbj> snusnu: I had such a report already!
<snusnu> mbj: fwiw, the rfc2822 method gets only added when you require 'time'
<snusnu> mbj: yeah, i remember that
<mbj> unparser/parser are not interested if a method exists or not
<snusnu> yeah i remember that one, maybe it's related, maybe not, dunno
<mbj> I'll try to run mutant in a loop
<mbj> Maybe I need a bountysource/whatever funding to spend 4 weeks on mutant.
<snusnu> dude, if you were to work 4 weeks on mutant, it would mutate the world
<snusnu> :p
<mbj> hah, thx for cudos
<mbj> Its hard to estimate how much time I spend on mutant.
<mbj> You mean I'd create the "world war z" scenario :D
<snusnu> haha
<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
<mbj> snusnu: I'm okay with it.
<snusnu> now it's not shitloads of ||= methods anymore, but shitloads of attr_readers .. which is much better imo
<snusnu> mbj: cool
<mbj> snusnu: We are not using adamantium, so its okay.
<snusnu> yeah
<mbj> snusnu: I count it as "as good as you can do without our stack" :D
<snusnu> you know my stance, even with adamantium i'd prefer it like this
<snusnu> look at #initialize, see the complete initialization code
<mbj> Another thing, all that @ivar = Config::Foo, maybe should go into a loop.
<snusnu> attr_readers from then on
<mbj> It looks so "same" :D
<snusnu> dunno if that would help readability at all, in fact, i doubt it
<snusnu> i like that
<mbj> Maybe some metaprogramming?
<mbj> expose :flay, Config::Flay
<mbj> expose :flog, Conifg::Flog
<snusnu> it's so simple, why complicate
<snusnu> yeah dunno if it's worth it at this point
<snusnu> fwiw, i only cleaned up because i want to introduce configurable config directories
<mbj> and in initializer you do a single: initialize_exposed_modules
<mbj> *loud
<mbj> hah
<mbj> Just thinking out lod.
<mbj> Remember how much mutantions mutant would identify here :D
<mbj> heh
<snusnu> squatting the "config" directory everywhere devtools is used, is rude
<snusnu> haha
<snusnu> well, as i said, i'm not opposed to anything, but please hold off for now, until i pushed the feature i mentioned ;)
<solnic> snusnu: that’s ok, I don’t like ||=
<mbj> snusnu: As I said: I'm okay with this code.
<mbj> Just thinking out loud!
<mbj> Its better than before.
<mbj> snusnu: And the total amount of mutations is now LOWER!
<mbj> snusnu: Total about all mutations in that class!
<mbj> FYI, my slides got 100 views after the tweet! Nice!
lorenzo_ is now known as lorenzo_off
<snusnu> mbj, solnic: btw, at some point we *should* write specs for devtools :p
<snusnu> if only for dogfooding arguments
<solnic> snusnu: be my guest ;)
<snusnu> solnic: ;)
<mbj> snusnu: +1
<mbj> snusnu: Yeah, we moved all the logic out of "untestable rake tasks"
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] Build details : http://travis-ci.org/rom-rb/devtools/builds/10900990
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] rom-rb/devtools#131 (master - 7b61dce : snusnu): The build was broken.
<mbj> snusnu: We now can test devtools. So IMHO it should also be mutation covered.
<snusnu> agreed
<mbj> snusnu: I think we should *consider* to have gem releases of devtools.
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] Build details : http://travis-ci.org/rom-rb/devtools/builds/10901062
<travis-ci> [travis-ci] rom-rb/devtools#132 (master - c49c7a7 : snusnu): The build was broken.
travis-ci has left #rom-rb [#rom-rb]
<snusnu> fwiw, the build should be fixed now
<snusnu> mbj: yeah, i was thinking about that too … the "problem" are the constant Gemfile.devtools updates ...
<snusnu> mbj: maybe devtools:sync could just fetch those from a gist?
<snusnu> mbj: really, it's an artefact that happens to be needed by devtools, it's not part of devtools "code"
<mbj> snusnu: Yeah, good point.
<mbj> snusnu: Maybe we should ship our own version of "bundle update"
<mbj> snusnu: "devtools update" == "devtools sync && bundle update"
<snusnu> mbj: we do that already iirc
<snusnu> or maybe not, there's definitely devtools:sync tho
<snusnu> mbj: fwiw, the #initialize refactoring trashed our flog score
<snusnu> mbj: but really, that's just a symptom of not supporting "excludes" for flog
<mbj> snusnu: that initialize loop I was talking about should help with wlog
<mbj> array_of_config_classes.each do |klass|
<snusnu> mbj: i mentioned that in the commit comment yeah, altho it wouldn't get us back to where we were
<mbj> instance_variable_set(klass.name.split('::').last.downcase, klass.new(self))
<mbj> end
<snusnu> mbj: because of the other assignments
<snusnu> but tbh, i just don't care at all
<mbj> heh
<mbj> agreed
<mbj> I have a bigger problem. Forgot the keys for the coffee place @home :(
<snusnu> the only lesson to learn from that, is that we actually want to be able to exclude stuff from flog
<mbj> s/place/room/
<snusnu> so that one outlier doesn't ruin the threshold for everything else
<mbj> snusnu: Better whitelist!
<mbj> snusnu: If it gets even "worser" I'd like to notice.
<snusnu> yeah, whatever tactics
<snusnu> yeah
<snusnu> mbj: btw, it bugs me that Devtools handles all its work in singleton methods, we should have an instance
<mbj> snusnu: +1
<snusnu> maybe i'll do a refactoring round on it later tonight, after preparing+having a nice dinner :)
<mbj> I'm on the search for a coffee, all doors closed here :(
<mbj> Need to place a machine in my room!
<mbj> Coffee supply is most important!
<snusnu> yeah man, do that
<snusnu> :)
<snusnu> and i'm out
jfredett has joined #rom-rb
snusnu has quit [Quit: Leaving.]
jfredett has quit [Quit: Leaving.]
mbj has quit [Ping timeout: 246 seconds]
mbj has joined #rom-rb
jfredett has joined #rom-rb
jfredett has quit [Quit: Leaving.]
jfredett has joined #rom-rb
jfredett has quit [Client Quit]
mbj has quit [Ping timeout: 245 seconds]
abe has joined #rom-rb
namelessjon has quit [Ping timeout: 268 seconds]
namelessjon has joined #rom-rb
<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.
<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').
<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?
snusnu has joined #rom-rb