Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 07 15:30

    davydovanton on rack-middleware-compat-with-rack-builder

    (compare)

  • Apr 07 15:30

    davydovanton on master

    Ensure `Dry::Monitor::Rack::Mid… Merge pull request #37 from dry… (compare)

  • Apr 07 15:30
    davydovanton closed #37
  • Apr 07 14:58
    JPalka starred dry-rb/dry-monads
  • Apr 07 14:49
    dry-bot commented #37
  • Apr 07 14:42
    jodosha edited #37
  • Apr 07 14:42
    jodosha review_requested #37
  • Apr 07 14:42
    jodosha labeled #37
  • Apr 07 14:42
    jodosha review_requested #37
  • Apr 07 14:42
    jodosha assigned #37
  • Apr 07 14:42
    jodosha opened #37
  • Apr 07 14:37

    jodosha on rack-middleware-compat-with-rack-builder

    Ensure `Dry::Monitor::Rack::Mid… (compare)

  • Apr 07 11:56
    davydovanton synchronize #145
  • Apr 07 11:56

    davydovanton on add-settings-section

    Update docsite/source/settings.… (compare)

  • Apr 07 11:43
    davydovanton commented #145
  • Apr 07 11:42
    davydovanton synchronize #145
  • Apr 07 11:42

    davydovanton on add-settings-section

    Fix lang-related suggestions (compare)

  • Apr 07 10:46
    davydovanton synchronize #145
  • Apr 07 10:46

    davydovanton on add-settings-section

    Update docsite/source/settings.… (compare)

  • Apr 07 10:46
    davydovanton synchronize #145
Joshua Wilcox
@joshuaswilcox
ArgumentError: +xor+ is not a valid predicate name
Christopher Dennl-Ortega Arrieta
@cdennl
user_id.filled? ^ global_auth_id.filled?
or user_id.filled?.xor( global_auth_id.filled? )
Joshua Wilcox
@joshuaswilcox
yeah ^ worked
Thanks for the help!
Christopher Dennl-Ortega Arrieta
@cdennl
no problem, so the complete problem is solved?
another solution would have been: (user_id.filled? & global_id.none?) | (user_id.none? & global_id.filled?) that would be the xor expanded
Joshua Wilcox
@joshuaswilcox
ah good to know thanks! yeah problem solved from a validation point of view :)
Christopher Dennl-Ortega Arrieta
@cdennl
(and,or,not)x(true,false) defines a complete base of boolean logic, any predicate logic term can be assembled out from these three operations on true,flase
Piotr Solnica
@solnic
@cdennl make both keys optional if that’s your case
Christopher Dennl-Ortega Arrieta
@cdennl
@solnic I have no problem :) just tried to help joshua
Piotr Solnica
@solnic
oh sorry ok cool cool :)
Christopher Dennl-Ortega Arrieta
@cdennl
@solnic what I didnt get, ruley key for error message is optional or mandatory?
Piotr Solnica
@solnic
it’s needed when custom rule name was provided
Christopher Dennl-Ortega Arrieta
@cdennl
alright thanks
Joe Van Dyk
@joevandyk
@solnic no luck on setting config.type_specs = true
Form = Dry::Validation.Form do
end

FormContainer = Dry::Validation.Form do
  configure { config.type_specs = true }
  each { schema Form }
end
Christopher Dennl-Ortega Arrieta
@cdennl
@solnic is it possible to make a own section for rule messages in the error hash like so:
required( :param ).filled(:int?)

rule(check_special: [ :param ]) do |param|
  param.gt?(10)
end

errors should be something like: { param: ["must be filled"], rule: { check_special: ["must definitely be greater than 10 you moron"] } }
It would be nice to have a mechanism to know instantly whether a high-level rule generated the error or primitive statement
however this implies reserving a key in the errors hash
for now I am working around by using a name scheme for highlevel rules, but this feels not clean enough
Piotr Solnica
@solnic
please report issues describing what you need
this way it is easier to handle that
Christopher Dennl-Ortega Arrieta
@cdennl
ok will do that thanks
Christopher Dennl-Ortega Arrieta
@cdennl
@solnic Do I get it right, that validate is like rule, but passes in the actual values and the code block just return true or false?
Piotr Solnica
@solnic
@cdennl yes, it is like defining a predicate method that will be executed in the context of your schema, so its state is available there
Piotr Solnica
@solnic
@dsounded re custom vars in messages, could you report an issue about that? it’s on the 1.0 roadmap but it’s not written down anywhere…
Andrei Andreev
@andreimoment
A question about dry-validation: is it possible to override error messages at runtime?
Considering dry-validation for a form-builder solution where the user would be able to provide custom error messages.
Piotr Solnica
@solnic
@andreimoment not yet. Feel free to report an issue and describe what you need
Andrei Andreev
@andreimoment
thank you
Oskar Szrajer
@gotar
Anyone present on EuRuKo in Sofia?
Kiril Dokh
@dsounded
@solnic dry-rb/dry-validation#259
John Griffin
@john-griffin
dry-transaction question: seems like when I pass step arguments to a transaction it disables all step notifications. It might be because it creates a new instance without the subscriptions attached. Anyone else know about this? Thanks!
Piotr Solnica
@solnic
@john-griffin pls report an issue :)
John Griffin
@john-griffin
@solnic :+1: will PR a failing test
Piotr Solnica
@solnic
that would be even better
Ralf Schmitz Bongiolo
@mrbongiolo
@timriley can I update bundler on dry-transaction, or does it need to be on 1.12.x for any reason? It's failing the builds with Travis
Nikita Shilnikov
@flash-gordon
@mrbongiolo yes, go ahead
Christopher Dennl-Ortega Arrieta
@cdennl
I love the new validation feature @solnic saves me a lot writing of unnecessary predicates to satisfy high level rules, well done
Piotr Solnica
@solnic
@cdennl :) good to know
Aleksandar Radunović
@aradunovic

with input like this:

{ name: “my name”, products: [{ id: 1, quantity: 5 }, { id: 5, quantity: 1 }] }

how can I incorporate each validation for products into:

Form = Dry::Validation.Form do
  required(:name).filled(:str?)
  # products array validation
end

the only example I could find was array as input, but in my case, only one attr is array...

Aleksandar Radunović
@aradunovic
also there is nested data example, but it only shows how to validate simple array of strings
Egor Lynko
@flexoid
@aradunovic try this
required(: products).each do
  schema do
    required(:id).filled(:int?)
    required(:quantity).filled(int?)
  end
end
Aleksandar Radunović
@aradunovic
got it…
required(:products).each do
  required(:id).filled(:int?)
  required(:quantity).filled(int?)
end
@flexoid Thanks for the effort :D
Egor Lynko
@flexoid
if I remember correctly, better to use my version, with schema
as each without schema will not work on latest versions
please, correct me if I'm wrong