Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Feb 20 17:31
    jswanner commented #141
  • Feb 20 06:15
    lazebny starred dry-rb/dry-types
  • Feb 19 22:35
    solnic commented #141
  • Feb 19 22:32

    solnic on v0.17.0

    (compare)

  • Feb 19 22:32

    solnic on master

    Bump dry-system to 0.17.0 (compare)

  • Feb 19 22:31

    solnic on 141-fix-compat-with-dry-configurable

    Bump dry-system to 0.17.0 (compare)

  • Feb 19 22:31

    dry-bot on master

    [devtools] update changelog.yml… [devtools] sync (compare)

  • Feb 19 22:27

    solnic on 141-fix-compat-with-dry-configurable

    (compare)

  • Feb 19 22:27

    solnic on master

    Fix compatibility with dry-conf… Merge pull request #142 from dr… (compare)

  • Feb 19 22:27
    solnic closed #142
  • Feb 19 22:27
    solnic closed #141
  • Feb 19 22:24
    solnic milestoned #141
  • Feb 19 22:23
    solnic opened #142
  • Feb 19 22:23

    solnic on 141-fix-compat-with-dry-configurable

    Fix compatibility with dry-conf… (compare)

  • Feb 19 21:12
    flash-gordon commented #141
  • Feb 19 20:45
    jswanner opened #141
  • Feb 19 20:45
    jswanner labeled #141
  • Feb 19 17:38
    pmackay starred dry-rb/dry-monads
  • Feb 19 17:18
    tomraithel starred dry-rb/dry-types
  • Feb 19 11:51
    yingce starred dry-rb/dry-types
Piotr Solnica
@solnic
but that’s just our wonderful ruby world :joy:
Andy Holland
@AMHOL
I guess if you validate, then send the data straight to the database, writing key-value pairs, it would make sense to validate the structure
Yeah :joy:
Piotr Solnica
@solnic
ok, I’ll figure something out
the data type we build is a hash with explicit schema (from dry-data)
it ignores unknown keys and handles only the ones you specified
so it’s gonna coerce what is needed
then it’s on the validation side to do what’s appropriate :)
Andy Holland
@AMHOL
Cool
@AMHOL there we go ^
Andy Holland
@AMHOL
Nice, so that's separate for when you want coercion too?
Piotr Solnica
@solnic
yes
it still blindly symbolizes all keys, gotta work on that part now
maybe it’s not a bad idea to add key coercion to dry-data hash
Andy Holland
@AMHOL
Explicitly?
Piotr Solnica
@solnic
yes
Andy Holland
@AMHOL
Can't think of any reason not to
Piotr Solnica
@solnic
heh adding support for passing a block to predicates in the dsl was too easy, it’s a very good sign #happypanda
to make the dsl more concise I’m considering this now:
key(:address).hash? do |address|
  address.key(:age).int? { |value| value.gt?(18) }
end
@AMHOL WDYT? ^
Piotr Solnica
@solnic
this would be less trivial to implement though :)
Andy Holland
@AMHOL
As opposed to:
key(:address).hash? do |address|
  address.key(:age).int? & address.key(:age).gt?(18)
end
?
Piotr Solnica
@solnic
not exactly
type check is kind-of special
first of all you specify the expection for the type so we can infer coercion logic from it
secondly it’s the very first check that needs to be done before we can do anything else with the value
Andy Holland
@AMHOL
Ahh OK
Piotr Solnica
@solnic
so having it outside of the block would make sense
I dunno, will see, not gonna do that now, just wondering
Andy Holland
@AMHOL
So the predicate would be a pre-requisite to the validations running inside of the block?
Piotr Solnica
@solnic
yes
Andy Holland
@AMHOL
That makes sense :+1:
Piotr Solnica
@solnic
I just added support for passing blocks to predicate checks, which does the very same thing, but for type-check you get one more level of nesting
hence my thought about moving it to the outer block
Andy Holland
@AMHOL
Yep, that works for me
Piotr Solnica
@solnic
you can do value.int? & value.gt?(18) and the equivalent of this is using a block like this; value.int? { value.gt?(18) }
in general a block == AND
Andy Holland
@AMHOL
So it's like a normal AND where the right only evaluates if the left passes?
Piotr Solnica
@solnic
yes
Andy Holland
@AMHOL
:+1:
Andy Holland
@AMHOL
@solnic WDYT to removing the message processor from dry-validation?
Piotr Solnica
@solnic
@AMHOL dunno yet what to do with it tbh
Andy Holland
@AMHOL
@solnic I'll push what I've got so far, see what you think
Piotr Solnica
@solnic
@AMHOL sure
Andy Holland
@AMHOL
dryrb/dry-validation@cbc17e5
So the idea is that we can have a dry-validation-i18n gem for error messages
BTW, now I've got to grips with it a lot more, you've done a fantastic job so far