Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 08:53
    flash-gordon labeled #376
  • 08:44
    solnic commented #376
  • 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
Piotr Solnica
@solnic
;)
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?
Piotr Solnica
@solnic
Yeah only compilers deal with then
Them even
Krzysztof Wawer
@wafcio
How in dry-validation can I construct rule for attribute which is optional but if exists then it should be in specific format ? I am trying to do it in this way: id.nil? | (id.str? & id.format?(/.../)) but I receive NoMethodError: undefined method `to_ary' for true:TrueClass
Piotr Solnica
@solnic
@wafcio id.filled? & id.format?(/.../) should suffice
Although your example should work too
So pls report an issue
Krzysztof Wawer
@wafcio
I used str? because I checked examples: a) without id b) with number id - incorrect c) with id as uuid (text) - correct
Krzysztof Wawer
@wafcio
issue added dryrb/dry-validation#13
Piotr Solnica
@solnic
@wafcio thanks. I'll fix that
Krzysztof Wawer
@wafcio
ok thanks, I will bypass this problem with write own predicate
Krzysztof Wawer
@wafcio
I think it will be good to add optional attribute, right now each time key method is forcing to have specific key in attributes
Piotr Solnica
@solnic
@wafcio optional attribute or optional value? Those two are not the same
For optional attribute/key we could have sth like key(:foo).optional do ... end
Please report an issue about that
Krzysztof Wawer
@wafcio
I mean optional key, ok I will report some use case
Hannes Nevalainen
@kwando
This message was deleted
class UserSchema < Dry::Validation::Schema
  key(:age) do |age|
    age.filled? & age.int? & age.gt?(18) & age.lt?(100)
  end
end
@solnic ^^ that should work right?
Krzysztof Wawer
@wafcio
@kwando how do you invoke this schema ?
Hannes Nevalainen
@kwando
UserSchema.new.messages(user)
Krzysztof Wawer
@wafcio
what is user ?
Hannes Nevalainen
@kwando
a hash
Krzysztof Wawer
@wafcio
ok but can you give example how this hash looks ?
Hannes Nevalainen
@kwando
though the input is not there problem, it blows up when compiling the rules
the* problem
/dry-validation-185ec9d6959d/lib/dry/validation/rule_compiler.rb:48:in `visit_and': undefined method `&' for #<Dry::Validation::Rule::Conjunction:0x007fc95b01ef10> (NoMethodError)
Krzysztof Wawer
@wafcio
in 0.1.0 I don’t have this problem
Hannes Nevalainen
@kwando
ok, I use master.. probably not a very good idea =P
Krzysztof Wawer
@wafcio
I am not fun of using version from master because it can be unstable. For me stable versions are tagged versions
Hannes Nevalainen
@kwando
I do not really think there is a "stable" version yet though =P
Piotr Solnica
@solnic
@kwando there was an issue with nil? predicate, I had to rename it to none? to avoid conflicts with the built-in nil? method on Object
btw I just added support for optional values
Hannes Nevalainen
@kwando
Dry::Rule::Composite is missing & | methods
Piotr Solnica
@solnic
so ie key(:age) { |age| age.none? | (age.int? & age.gt?(18)) } this is translated to a coercion that will turn empty strings to nils
in Schema::Form
this is an explicit way of handling nil and optional values
@kwando oh, lemme fix that
I need to do it properly though, we have a very specific rule interface but I haven’t added shared specs for that, so we have some holes like you found :)
lemme brew some coffee and fix this situation :)
btw thanks guys for testing this so early, I appreciate that a lot <3
Hannes Nevalainen
@kwando
np really, thanks for "fixing" ruby =) <3