Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 13:46
    aristotelesbr2014 starred dry-rb/dry-types
  • Apr 16 15:38
    nguyenphuceh starred dry-rb/dry-monads
  • Apr 16 07:07

    solnic on master

    Cast identifier to String durin… Merge pull request #169 from ad… (compare)

  • Apr 16 07:07
    solnic closed #169
  • Apr 16 00:21
    adam12 review_requested #169
  • Apr 16 00:21
    adam12 opened #169
  • Apr 15 08:14
    chriscz commented #421
  • Apr 15 07:59
    flash-gordon commented #421
  • Apr 15 07:39
    solnic closed #421
  • Apr 15 07:39
    solnic commented #421
  • Apr 15 06:48
    flash-gordon unlabeled #421
  • Apr 15 06:48
    flash-gordon unlabeled #421
  • Apr 15 06:47
    flash-gordon commented #421
  • Apr 14 12:48
    chriscz labeled #421
  • Apr 14 12:48
    chriscz labeled #421
  • Apr 14 12:48
    chriscz opened #421
  • Apr 14 08:16
    solnic commented #164
  • Apr 13 23:25
    timriley milestoned #168
  • Apr 13 23:25
    timriley labeled #168
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
Piotr Solnica
@solnic
@AMHOL no idea what "to grip" means :D
Andy Holland
@AMHOL
:laughing: idioms
Piotr Solnica
@solnic
dammit mate
;)
Andy Holland
@AMHOL
To get to grips = to get a better understanding :)
So if I get to grips with {something}, I have a better understanding of {something} than I did before
Piotr Solnica
@solnic
Oh ok :) it is really simple piece of code tbh. Ast with visitor pattern is really simple. Probably not popular but that is ok
Aaahhh good
Andy Holland
@AMHOL
Yeah, perhaps to you ;)
Ast is complicated stuff
Piotr Solnica
@solnic
I thought so too when I saw it for the first time
Andy Holland
@AMHOL
I think it's just unfamiliar territory, from what I've seen you don't tend to touch AST until you start looking at compilers and sth?