by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 10:49

    solnic on master

    Fix redefinition warnings happe… Merge pull request #150 from es… (compare)

  • 10:49
    solnic closed #150
  • 07:58
    esparta edited #150
  • 07:58
    esparta edited #150
  • 07:51
    esparta opened #150
  • Aug 09 16:13
    charly starred dry-rb/dry-initializer
  • Aug 09 03:48
    slashpai starred dry-rb/dry-system
  • Aug 08 14:57
    bobwhitelock starred dry-rb/dry-types
  • Aug 07 14:18
  • Aug 06 20:26
    psilospore starred dry-rb/dry-monads
  • Aug 06 08:32
    solnic commented #32
  • Aug 06 08:30
    solnic milestoned #32
  • Aug 06 03:05
    razertory starred dry-rb/dry-monads
  • Aug 06 01:46
  • Aug 05 14:01
    francois commented #32
  • Aug 04 12:29
    flash-gordon commented #403
  • Aug 04 10:46
    adamransom commented #403
  • Aug 04 10:17
    solnic commented #403
  • Aug 04 10:03
    adamransom commented #403
  • Aug 04 09:42
    adamransom commented #403
Hannes Nevalainen
@kwando
@solnic how about "dynamic" values in validation? Like "time" needs to be in the future
key(:time}{ |t| t.time? & t.gt?(Time.now) } won't work, maybe something like key(:time){ |t| t.time? & t.gt?{ Time.now }}
Hannes Nevalainen
@kwando
Hmm, I can just use my own predicate ^^
Piotr Solnica
@solnic
yes either a custom one or maybe we could add future? predicate
Hannes Nevalainen
@kwando
yeah, there is probably some more useful predicates for working with date/time
Piotr Solnica
@solnic
definitely
t.year?(2000) etc
Hannes Nevalainen
@kwando
t.weekday? (though that one is locale specific)
How would the schema work when two keys is dependent on each other? a.int? & b.int? & a > b
Piotr Solnica
@solnic
not implemented, yet
you’ll have something like this, soon:
Hannes Nevalainen
@kwando
thought so =P
Piotr Solnica
@solnic
on(:a, :b) { |a, b| a.gt?(b) }
this means “when :a and :b are valid, also check this"
not entirely sure how the dsl will look though
Hannes Nevalainen
@kwando
ah ok, that would be very useful =)
Piotr Solnica
@solnic
I know, it’s high on my list
it’s one of the many personal pet peeves I’ve got with AM::V that I want to fix in dry-v
Hannes Nevalainen
@kwando
already love this => MyFormValidator.new.messages(params).params
Piotr Solnica
@solnic
hah yeah, coerced params are sweet
and safe, ootb
I’ll add structure validation too, soon
Hannes Nevalainen
@kwando
When you can use your own types and coercions this will be event sweeter =)
when/if
Piotr Solnica
@solnic
you can
no public API for that yet though, but it’s possible
it’s only a matter of registering your type within dry-data and defining your predicate
…and extending type compiler, but we can collapse those 3 steps into a single method call
and extending type compiler means adding your_predicate => your_type mapping :joy:
sounded so serious when I wrote it :D
Hannes Nevalainen
@kwando
oh? you're spoiling us <3
Piotr Solnica
@solnic
dry-data is extendible, so is dry-validation
Hannes Nevalainen
@kwando
I don't really like the globalness of Dry::Data right now
Piotr Solnica
@solnic
yeah, I will probably add a way of setting your own container
I also thought about having a way to define types under constants, so it feels more natural to define things like attribute :foo, MyTypes::Something::Foo
but I dunno, we’ll see
Hannes Nevalainen
@kwando
cool =)
feels like you have a plan for everything =P
Piotr Solnica
@solnic
I certainly don’t, but I’ve thought about a ton things, I gotta say :)
@kwando ^^ :)
@AMHOL ^^
lemme know if you have some dsl ideas for that
we definitely need a way to explicitly name a group, which will be needed for messages, although this could default to concatenation of rule names within a group
eventually this will be nestable too, ie a group depending on another group etc
it should also be possible to create a group from rules that are applied to values from different levels of nesting
Piotr Solnica
@solnic
if you think that’s crazy, I can assure you this kind of requirements exist :joy: I’ve got a ton of this stuff in my current client project
Andy Holland
@AMHOL
@solnic I don't get what group is doing differently? Is it that it's calling an existing predicate with the values from two keys?
Group seems a bit of a strange name for that
Hannes Nevalainen
@kwando
I not sure about the name, but the functionality :thumbsup: