Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 17:46
    amrrbakry starred dry-rb/dry-matcher
  • Nov 10 21:35
    pregozgin starred dry-rb/dry-monads
  • Nov 10 12:22
    flash-gordon opened #371
  • Nov 10 12:22

    flash-gordon on no-rewrap-for-structs

    Don't build constructors when c… (compare)

  • Nov 08 06:56
  • Nov 08 01:12

    AMHOL on master

    Fix gem metadata URIs (compare)

  • Nov 07 22:01
    orien edited #20
  • Nov 07 21:58

    flash-gordon on master

    Add project metadata to the gem… Merge pull request #20 from ori… (compare)

  • Nov 07 21:58
    flash-gordon closed #20
  • Nov 07 21:58
    flash-gordon commented #20
  • Nov 07 21:51
    orien opened #20
  • Nov 07 21:44
  • Nov 07 19:56

    flash-gordon on master

    Update CHANGELOG (compare)

  • Nov 07 19:54

    flash-gordon on fix-keyword-warnings

    (compare)

  • Nov 07 19:54

    flash-gordon on master

    Fix keyword warnings This chan… Merge pull request #114 from dr… (compare)

  • Nov 07 19:54
    flash-gordon closed #114
  • Nov 07 19:53
    flash-gordon opened #114
  • Nov 07 19:53

    flash-gordon on fix-keyword-warnings

    Fix keyword warnings This chan… (compare)

  • Nov 07 19:40
    Travis dry-rb/dry-view (master) errored (634)
Nikita Shilnikov
@flash-gordon
you certainly can
dry-struct by itself doesn’t provide an interface for mutating attributes
as in, setters
but it doesn’t do anything with values
Markus Unterwaditzer
@untitaker
I was just being facetious. My point is that I am using dry-struct not because it doesn't support mutation, but because it prevents it
Nikita Shilnikov
@flash-gordon
it’s not the point
Markus Unterwaditzer
@untitaker
or at least I thought it did
Nikita Shilnikov
@flash-gordon
you don’t need a mutable interface, that’s why you don’t get it
Markus Unterwaditzer
@untitaker
right, I'm not asking for a mutable interface
Nikita Shilnikov
@flash-gordon
but if you're using other ruby primitives, such as arrays and strings, they're mutable
but since they're more efficient we stick to them
otherwise we would have to go with our own
or freezing everything which is, as I mentioned, is slow
so what we do instead is discouraging
from mutating values
Markus Unterwaditzer
@untitaker
I'll figure something out. But thanks.
Nikita Shilnikov
@flash-gordon
and if you want to enforce immutability it will cost you some performance but can do it
Markus Unterwaditzer
@untitaker
I might have underestimated runtime cost of freeze. I thought it could be O(1)
Nikita Shilnikov
@flash-gordon
I personally only watched a talk by @solnic where he measured this
tldr we just don't mutate anything thus don't have a problem with mutation :)
Piotr Solnica
@solnic
it is too slow, deep freezing kills perf. Do it only with memoized objects that are instantiates once per process
Gustavo Caso
@GustavoCaso
:clap: :clap:
Hamza Khan-Cheema
@hamzakc
Hi, Just a quick question. I am using dry-web-roda and making a API application. I am toying with a few ideas on how to test it. How do other people test API apps? I was playing with the idea of using bacon, but would like to use Rspec. Capybara is not really used to test API's so feature tests are out. The other option is just to use rack-test directly
Oskar Szrajer
@gotar
I use rack-test always
workings great
Hamza Khan-Cheema
@hamzakc
Thanks, I was leaning towards that as well.
you got any links on getting that working with dry-web by any chance
Hamza Khan-Cheema
@hamzakc
isn't that using RSpec
Oskar Szrajer
@gotar
i uses rack-tests too
for requests
I can extract you some tests from my projects
if you want
Hamza Khan-Cheema
@hamzakc
don't want to trouble you :)
i will try and use berg as a template and get it working
thanks for the offer
you tried bacon ?
here you go, spec_helpers. and some tests
using berg as a template is quite hard at the beginning
if you need any more files, tests just ask
I used that combination (rack-test, rspec) for 4-5 different APIs in last few years always working great
Oskar Szrajer
@gotar
https://github.com/gotar/sinatra-rom - some very old repo but shows how to connects rack-test with sinatra (in roda is almost exactly the same) - much easier one
Gustavo Caso
@GustavoCaso
I think using the dry-web-roda cli will build some spec helpers with some sort of configuration already
Here is the one generated for one of my toy project
Oskar Szrajer
@gotar
yeah but it's overkill for API
and do not use rack-test in pure direct way as I remember