Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 11:13
    dilcom commented #375
  • 10:29
    flash-gordon commented #375
  • 10:08
    wuarmin starred dry-rb/dry-configurable
  • 10:02
    dilcom commented #375
  • 10:02
    dilcom commented #375
  • 08:11
    flash-gordon commented #375
  • 07:54
    flash-gordon commented #115
  • 05:40
    wpzero starred dry-rb/dry-monads
  • 05:30
    dilcom opened #375
  • 02:18
    johnmaxwell edited #115
  • 02:18
    johnmaxwell edited #115
  • Dec 08 23:10
    johnmaxwell labeled #115
  • Dec 08 23:10
    johnmaxwell opened #115
  • Dec 07 14:03

    dry-bot on master

    [devtools] config sync (compare)

  • Dec 07 10:01
    Travis dry-rb/dry-view (master) errored (636)
  • Dec 07 09:58
    Travis dry-rb/dry-view (master) errored (635)
  • Dec 07 09:56

    dry-bot on master

    [devtools] config sync (compare)

  • Dec 07 09:56

    dry-bot on master

    [devtools] config sync (compare)

  • Dec 07 09:56

    dry-bot on master

    [devtools] config sync (compare)

  • Dec 07 09:56

    dry-bot on master

    [devtools] config sync (compare)

Piotr Solnica
@solnic
@AMHOL this can be useful for cases where you don’t want to use auto-inject, there is a gem that does exactly that called concord but it is super opinionated and uses a limit of 3 collaborators
btw I wanted to tweak auto-inject to define a constructor with hash as arg (or k/v args maybe)
this way it’s easier to instantiate an object and pass a mock
Andy Holland
@AMHOL
Yeah, sounds good, could use dry-dependencies to define the constructor in auto-inject too
Piotr Solnica
@solnic
yes, that’s a good idea, I thought about this too
@AMHOL ^
Andy Holland
@AMHOL
:)
Piotr Solnica
@solnic
but maybe let’s call it dry-constructor or dry-initialize?
one more thing - I’d like to fork equalizer into dry-equalizer and tweak it a little bit; seems like Dan hasn’t got the time to maintain it and equalizer is heavily used by lots of projects so it’s harder to make changes in it
there’s a weird behavior in equalizer right now where it tries to do Object#coerce which was a design mistake, it goes back to the roots of this library which is axiom gem where this behavior was useful, but as a generalized interface it’s actually causing issues (and makes it slower too)
object equality is pretty fundamental in our style of coding, so I think dry-equalizer would be an awesome addition
Andy Holland
@AMHOL
Yeah, definitely, assuming Dan is OK with that
Could go with either of those, went with dry-dependencies as it adds the dependencies macro
Piotr Solnica
@solnic
@AMHOL I prefer module subclassing, it removes the need for defining new class methods
Andy Holland
@AMHOL
With the dry-dependencies thing?
Piotr Solnica
@solnic
yes
Andy Holland
@AMHOL
So like:
class MyClass
  include Dry::Dependencies[:one, :two, :three]
end
Piotr Solnica
@solnic
right, sth like that
Andy Holland
@AMHOL
Cool, makes sense
I'll change that later
Initialize or Constructor then?
My one concern is that the visibility modifier will look weird with that
class MyClass
  include Dry::Dependencies[:one, :two, :three, visibility: :private]
end
Piotr Solnica
@solnic
include Dry::Dependencies::Private[:one, :two]
Andy Holland
@AMHOL
That could work
Andy Holland
@AMHOL
@solnic, thinking about that interface, it won't work with inheritance
ATM I can do:
class BaseController
  include Dry::Dependencies
  dependencies :app
end
class UsersController < BaseController
  dependencies :repo, :validator #, ...
end
UsersController.new(app, repo, validator)
Andy Holland
@AMHOL
Thinking of changing dry-validator to dry-validation and something like this: https://gist.github.com/AMHOL/fdf0a90292914ad758ec
Would be good to get some opinions though
Andy Holland
@AMHOL
Ahh, that wont work
Piotr Solnica
@solnic
@AMHOL I like dry-validation more :)
@AMHOL I was just looking at roda-flow again, it looks really cool I gotta say, it feels like a nice way of configuring your routing in a way that you simply point which objects are going to handle certain requests and what kind of input they need
Andy Holland
@AMHOL
Cool, me too, will merge it soon
Piotr Solnica
@solnic
I’m only worried that bigger apps will be hard to read due to nested blocks, I wonder how this could be improved
just slicing things into pieces would be enough
btw I’m gonna start working on the book in the upcoming week(s)
Andy Holland
@AMHOL
Yeah, roda already has a plugin for multiple routing blocks :)
Piotr Solnica
@solnic
so I’ll start putting together rodakase
first things I need to figure out is dir/file organization for it
Andy Holland
@AMHOL
Cool, looking forward to seeing what you come up with
Have a look at that repo i gave you access too
Piotr Solnica
@solnic
will do
Andy Holland
@AMHOL
Cool :)
Piotr Solnica
@solnic
I’m thinking about an auto-loading container, where it infers deps from a dir structure
my container has grown into lots of things but it’s Foo.new in 90% of the cases
Andy Holland
@AMHOL
That would be interesting
If we had auto curry we could always new up and then just configure the arguments
Although i guess instantiation isnt always what you want
Piotr Solnica
@solnic
@AMHOL I don’t like two things in roda-flow