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
<sferik> I would also like a 1.8-compatible version of adamantium
<mbj> So I had talked to dkubb and we both agreed we'd support a workaround. But we both disliked merging back 1.8 to master.
<mbj> Mostly because of the uncovered mutations in 1.9+
<sferik> especially now that I know about shallow freezing with Adamantium::Flat
<mbj> heh
<sferik> seriously, I'd like to freeze all Twitter objects
<sferik> I was really close to releasing it in version 5.0.0
<sferik> I wish we had talked before then
<mbj> I used to improve a rest client (and twitter gem is probably one also) performance by 10 times moving from deep to shallow freeze.
<mbj> sferik: What if you "only" vendor the monkey patches to support 1.8 in your twitter gem?
<sferik> but how will I know when things break?
<mbj> sferik: You could run the equalizer specs with this monkey patch loaded.
<sferik> when?
<sferik> nightly?
<mbj> sferik: your twitter gems ci run.
<sferik> so, I specified a dependency on equalizer ~> 0.0.7
<mbj> sferik: It should be possible to clone equalizer, monkey patch it, add a non devtools inspected spec_helper to the tree.
<sferik> but the breaking change happened in 0.0.8
<mbj> I think the root failure was: We did not announted 1.8.7 is not supported.
snusnu has joined #rom-rb
<mbj> We should have used that gemspec setting.
<sferik> so users who "bundle update" or "gem update" started seeing breakages between twitter releases
<sferik> and they come to me, since they think twitter is broken, not equalizer
<mbj> First action to take: Explicitly mark compatiblity.
<mbj> sferik: moment, I have an idea!
<mbj> sferik: What if we release a second version that is explicitly marked as 1.8.7 supported via the gemspec.
<mbj> We'd have 0.0.8 (1.9+) and 0.0.8.1 (1.8 only via gemspec).
<mbj> 0.0.8.1 would be released from the 1.8 branch.
<mbj> bundle (under 1.8) would see both versions, but pick the 0.0.8.1
CraigBuchek has quit [Quit: Leaving.]
<mbj> bundle (under 1.9) would see both versions, but pick the 0.0.8
<sferik> I don't think that would behave the way you want it to
<sferik> bundler/rubygems is not so smart about minimum_ruby_version
<mbj> Isnt there a required ruby version setting in the gemspec.
<sferik> or rather, required_ruby_version
<sferik> yes, but bundler and rubygems don't use it the way they should
<sferik> for example, if you had 0.0.8 with no required_ruby_version specified
<sferik> and 0.0.8.1 with required_ruby_version = "= 1.8.7"
<mbj> 0.0.8 would have required_ruby_version with ">= 1.9.2"
<sferik> "gem install equalizer" would fail on all ruby versions that weren't 1.8.7
<sferik> still wouldn't work
<sferik> do you have Ruby 1.8.7 installed on your machine?
<mbj> no
<sferik> or 1.9.2, even?
<mbj> 1.9.3 ;)
<mbj> and other 1.9+ stuff
<sferik> you're making me feel old
* sferik feels old
<mbj> ruby-head, rbx-head, jruby-head, jruby-1.7.8, ....
<mbj> All > 1.9.2 rubies.
<mbj> sferik: I need to go to sleep.
<mbj> sferik: This one reads exactly as what we'd need: http://guides.rubygems.org/specification-reference/#required_ruby_version=
<sferik> okay...before you can, can you try installing 1.9.2 or 1.8.7 on your machine
<mbj> Cant I simulate this via 1.9.3 vs 2.0.0 ?
<sferik> i just want you to see the user experience of trying to install a gem with a required_ruby_version
<sferik> are there any gems that require >= 2.0.0
<sferik> basically, it looks like this
<sferik> hold on, I'll take a screenshot
<mbj> sferik: My wife is about to kill me ;)
<sferik> okay, go
<sferik> don't die
<sferik> we'll talk later
<mbj> sferik: I'll try tomorrow.
<sferik> sounds good
<mbj> sferik: I totally trust you its not a solution. But I wanna see it.
<sferik> GO!
<mbj> Because it would be so nice to have two versions of a gem.
<sferik> SHE'S GOING TO KILL YOU
<mbj> hahah
<mbj> cu
mbj has quit [Quit: leaving]
<sferik> laterz
bf4 has joined #rom-rb
bf4 has quit [Ping timeout: 248 seconds]
<sferik> there are obviously versions of activesupport that satisfy this dependency but they won't install
sferik has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
lfox has joined #rom-rb
skade has quit [Quit: Computer has gone to sleep.]
dkubb has joined #rom-rb
Eiam has quit [Ping timeout: 260 seconds]
jgaskins has quit [Quit: This computer has gone to sleep]
jgaskins has joined #rom-rb
bf4 has joined #rom-rb
bf4 has quit [Ping timeout: 246 seconds]
cored has quit [Ping timeout: 246 seconds]
lfox has quit [Quit: ZZZzzz…]
indrek has quit [Ping timeout: 260 seconds]
indrek has joined #rom-rb
snusnu has quit [Quit: Leaving.]
lfox has joined #rom-rb
bf4 has joined #rom-rb
lgierth has quit [Quit: Ex-Chat]
bf4 has quit [Ping timeout: 246 seconds]
lfox has quit [Quit: ZZZzzz…]
jgaskins has quit [Quit: Leaving]
skade has joined #rom-rb
skade has quit [Quit: Textual IRC Client: www.textualapp.com]
cored has joined #rom-rb
snusnu has joined #rom-rb
sferik has joined #rom-rb
sferik has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
snusnu has quit [Quit: Leaving.]
snusnu has joined #rom-rb
postmodern has quit [Quit: Leaving]
sferik has joined #rom-rb
snusnu has quit [Quit: Leaving.]
snusnu has joined #rom-rb
snusnu has quit [Quit: Leaving.]
snusnu has joined #rom-rb
breakingthings has joined #rom-rb
jgaskins has joined #rom-rb
snusnu has quit [Quit: Leaving.]
sferik has quit [Quit: Textual IRC Client: www.textualapp.com]
snusnu has joined #rom-rb
<cored> morning all
breakingthings has quit [Ping timeout: 246 seconds]
breakingthings has joined #rom-rb
namelessjon has quit [Ping timeout: 246 seconds]
namelessjon has joined #rom-rb
jgaskins has quit [Ping timeout: 246 seconds]
jgaskins has joined #rom-rb
CraigBuchek has joined #rom-rb
mkristian has joined #rom-rb
bf4 has joined #rom-rb
snusnu1 has joined #rom-rb
snusnu has quit [Ping timeout: 246 seconds]
snusnu1 has quit [Client Quit]
snusnu has joined #rom-rb
mkristian_ has joined #rom-rb
mkristian has quit [Ping timeout: 272 seconds]
lfox has joined #rom-rb
vsorlov has joined #rom-rb
mkristian__ has joined #rom-rb
mkristian_ has quit [Ping timeout: 272 seconds]
mkristian_ has joined #rom-rb
mkristian__ has quit [Ping timeout: 248 seconds]
snusnu has quit [Quit: Leaving.]
snusnu has joined #rom-rb
mbj has joined #rom-rb
<mbj> dkubb, snusnu: Hola.
<snusnu> mbj: yo
<snusnu> mbj: i've quickly skimmed over the 1.8 debate, i've no strong opinion, apart from the *condition* from my side, that i will never ever again, repeat *never ever again* fix any code for 1.8 compat
<snusnu> if someone else (sferik) wants to manage that, i'm fine with it .. i will certainly not run any tests on 1.8 tho, for any gem related to rom
<snusnu> and i will not fix breakage i may have introduced
<snusnu> mbj: to iterate on the no strong opinion, sorry if that may sound rude, but i'm not at all interested in thinking up solutions even
<snusnu> dkubb: ^^
lfox has quit [Quit: ZZZzzz…]
Eiam has joined #rom-rb
dkubb|away has joined #rom-rb
<dkubb|away> snusnu: yeah, I'm trying to think of a solution that'll work like that
<dkubb|away> snusnu: one solution I have is to release the support gems like equalizer as 1.0 and 2.0 .. the 1.0 would retain 1.8 compat, while 2.0 would be 1.9.3+ .. I would maintain the 2.0 gems in the master branch, and someone else would backport to the ruby-1.8.7 branch and release the 1.x gems from there
<snusnu> dkubb: yeah, imo that should be guaranteed, no dev impact on any of us (well, i can only talk about me of course)
<snusnu> dkubb: that might work yeah, but (again sorry), as i already said, i don't even wanna spend brain cycles on what might or might not work
<dkubb|away> no worries
<snusnu> 1.8 is dead as it should be, if people need it, they should take care of it
dkubb has quit [Ping timeout: 252 seconds]
dkubb|away is now known as dkubb
<dkubb> snusnu: no worries, I also don't want to spend too much time. I'm just trying to help someone out with their problem.
<snusnu> dkubb: yeah, i totally respect that
<snusnu> dkubb: i just wanted to drop my 2cents as mbj pinged me about it recently
<snusnu> dkubb: i got sick during the weekend tho, hence i'm lagging behind a bit
<dkubb> that sucks
<dkubb> I always get sick on boxing day, so I'm just waiting for that
<snusnu> heh, don't think about it too much, self fulfilling prophecies u know … ;)
<dkubb> heh, it's been the same for years. I don't get it
<snusnu> damnit
<dkubb> I have this theory that stress keeps me healthy, and then when the stress lets up after Christmas, then my body relaxes and I get sick
lfox has joined #rom-rb
<snusnu> i've heard many people say that already, and i've actually seen a lot of people "behaving" like that too
<snusnu> work, healthy, holiday, sick
<snusnu> sad thing
<dkubb> I love Christmas, but it's also a really busy time of year
<snusnu> ...
<snusnu> yeah
<snusnu> so, fingers crossed you'll break your rule this year ;)
<dkubb> haha, I hope so
breakingthings has quit []
mkristian__ has joined #rom-rb
mkristian_ has quit [Ping timeout: 272 seconds]
jgaskins has quit [Quit: Leaving]
<mbj> dkubb: I like that versioning idea!
<mbj> dkubb: So lets to better: 0.x.x is 1.8 while 1.x.x is >= 1.9
<mbj> dkubb: Its time we move all this stuff to 1.x
<dkubb> mbj: yeah, then we can use strong ruby versions in the gemspec and then just tell people to specify their versions to select the best one
<dkubb> that's a good idea actually
<mbj> dkubb: So actually dont "cheat"
<dkubb> then it'll be clear that the 1.8 stuff is on it's way out
<mbj> dkubb: I'd totally support this.
<mbj> dkubb: Nice. I think this will work.
<dkubb> we could have it so 0.9 is 1.8.7, and 1.0 is 1.9.3 (or maybe 2.0)
<mbj> dkubb: We'll ask sferik to work on that 0.9 branches
<mbj> dkubb: And we could add him as owner to rubygems, as long he never pushes anything in the 1.0 version space, we'll never notice!
<dkubb> yeah, 0.9 may lag a bit, but that' ok
<mbj> dkubb: And if someone complains about his 0.9 work, we'll say, look at the 1.x version the newest version ;)
<dkubb> other gems, like spree, often maintain several generations of rubygems, and stuff is committed to master first and then backported
<mbj> Yeah
<mbj> But directly go to 2.0 for post 18 is IMHO not needed.
<mbj> That 0 in front of the 1.8 versions is also a good sign ;)
<mbj> dkubb, snusnu: Should we ack in this idea and tell sferik?
<dkubb> mbj: the rule will probably be that all commits happen on master, and *only* 1.8 specific compatibility commits happen in the 0-9-stable branch
<mbj> dkubb: yeah
<mbj> devtools does not need to be ported at all.
mkristian_ has joined #rom-rb
<dkubb> both versions must be api compatible so that upgrading between them is seamless
<dkubb> tis policy will also ensure they have the same specs, other than maybe small syntax differences
<mbj> dkubb: Yeah, but as we officiall do not support 0.9 I'd not be angry if 0.9 breaks like hell (even while I trust sferik to do his job well).
<dkubb> I'm sure it will if we use travis
<dkubb> 0.9 will just lag a bit, that's all
<mbj> dkubb: I'd just push this solution. snsnusnu already agreed as "not interested", I think solnic will also.
<dkubb> I'd still have the same level of quality requirements
<mbj> No need to delay a decision. To finish this discussion.
<snusnu> fine with me
<dkubb> yeah, I'll ping sferik. he's alread volunteered to maintain 1.8.7 compat
<mbj> dkubb: Be sure to link this discussion.
<mbj> dkubb: BTW I'll release mutant 0.3.0 this evening.
<mbj> And than start to do some interesting 0.4 features ;)
<dkubb> cool
<mbj> I wanna have a more flexible test selection.
mkristian_ has quit [Client Quit]
<mbj> For stuff like unparser where only the base class exposes public interface the current strategy is to limiting.
mkristian__ has quit [Ping timeout: 272 seconds]
<mbj> Because mutations in child classes must be chilled from child classes, while public interface is defined in parend class.
<mbj> Same for the mutation emitter of mutant.
<mbj> The SQL unparser we have to build.
<mbj> ETC
<mbj> gonna move home, cu
mbj has quit [Quit: leaving]
dkubb has quit [Quit: Linkinus - http://linkinus.com]
dkubb has joined #rom-rb
lfox has quit [Ping timeout: 260 seconds]
mbj has joined #rom-rb
vsorlov has quit [Ping timeout: 272 seconds]
snusnu has quit [Quit: Leaving.]
mbj has quit [Read error: Operation timed out]
snusnu has joined #rom-rb
mkristian has joined #rom-rb
snusnu1 has joined #rom-rb
snusnu has quit [Ping timeout: 252 seconds]
cored has quit [Ping timeout: 240 seconds]
cored has joined #rom-rb
breakingthings has joined #rom-rb
mbj has joined #rom-rb
lfox has joined #rom-rb
snusnu1 has quit [Quit: Leaving.]
postmodern has joined #rom-rb
breakingthings has quit []
lfox has quit [Quit: ZZZzzz…]
lfox has joined #rom-rb
CraigBuchek has quit [Quit: Leaving.]
mkristian has quit [Quit: bye]
breakingthings has joined #rom-rb
breakingthings has quit []
mbj has quit [Quit: leaving]
bf4 has quit [Read error: Operation timed out]
lfox has quit [Quit: ZZZzzz…]