Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 12 21:34
    flash-gordon commented #376
  • Dec 12 21:34
    flash-gordon labeled #376
  • Dec 12 21:34
    flash-gordon opened #376
  • Dec 12 19:32
    RyanLafferty starred dry-rb/dry-types
  • Dec 12 05:53
    technofreak starred dry-rb/dry-monads
  • Dec 12 00:14
    thekuwayama starred dry-rb/dry-monads
  • Dec 11 09:29
    blasterun starred dry-rb/dry-monads
  • Dec 11 08:34
    flash-gordon closed #115
  • Dec 11 08:34
    flash-gordon commented #115
  • Dec 11 08:31

    flash-gordon on v1.3.3

    (compare)

  • Dec 11 08:30

    flash-gordon on master

    Bump version to 1.3.3 (compare)

  • Dec 11 08:30

    flash-gordon on master

    Update CHANGELOG (compare)

  • Dec 10 23:46
    johnmaxwell commented #116
  • Dec 10 21:54

    flash-gordon on master

    Halt with mutable backtrace Ex… Merge pull request #116 from jo… (compare)

  • Dec 10 21:54
    flash-gordon closed #116
  • Dec 10 21:54
    flash-gordon commented #116
  • Dec 10 21:49
    johnmaxwell commented #116
  • Dec 10 21:47
    johnmaxwell commented #116
  • Dec 10 21:43
    johnmaxwell commented #116
  • Dec 10 21:39
    johnmaxwell commented #116
Vasily Kolesnikov
@v-kolesnikov
I need to know which version of dry-w you used to be more precise.
Just push it and share the link.
Eliav Lavi
@eliav-lavi
from gem list, these are the dry gems:
dry-auto_inject (0.6.0, 0.4.6, 0.4.4)
dry-configurable (0.7.0)
dry-container (0.6.0)
dry-core (0.4.7, 0.4.4, 0.3.4)
dry-equalizer (0.2.1, 0.2.0)
dry-events (0.1.0)
dry-inflector (0.1.2)
dry-initializer (2.5.0, 2.3.0, 1.4.1)
dry-logic (0.4.2)
dry-matcher (0.7.0, 0.6.0)
dry-monads (1.0.1, 1.0.0, 0.4.0, 0.3.1)
dry-monitor (0.1.2, 0.0.3)
dry-struct (0.5.1, 0.5.0, 0.4.0, 0.3.1)
dry-system (0.10.1, 0.9.2, 0.8.1)
dry-transaction (0.13.0, 0.10.2)
dry-types (0.13.2, 0.12.3, 0.12.1, 0.11.1)
dry-validation (0.12.2, 0.11.1, 0.11.0)
dry-view (0.5.4, 0.4.0)
dry-web (0.8.0, 0.7.1)
dry-web-roda (0.11.0, 0.9.0)
OK, on it, thanks!
Vasily Kolesnikov
@v-kolesnikov
Two version of dry-w :smile:
Eliav Lavi
@eliav-lavi
😩 I just noticed that!
it's weird, I barely touched the Gemfile, just added ruby '2.5.3' and gem "shotgun"...
Vasily Kolesnikov
@v-kolesnikov
and?
Eliav Lavi
@eliav-lavi
will be on gh in a minute or two :clock1:
Eliav Lavi
@eliav-lavi
Sorry, some authentication issue with github... on it, will let you know once its there. Thank you again
Eliav Lavi
@eliav-lavi
OK, there it is https://github.com/eliav-lavi/dwr_test @v-kolesnikov
Vasily Kolesnikov
@v-kolesnikov
:eyes:
Eliav Lavi
@eliav-lavi
Appreciated
Vasily Kolesnikov
@v-kolesnikov
The reason is some breaking changes in dry-view between 0.4.x and 0.5.x versions. I just see that dry-w was tested with dry-view 0.4.x only.
Eliav Lavi
@eliav-lavi
Oh. I assumed something like that. I'll try downgrading in the gemfile
Vasily Kolesnikov
@v-kolesnikov
I have already tried. It works.
Eliav Lavi
@eliav-lavi
Indeed, works
Thank you so much!
So the issue is with dry-web then... should this be raised on the discussion forum?
Vasily Kolesnikov
@v-kolesnikov
I really like dry-w concept, but I use it not in a direct way. I have some projects (open and private as well) which built on top of dry-web-roda and at the end, in my latest project I don't use dry-web-roda as a dependency, instead I use its template. I have system and lib dirs, use dry-system to manage components, use roda as a router and so on. But just without dry-w as a dependency. I doesn't mean I have something against dry-w, just share my experience.
@eliav-lavi Seems like you should use the following: config.default_context = Container["view.context"]
In dry-view 0.5.x
Vasily Kolesnikov
@v-kolesnikov
Eliav Lavi
@eliav-lavi
@v-kolesnikov changing context to default_context is something I already tried after sniffing around a bit in debug mode and just trying things out, but it leads to another error:
NoMethodError: undefined method `for_rendering' for #<DwrTest::Main::View::Context:0x00007fd53fc59f38>
    /Users/eliavlavi/.rvm/gems/ruby-2.5.3/gems/dry-view-0.5.4/lib/dry/view/rendering.rb:23:in `initialize'
    /Users/eliavlavi/.rvm/gems/ruby-2.5.3/gems/dry-view-0.5.4/lib/dry/view/rendering.rb:7:in `new'
    /Users/eliavlavi/.rvm/gems/ruby-2.5.3/gems/dry-view-0.5.4/lib/dry/view/rendering.rb:7:in `prepare'
    ...
