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
mbj has quit [Ping timeout: 240 seconds]
knowtheory has quit [Quit: Computer has gone to sleep]
cored has quit [Ping timeout: 245 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
cored has quit [Ping timeout: 248 seconds]
jfredett has joined #rom-rb
knowtheory has joined #rom-rb
knowtheory has quit [Quit: Computer has gone to sleep]
jfredett has quit [Quit: Leaving.]
snusnu has quit [Quit: Leaving.]
postmodern has quit [Quit: Leaving]
trejs has joined #rom-rb
trejs is now known as joakimk
postmodern has joined #rom-rb
dkubb has quit [Quit: Linkinus - http://linkinus.com]
postmodern has quit [Quit: Leaving]
teddy_ has joined #rom-rb
teddy_ has left #rom-rb [#rom-rb]
skade has quit [Quit: Computer has gone to sleep.]
namelessjon has joined #rom-rb
namelessjon_ has quit [Ping timeout: 245 seconds]
travis-ci has joined #rom-rb
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/ice_nine/builds/11541862
<travis-ci> [travis-ci] dkubb/ice_nine#113 (master - ef2e91e : Dan Kubb): The build was broken.
travis-ci has joined #rom-rb
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] dkubb/ice_nine#114 (master - 64d5a7a : Dan Kubb): The build was broken.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/ice_nine/builds/11542026
skade has joined #rom-rb
postmodern has joined #rom-rb
skade has quit [Quit: Computer has gone to sleep.]
knowtheory has joined #rom-rb
skade has joined #rom-rb
snusnu has joined #rom-rb
postmodern has quit [Quit: Leaving]
cored has joined #rom-rb
snusnu has quit [Quit: Leaving.]
breakingthings has joined #rom-rb
snusnu has joined #rom-rb
<snusnu> yo solnic
<snusnu> if i were to write code that dumps/loads memory-adapter content to/from a yaml/json file .. where would i put it?
<solnic> snusnu: you would use a yaml adapter :P
<solnic> snusnu: because effectively when using yaml adapter you’re loading everything into memory
<snusnu> solnic: sry, bbias
<solnic> kk
<snusnu> solnic: how does the current yaml adapter work? is stuff being written to disk on #insert,… ?
<snusnu> solnic: cause i don't want/need that
<snusnu> i want to setup a dev/test env, where i all i care about is that it's fast
<snusnu> and i want to have seed data, and not loose user entered data between app reboots
<snusnu> i guess, really, my intention is to use the memory-adapter (the reference adapter) and "fake" persistence to ease dev experience a bit
jfredett has joined #rom-rb
<cored> hello
<cored> solnic: something that you said yesterday got me thinking
<cored> solnic: you said that you don't TDD Rails apps, so how do you approach testing ?
knowtheory has quit [Ping timeout: 248 seconds]
<solnic> cored: I partially TDD when I work on rails apps
<solnic> cored: I can’t imagine to TDD everything in a rails app because things are so slow
<solnic> I also often prototype features by writing high-level acceptance specs but that’s more test-first kind of thing
<cored> solnic: I see
<snusnu> solnic: got my point?
<solnic> snusnu: sorry, yes
<solnic> snusnu: you need something external then to dump memory into yaml
<snusnu> solnic: right
<snusnu> solnic: it's no biggie, i'm just wondering if i should stick it inside my app, write a gem for me, or write a gem for rom-rb
<snusnu> solnic: which probably leaves me with starting out inside my app :)
<solnic> snusnu: you can’t stick it into adapter if you want to have it on demand
<solnic> because as you said, you want to use memory store and dump to yaml only when you want
<solnic> explicitly
<solnic> snusnu: in other news, I just finished mutcovering virtus after axiom-types integration
<snusnu> solnic: yeah, i'm guessing it's really for a rather specific usecase (that btw, i see myself running into quite often) .. it seems to me to be good practice to develop against memory-adapter, and have that bit of persistence to be able to do presentations of the app under dev for example
<snusnu> solnic: awesome!
<solnic> not 100% but it’s because those few alive mutations are not relevant
<snusnu> solnic: also, my app is designed in a way, that when running in dev environment, it uses memory-adapter only, for speed reasons .. also, i do that in test env obviously
<snusnu> solnic: then as we know, ignore them ;)
<solnic> yeah, mutating warning messages for example
<snusnu> :)
<solnic> actually, no, there are some mutations alive that I kinda want to kill eventually - all are about removing calls to super in inherited/extended/included hooks
knowtheory has joined #rom-rb
<solnic> but no time to kill them now, need to move forward with this
<snusnu> fair enough
<solnic> I will make sure nobody will remove those SUPER calls for now :P
<snusnu> lol
<solnic> but I must say mutant found at least 8 bugs today
<solnic> so I’m happy
<snusnu> sweet
<solnic> a also improved stuff as I was improving tests and killing suckers
<snusnu> solnic: btw, i've listened to the rr episode and you did a great job!
<solnic> shit, really?
<solnic> I’m scared to listen to it lol
<solnic> I’ve read the transcript and was like “*FACEPALM* geeez I talk like a moron"
<snusnu> solnic: heh, no really, i found it to the point and really ok!
<solnic> fighting stress when speaking in english is hard, esp when you now they are RECORDING you
<snusnu> solnic: there's so much things to mention, it's really hard to stay focused and not wander off, you did a good job at that
<snusnu> solnic: heh, i can imagine
<solnic> yes, I was so worried about loosing focus on going astray with the discussion subject
<snusnu> solnic: that said, i'm sure that we could fill another episode at some point, mentioning more of the stuff you (rightfully) left out
<solnic> yes, just need to make shit more useful :)
<snusnu> solnic: yeah :)
<solnic> holy crap
<solnic> Showing 196 changed files with 1,895 additions and 4,388 deletions.
<snusnu> now that's the kind of diff we like :)
<solnic> 2493 LOC removed
<solnic> almost 2.5k LOC removed
<snusnu> nice
<solnic> that’s more than 2k
<snusnu> lol
<solnic> and less than 2.5k
<snusnu> it is
<solnic> that’s a shit load of LCOs
<solnic> LOCs even
<snusnu> !
<solnic> now the funny part - it has better functionality, it’s simpler and I fixed some bugs
<snusnu> the way it should be .. congrats!
<solnic> now I’m gonna run reek just for fun
<snusnu> heh
<solnic> even though I already now what it’s gonna say
<snusnu> btw, i really want reek to scream at me if the config contains reference to stuff that doesn't exist anymore
<solnic> oops
<solnic> my config is obsolete
<solnic> not working with latest reek
<solnic> heh
<snusnu> heh
<solnic> I think I’m gonna stop using it
<solnic> ;)
<snusnu> hehe
<solnic> I really think mutant is becoming the only tool that makes sense to me
<solnic> the rest is just annoying
<solnic> class Foo has more LOCs that the max threshold
<solnic> so what
<snusnu> fwiw, i still think reek provides me with enough value to keep on using it … i still miss a few things, and if i don't have something that reminds me, i forget them
<snusnu> lol that's a silly metric
<solnic> it works, I understand the code, I’ve got everything in one place, it’s easy to grasp it
<solnic> I’ve got a gigantic Builder class in Virtus now
<solnic> it sucks, I hate it, but I’m gonna push it because a) it works b) it works c) it works
<snusnu> go for it
<solnic> I’m sure I’ll refactor it at some point but getting this stuff working was HARD
<solnic> virtus supports a rather neat syntax with Array[String] and all that stuff
<snusnu> yeah dude, time to celebrate, refactoring can come later
<solnic> totally
<snusnu> solnic: btw, when i listened to the rr episode yesterday, i smiled, especially when the conversation moved towards (early) input sanitization/validation .. the stuff possible with mbj's libs like vanguard/ducktrap .. along with the design "promoted" with substation/subway .. allows for an insanely clean separation of that kind of logic
<snusnu> solnic: i also think that eventually, i won't need anything like form objects at all
<solnic> snusnu: we use virtus in gitorious with a library called use_case
<snusnu> solnic: iirc that's the one that more or less does what the very first version of substation did
<solnic> how about adding support for % threshold to mutant config?
<snusnu> that'd involve adding config file support for mutant i guess, but yeah, should be done
<solnic> snusnu: we could have it in the cli
dkubb has joined #rom-rb
<solnic> —threshold 97.16% :)
<snusnu> solnic: as a start, yes
<solnic> cause that’s the current status of virtus
<snusnu> hah, why did i think that this is the case … :)
<dkubb> good morning
<solnic> oops sorry 96.16%
<snusnu> hey dkubb
<solnic> morning dkubb
<solnic> dkubb: sorry for bothering you in the morning but can you fix that axiom-types issue? :)
<solnic> I’m wrapping up the refactor so would be cool if that was fixed
<dkubb> solnic: I can look at it tonight
<solnic> it’s no buggy since I’ve got a workaround in place
<solnic> biggy
<solnic> auto-correction gah :P
<solnic> or is it biggie? O_o
<solnic> nevermind
<solnic> cool thanks
<solnic> lol just saw perf diff in new IceNine :D
<solnic> that’s like over 9k x faster
<snusnu> ? srsly? 9k times?
<solnic> no O_o
<snusnu> lol ok
<solnic> look at those numbers
<dkubb> yeah, misfo rocked that one
<solnic> 2955 less lines of tests in virtus now. most mutations are killed (all significant ones). I’m really curious to know if I introduced some regressions
<dkubb> solnic: did you refactor the interface? if not then you could always pull out your old tests and run them against the code
<solnic> I left old integration tests untouched
<solnic> interface didn’t change
<solnic> running prev unit tests against refactored codebase will produce million of failures
<solnic> because internals changed
<solnic> like, attribute.new accepts type and options now
<solnic> vs name, type and options
<solnic> so internal interface changed
<dkubb> right
<solnic> mutant rocked btw
<dkubb> are you going to do a few rounds of rcs before 1.0?
<solnic> found many bugs today
<solnic> helped me cleaning up stuff
<solnic> I noticed things that I could simplify or even remove completely
<solnic> amazing stuff
<solnic> dkubb: yeah I plan at least one more beta, then rc then final
<solnic> I hope people aren’t relying on the attribute subclass hierarchy
<solnic> if they are, I will just add it back but those would be empty classes
<solnic> no options no custom behavior
<solnic> I guess I should add back prev interface for creating attributes too with a deprecation warning
<solnic> should be easy to do
<solnic> people are actually building attribute instances “manually” so now it would not work for them
<dkubb> you could also start documenting those classes using @private
<solnic> we’ll see if I need to add them back
<solnic> maybe people won’t care ;)
<solnic> dkubb: is it intentional that Axiom::Types::Boolean.primitive is BasicObject?
<dkubb> solnic: I believe so, because it's one of the few cases where there are multiple primitives that map to the type
<solnic> hmm ok
<dkubb> solnic: if I recall, it's #include? method does handle instance of TrueClass and FalseClass
<dkubb> #primitive isn't really a good abstraction in those situations
<solnic> I’ve got a small edge case now that if you do Attribute.build(Axiom::Types::Boolean) it will not figure out that we want to create Attribute::Boolean instance because of the primitive not being TrueClass
<solnic> but I’m actually wondering if I could just nuke Attribute::Boolean too
<solnic> need to think about this a bit more
<dkubb> oh how I wish there was a Boolean superclass
<dkubb> I've seen cases where people define a Boolean module and mix it into TrueClass and FalseClass, so that they can go: object.kind_of?(Boolean)
<dkubb> the problem with that is naming conflicts
<solnic> yeah I know
<solnic> yeah, I think the final touch in this integration refactor is to get rid of boolean/hash/collection/embedded_value subclasses
<solnic> I’ll do it probably as a second step
<solnic> need to wrap this up, 88 commits already in the PR
<dkubb> yeah, that's a long lived PR
<dkubb> I've begun to break down some of my changes so if the PR gets to a state of equivalent functionality with improved internals, I will think about merging it into master and then open a new PR for the remainder
<dkubb> it's better to think about improves as being a specific direction, rather than an absolute state
<dkubb> *improvements
dkubb has quit [Quit: Linkinus - http://linkinus.com]
<solnic> true
skade has quit [Quit: Computer has gone to sleep.]
snusnu has quit [Quit: Leaving.]
snusnu has joined #rom-rb
skade has joined #rom-rb
mbj has joined #rom-rb
<mbj> hola
cored has quit [Ping timeout: 245 seconds]
skade has quit [Quit: Computer has gone to sleep.]
<solnic> hola mbj
mbj has quit [Ping timeout: 264 seconds]
postmodern has joined #rom-rb
<solnic> snusnu: ROM RR episode is mentioned in today’s RubyWeekly :)
mbj has joined #rom-rb
<postmodern> wow Ruby Rogues did a whole episode on ROM?
<mbj> postmodern: Yeah, we are very excited.
<postmodern> mind blown, can't wait to listen
<mbj> postmodern: I was happy solnic made our point so well. Its not news inside this talk for me.
<mbj> postmodern: But I was happy to see the idea floating :D
<mbj> postmodern: And there was a mutant part!
<solnic> mbj: :)
knowtheory has quit [Quit: Computer has gone to sleep]
jfredett has quit [Quit: Leaving.]
mbj has quit [Ping timeout: 245 seconds]
knowtheory has joined #rom-rb
breakingthings has quit []
bfleischer has joined #rom-rb
knowtheo1y has joined #rom-rb
knowtheory has quit [Ping timeout: 240 seconds]
skade has joined #rom-rb
knowtheory has joined #rom-rb
knowtheo1y has quit [Ping timeout: 256 seconds]
knowtheo1y has joined #rom-rb
knowtheory has quit [Ping timeout: 264 seconds]
jfredett has joined #rom-rb
jfredett has quit [Quit: Leaving.]
jfredett has joined #rom-rb
knowtheo1y has quit [Quit: Computer has gone to sleep]
jfredett has quit [Quit: Leaving.]
knowtheory has joined #rom-rb