chouhoulis has quit [Remote host closed the connection]
Who has joined #bundler
agis-_ has joined #bundler
Pupeno has joined #bundler
Who has quit [Ping timeout: 246 seconds]
agis-_ has quit [Remote host closed the connection]
agis-_ has joined #bundler
Who has joined #bundler
heroux has quit [Ping timeout: 264 seconds]
heroux has joined #bundler
agis-_ has quit [Remote host closed the connection]
agis-_ has joined #bundler
agis-_ has quit [Remote host closed the connection]
houhoulis has joined #bundler
agis-_ has joined #bundler
Who has quit [Ping timeout: 255 seconds]
Who has joined #bundler
chouhoulis has joined #bundler
chouhoulis has quit [Remote host closed the connection]
chouhoulis has joined #bundler
Scrivener has quit [Ping timeout: 244 seconds]
chouhoulis has quit [Remote host closed the connection]
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Who has quit [Quit: Who]
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
houhoulis has quit [Remote host closed the connection]
hotpancakes has joined #bundler
stef1a has joined #bundler
Pupeno has quit [Remote host closed the connection]
Pupeno_ has joined #bundler
hotpancakes has quit []
Pupeno_ has quit [Read error: Connection reset by peer]
Pupeno has joined #bundler
Pupeno has joined #bundler
agis-_ has quit [Remote host closed the connection]
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
agis-_ has joined #bundler
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
Pupeno has joined #bundler
Pupeno has quit [Remote host closed the connection]
agis-_ has quit [Remote host closed the connection]
agis-_ has joined #bundler
agis-_ has quit [Client Quit]
houhoulis has joined #bundler
chouhoulis has joined #bundler
igitoor_ has joined #bundler
igitoor_ has quit [Changing host]
igitoor_ has joined #bundler
halorgium_ has joined #bundler
chouhoulis has quit [*.net *.split]
igitoor has quit [*.net *.split]
halorgium has quit [*.net *.split]
halorgium_ is now known as halorgium
igitoor_ is now known as igitoor
Pupeno has joined #bundler
stef1a has quit [Ping timeout: 252 seconds]
chouhoulis has joined #bundler
krainboltgreene has joined #bundler
<krainboltgreene>
indirect: I forgot there was a bundler channel.
<indirect>
krainboltgreene: ohai
<krainboltgreene>
So I have a rather unique case where this is all contained in a docker instance (even for development), so I have a wide range of network-based hacks to get around this type of issue.
<indirect>
"this type of issue"?
<krainboltgreene>
What I'm calling "independent non-global libraries", eg. all of the rails models in a gem to be shared between app and admin.
<indirect>
so they're in their own repo?
<krainboltgreene>
Basically.
<indirect>
can you use git gems with git locals?
<indirect>
that entire feature is designed to do exactly what you are describing
<krainboltgreene>
Yes, but that still presents the "I have to git push, bundle update gem in order to refresh"
<indirect>
(use a local checkout in dev, use a locked sha in prod)
<indirect>
what do you mean refresh?
<krainboltgreene>
Lets say I change a before_save hook on a model.
<indirect>
so you aren't using git locals
<krainboltgreene>
Okay, sorry, I guess I misunderstood git locals?
<indirect>
you get the same thing as "path, but without editing your gemfile, and the lock automatically updates with new shas when you commit
<krainboltgreene>
Where does bundler store these git repositories locally?
<krainboltgreene>
Anywhere I want it looks like
<indirect>
if you use the git locals config setting, you check out the repo yourself and provide the path
<krainboltgreene>
Interesting.
<indirect>
just restarting your main app will update its lock with the sha of the latest commit to the models gem
<krainboltgreene>
I can write this into my bootstrap script for docker.
<indirect>
so you get locked shas, guaranteed to be the same code in dev and in prod, with a single gemfile and a single lock
<indirect>
but you can work in both repos at the same time
<krainboltgreene>
Clever.
<krainboltgreene>
Hmm, so I guess I have to drop using gemfury.
<indirect>
why?
<indirect>
if you have versioned and released gems, keep using them
<krainboltgreene>
indirect: Because I can't have multiple sources for the same gem?
<krainboltgreene>
Does `bundle config local.` work for non-git(hub) sources?
<indirect>
if you regularly make breaking changes to the API of a gem, I would argue that gem fury is a bad fit :P
<indirect>
no
Pupeno has quit [Remote host closed the connection]
<indirect>
it requires git, because that is the only way to lock to a single commit
<indirect>
as you develop
<krainboltgreene>
Right, that's what I thought.
<indirect>
stable things with well defined interfaces and backwards compatibility go in gems
<krainboltgreene>
Well I mean we might make breaking changes to the API in development, but ship something that doesn't.
<indirect>
unstable or coupled things go in git, so that you can lock to small changes
<krainboltgreene>
For example, I might want to develop my application with a branch of the gem's repository, but use the official release for production.
<krainboltgreene>
I think we'll just have to get rid of gemfury and stick to tag/ref definition.
<indirect>
sure, that works
<indirect>
if it's purely temporary, you can switch the gemfile to git for your feature branch
<indirect>
and keep released gems only in master
<indirect>
but that's maybe more work than it's worth if everything is purely internal
<indirect>
this is where I ask if your company has joined Ruby Together yet :D
<krainboltgreene>
Nope.
<krainboltgreene>
They will now.
<indirect>
yay :)
<indirect>
and definitely let me know if your company has other needs... the point of ruby together is to turn money into useful and stable software, so feedback is super valuable