127.0.0.1 - - [18/Jan/2019:10:47:25 +0200] "GET / HTTP/1.1" 500 151990 0.0265
Tim Riley
@timriley
Are you using dry-view master? All of this stuff isn’t released yet.
Nor is it documented yet.
Context classes now need to inherit from Dry::View::Context
Eliav Lavi
@eliav-lavi
@timriley I guess so? I ran gem install dry-web-roda, then dry-web-roda new dwr_test, then cd dwr_test and then bundle install. What currently works for me is forcing dry-view to be below 5.x, in the gemfile: gem "dry-view", "~> 0.4", "< 0.5"
the "< 0.5" is my addition, without it it didn't work
Tim Riley
@timriley
Ack, it seems like a bunch of stuff made it into 0.5.4 that shouldn’t be there
I’m going to yank it now
Yanked.
0.5.3 should work for you.
Sorry about that, @eliav-lavi
You’ll want to gem uninstall dry-view -v 0.5.4 and then re-bundle
Eliav Lavi
@eliav-lavi
No worries @timriley! I I guess that's not very trivial to coordinate seamless compatibility like that :) Really appreciate the work done here.
Piotr Solnica
@solnic
it's a bigger challenge when gems are in beta, after things settle it becomes much simpler
Piotr Solnica
@solnic
@v-kolesnikov re ditching dry-web-roda, it doesn't surprise me because this gem is really just a tiny integration between dry-system and roda, it can help people get up and running quickly but there's very little it actually provides (which is a wonderful thing, btw). given that we're now focusing more on hanami 2.0/3.0 effort, it's possible we'll discontinue dry-web* gems unless somebody would like to take over them
Eliav Lavi
@eliav-lavi
@solnic If I may intervene, one of my main problems with Hanami is that it creates an instance of an action per request. FooAction.new.call(args) - even if I can override the initialize method, as they describe, this is not how I want to do it, I want to have a single instance of those classes and just pass data through them.
What's your view of that aspect, if I may?
Jeff Dickey
@jdickey
@solnic :+1: That makes sense to me too. I remember poking at dry-web-roda when it was first published, and then going back to my own Rube Goldberg integration because I understood that and didn't see where d-w-r was trying to go, going forward. Tying up Dry + Hanami + ROM in the way that's been described over the last few months makes much more sense to me and my team, and we're excited to see where that goes
Tim Riley
@timriley
@eliav-lavi I’m not 100% sure how hanami actions work in 1.x, but in 2.0, whenever it comes out, what you describe will be possible
I think 1.x actions mutate their state, so it would make sense to get a new object each time
Eliav Lavi
@eliav-lavi
@timriley That's very good news!
Jeff Dickey
@jdickey
@eliav-lavi You're talking something more like Rails' Active Controller, where each action is a method on a class?
Eliav Lavi
@eliav-lavi
@jdickey not really, I just think the action class should have a single instance, created upon system boot. It should be immutable obviously. I actually do like the idea of one action per class, the Rails way is not my cup of tea here.
Piotr Solnica
@solnic
I can't say for sure but I remember Luca talking about actions becoming singletons that are "called" at runtime with input and they expect to return output (response object is being passed through and this one is mutable)
Jeff Dickey
@jdickey
The thing that initially sold us on Hanami, more than any other feature, was that each controller action is a separate class. Want shared behaviour? Extract it to a module that's included in each action. Explicit is more easily understood than implicit, and that's the basis for Clean Architecture to begin with. Minimise the number of places I have to look to understand what's going on in an individual piece of code
Eliav Lavi
@eliav-lavi
@jdickey no argue about that, completely valid. I like Hanami a lot.
Jeff Dickey
@jdickey

Minimise the number of places I have to look to understand what's going on in an individual piece of code.

...without burying me in a five-hundred-line piece of code with a score or three private methods, like too many Rails controllers I've had to do chainsaw surgery on over the years

Fine, then :)