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
dkubb has quit [Quit: Leaving...]
dkubb has joined #rom-rb
postmodern has joined #rom-rb
dkubb has quit [Quit: Leaving...]
dkubb has joined #rom-rb
mbj has joined #rom-rb
mbj_ has joined #rom-rb
mbj_ has quit [Ping timeout: 264 seconds]
mbj has quit [Ping timeout: 248 seconds]
jdsiegel has quit [Read error: Operation timed out]
jdsiegel has joined #rom-rb
dkubb has quit [Quit: Linkinus - http://linkinus.com]
CraigBuchek has quit [Quit: CraigBuchek]
mkristian has joined #rom-rb
knowtheory has quit [Ping timeout: 264 seconds]
dkubb has joined #rom-rb
kleech has joined #rom-rb
postmodern has quit [Quit: Leaving]
postmodern has joined #rom-rb
mbj has joined #rom-rb
<mbj> hi
skade has joined #rom-rb
mbj has quit [Ping timeout: 256 seconds]
franckverrot has joined #rom-rb
knowtheory has joined #rom-rb
<mkristian> hi, virtus does not support ruby 1.8 anymore - I am just about to move from 0.5.X to 1.0.0.betaX
mbj has joined #rom-rb
mbj has quit [Ping timeout: 245 seconds]
cored has joined #rom-rb
zekefast has joined #rom-rb
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #rom-rb
skade has quit [Ping timeout: 245 seconds]
breakingthings has joined #rom-rb
CraigBuchek has joined #rom-rb
postmodern has quit [Quit: Leaving]
cored has quit [Ping timeout: 272 seconds]
mkristian has quit [Ping timeout: 268 seconds]
cored has joined #rom-rb
mkristian has joined #rom-rb
bf4 has quit [Quit: leaving]
skade has joined #rom-rb
irclogger__ has quit [Remote host closed the connection]
zekefast has quit [Ping timeout: 245 seconds]
zekefast has joined #rom-rb
kleech has quit [Remote host closed the connection]
<dkubb> mkristian: right, virtus support for 1.8 was removed when it was EOL'd
<mkristian> dkubb, ok - time to accept the fact ;)
<dkubb> mkristian: yeah I was a hold out for 1.8 support too ;)
kleech has joined #rom-rb
irclogger__ has joined #rom-rb
irclogger__ has quit [Remote host closed the connection]
irclogger__ has joined #rom-rb
mkristian has quit [Ping timeout: 248 seconds]
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #rom-rb
skade has quit [Client Quit]
breakingthings has quit []
breakingthings has joined #rom-rb
knowtheory has quit [Quit: Computer has gone to sleep]
knowtheory has joined #rom-rb
knowtheory has quit [Ping timeout: 240 seconds]
knowtheory has joined #rom-rb
mkristian has joined #rom-rb
kleech has quit [Remote host closed the connection]
cored has quit [Ping timeout: 245 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
bf4 has joined #rom-rb
bf4 has quit [Client Quit]
bf4 has joined #rom-rb
mkristian has quit [Ping timeout: 260 seconds]
revans has joined #rom-rb
mbj has joined #rom-rb
knowtheory has quit [Read error: Operation timed out]
zekefast has quit [Quit: Leaving.]
revans has quit [Quit: revans]
knowtheory has joined #rom-rb
<dkubb> mbj: good morning
<mbj> dkubb: hola!
<mbj> dkubb: I'm "back" ;)
<dkubb> mbj: how is your daughter doing?
<mbj> dkubb: Back in sense of "in deterministic time management" ;)
<mbj> dkubb: Much better!
<dkubb> mbj: good to hear
<mbj> dkubb: She got a vacacination days before our flight, and once we arrived some of the side-effects occured :(
<mbj> *vaccination
<dkubb> ahh yeash
<dkubb> I've had flu shots and then not felt very good for a while
<dkubb> I try to get that stuff on Friday so I can recover over the weekend
<mbj> dkubb: heh
<mbj> dkubb: Kenya is a nice location for coding, apart internet problems I plan to fix soon.
<mbj> dkubb: They have a very good WiMax network, I could enjoy it for exactly 30min.
<mbj> dkubb: Tomorrow I'll buy a new modem (my child killed the one I bought today via accident)
kleech has joined #rom-rb
<mbj> dkubb: I'm sitting in the 3rd floor of a nice appartment, staring into the (now dark) wilderness of kenya.
<mbj> dkubb: And 500m in line of sight there is a microwave tower for that wifi ;)
<mbj> dkubb: s/wifi/Wimax/
<mbj> dkubb: BTW I totally forgot: Wish you the best for your health!
<dkubb> mbj: thanks, you too!
<mbj> dkubb: BTW that xspec spec thing I'm playing around with will work soon.
<dkubb> haha
<dkubb> mbj: what kinds of properties will it have?
<mbj> dkubb: 1rst a good domain model for tests ;)
<mbj> dkubb: Not a BIG-FAT instance_exec(&@some_stored_block) implementation like rspec.
<mbj> dkubb: An rspec like DSL
<mbj> dkubb: immutable world! (can be reused in mutant, no need to fork for that reason)
<dkubb> mbj: threaded by default?
<mbj> dkubb: So mutant could "scan" the mutated code for global state writes and dont fork for these cases.
<mbj> dkubb: Currently not threaded, but would be easy to add.
<mbj> dkubb: It has a good domain model, so it is easy to add concurrency of any kind ;)
<dkubb> yeah, I think if it's done as soon as possible and built from the ground up to work well on rbx and jruby that would be nice
<mbj> dkubb: Yeah
<mbj> dkubb: Most impotantly that domain model (the object layer in my xspec thing) has cood support for invariant import.
<mbj> cood => good
<mbj> Dunnow how I'll present this in the DSL.
<mbj> Currently working on a solid reporter, once it works I'll push in repo.
knowtheory has quit [Ping timeout: 260 seconds]
cored has quit [Ping timeout: 252 seconds]
knowtheory has joined #rom-rb
<dkubb> very cool
<mbj> dkubb: Ideally I can write an rspec compatible dsl, load all invariants
<dkubb> as far as DSL interfaces, I much prefer Rspec 3's expect() and allow() syntax. there's probably much less magic involved
<mbj> dkubb: And dump in my spec format ;)
<mbj> dkubb: yeah
<dkubb> there are serious concurrency issues in rspec though. even in rspec-mocks
<dkubb> you basically cannot use a mock in threaded code
<dkubb> because it sets some ivars lazily on first use
<mbj> Yeah, they do to much with global state.
<dkubb> nice immutable, fully formed objects will be nice
<mbj> exactly
<mbj> Get the foundation correct
<dkubb> if you have to do memoization, then use Adamantium's memoize, which should be thread safe
<dkubb> since it is based on ThreadSafe::Hash
<dkubb> mbj: btw, did you see the discussion here: http://irclog.whitequark.org/rom-rb/2013-10-23#1382541954-1382543750
<mbj> yeah
<dkubb> I think it's slightly off, I wouldnt want to use objects exactly that way, but I think it could be done with immutable models
zekefast has joined #rom-rb
<dkubb> only when you have command methods that change state you return a new model instance
<mbj> I plany to do "only" immutable models.
<dkubb> and when you tell the ROM session to update you can give it the original and new object
<mbj> With dirty detection, via comparing dumped state.
<dkubb> then you have the model responsible for state and behaviour, and ROM responsible for persistence, which is inline with nice OO principles
<dkubb> yeah
<mbj> You dont need the original if rom-session knows the dumped (db side representation) - state of the domain object.
<dkubb> you could also do it where the immutable object knows the original state and can return that when asked.. so the original "key" can be known by ROM
<mbj> rom-session only needs to know how to identify that dumped state.
<mbj> dkubb: That was my mbj-session ;)
<mbj> dkubb: EXACTLY that.
<dkubb> if the state changed and the key changed you'd need to know the original
<dkubb> normally the key doesn't change if you use a surrogate identifier, but if your identifier is based on natural information (like a natural key) then you need to track original state
<dkubb> you need to track it somewhere
<mbj> dkubb: okay. But I expected the key does not change.
<mbj> You need 2 keys, a db-side and a "session-side".
<dkubb> yeah, most of the time it doesn't. we *could* make it a requiremewnt
<mbj> Normally these 2 can be the same.
<dkubb> I'm not a huge fan of an object *having* to carry around anything more than it's natural data
<mbj> Yeah
<mbj> You ever saw the interface of mbj-session?
<mbj> I'll finish my non session work, than come back to session and make it work again for my use case.
<mbj> If it works with immutable objects it can also work with mutable ones.
<dkubb> yeah I've seen it, but I don't remember specifics
<dkubb> I just remember it was simple and clean
<mbj> session = somehow_build_it
<mbj> session.sync(some_object_that_wasnt_known_before_but_is_mapplable)
<mbj> # would be translated to an insert
<mbj> session.delete(some_known_object)
<mbj> # would be translated to an delete
<mbj> object = session.load(ModelClass, some_db_side_representation) # load would be called by rom-relation
<mbj> new_object = object.mutated_copy(some_attributes)
<mbj> session.sync(new_object) # would be translated to an update.
<mbj> The update operation was emitted as Operator::Update, where #old_dump and #new_dump are available.
<mbj> So the driver (axiom) would get full old and new tuples, so "exact" updates could be generated.
<dkubb> mbj: this works when the identifier does not change, right?
<dkubb> we could possibly have session#sync(object, original_object = object) too
<dkubb> then you can specify the original if the identifier changes
<mbj> dkubb: Yeah
<mbj> dkubb: Would have been easy to add!
zekefast has quit [Quit: Leaving.]
<dkubb> we should do an evaluation of mbj-session and rom-session side by side
mbj has quit [Ping timeout: 272 seconds]
cored has joined #rom-rb
cored has quit [Changing host]
cored has joined #rom-rb
zekefast has joined #rom-rb
lgierth has joined #rom-rb
cored has quit [Ping timeout: 252 seconds]
kleech has quit [Remote host closed the connection]
kleech has joined #rom-rb
breakingthings has quit []
knowtheory has quit [Ping timeout: 260 seconds]
skade has joined #rom-rb
bf4 has quit [Read error: Connection reset by peer]
bf4 has joined #rom-rb
knowtheory has joined #rom-rb
irclogger__ has quit [Ping timeout: 252 seconds]
bf4 has quit [Ping timeout: 240 seconds]
postmodern has joined #rom-rb
irclogger__ has joined #rom-rb
bf4 has joined #rom-rb
irclogger__ has quit [Ping timeout: 260 seconds]
bf4 has quit [Ping timeout: 272 seconds]
kleech has quit [Remote host closed the connection]
skade has quit [Quit: Computer has gone to sleep.]