Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 11:54
    Travis dry-rb/dry-view (master) errored (704)
  • 11:52
    Travis dry-rb/dry-view (master) errored (703)
  • 11:49

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:49

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:49

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:48

    solnic on master

    Update sync_configs.yml (compare)

  • 11:48

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:48

    solnic on master

    Update sync_configs.yml (compare)

  • 11:48

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:48

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:48

    solnic on master

    Update sync_configs.yml (compare)

  • 11:48

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:47

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:47

    solnic on master

    Update sync_configs.yml (compare)

  • 11:47

    solnic on master

    Update sync_configs.yml (compare)

  • 11:47

    solnic on master

    Update sync_configs.yml (compare)

  • 11:47

    solnic on master

    Update sync_configs.yml (compare)

  • 11:47

    dry-bot on master

    [devtools] sync configs (compare)

  • 11:47

    solnic on master

    Update sync_configs.yml (compare)

  • 11:46

    solnic on master

    Update sync_configs.yml (compare)

Vasily Kolesnikov
@v-kolesnikov
:+1: :clap:
Nikita Shilnikov
@flash-gordon
pretty cool huh :)
Gustavo Caso
@GustavoCaso
:clap: :clap:
Spencer Goh
@dymaxionuk
Thanks @timriley wish I had time to explore, between slaving away at work and looking after baby, not much time left! I'll have a look if I get a breather.
On another note, is anyone interested in a trace/debug logging default for the dry transaction program flow? Given that the shape of the data will change significantly between each operation, and not all Failure states are necessarily triggered by Exception/Error, it can be useful in DEV deployment to have more colour over what caused failures. When one can't debug locally.
Spencer Goh
@dymaxionuk
I have an issue with an intermittent failure in a test, which doesn't manifest locally but only on the CI server. The output of roda flow driven dry transaction is returning a monad with True class as value. The only logging is the final backtrace in the router. But I would be useful to see the data and program flow along the whole execution path of the transaction, into it returns to route
70% of the time it returns my intended value object ... I can track it down but might be nice to have a trace feature. Any other use cases other people have across like this? Do you just add a ton of hand crafted logging manually?
Maybe option trace_transaction, true
Gustavo Caso
@GustavoCaso
I'm not a very experience dry-validations user but I wanted to share a question regarding some bahaviour I found for error messages
Having this schema
BusyPeriods = Dry::Validation.Schema do
  each do
    schema do
      required(:start_date).filled(:date?)
      required(:end_date).filled(:date?)
      required(:utilisation).filled(:int?)

      rule(started_before_ended: [:start_date, :end_date]) do |start_date, end_date|
        end_date.gt?(value(:start_date))
      end
    end
  end
end
If I try to validate some data if the error is related with the required attributes I will get a message with the format { index => error_message } but if the error comes from the rule I will get just the error with out the index. Is that expected?
{0=>{:utilisation=>["must be an integer"]}}
{:started_before_ended=>["must be greater than 2018-03-21"]}
Piotr Solnica
@solnic
@GustavoCaso end_date.gt?(start_date)
Gustavo Caso
@GustavoCaso
Thanks @solnic
Christian Meier
@mkristian
hi, found some in the issue of dry-validation how to reuse a Schema for nested arrays. wanted to extend the documentation a bit, is it to make a PR against: https://github.com/dry-rb/dry-rb.org ?
looks like autogenerated somehow !
Aaron Barthel
@abrthel
@mkristian from that link, then follow this folder path source > gems > dry-validation From there you just have to edit the markdown files
Christian Meier
@mkristian
ok - thanks. and I leave gz file as is ?
Aaron Barthel
@abrthel
under docs? Yeah you dont need to alter them at all. The markdown files get rendered into the actual deployable site.
Nicolas Cavigneaux
@Bounga
Hi there. I'm playing with Dry Types and I'm wondering if it is possible to do something like Types::Strict::String.constrained(filled: true) ?
Gustavo Caso
@GustavoCaso
Absolutely you can
Nicolas Cavigneaux
@Bounga
Is this the right syntax ?
Gustavo Caso
@GustavoCaso
Yes
Nicolas Cavigneaux
@Bounga
Seems like it doesn't work in my example code
Gustavo Caso
@GustavoCaso
Types::Strict::String.constrained(filled: true).('')
Dry::Types::ConstraintError: "" violates constraints (filled?("") failed)
Types::Strict::String.constrained(filled: true).(nil)
Dry::Types::ConstraintError: nil violates constraints (type?(String, nil) AND filled?(nil) failed)
Nicolas Cavigneaux
@Bounga
oh I should have said this before but I use it through Hanami, so I have attribute :ref, Types::Strict::Int.constrained(filled: true)
Gustavo Caso
@GustavoCaso
Types::Strict::String.constrained(filled: true).('helllo')
=> "helllo"
Could you provide the version is using?
Nicolas Cavigneaux
@Bounga
0.12.2
Gustavo Caso
@GustavoCaso
What error do you see? I guess is possible to do in master
Nicolas Cavigneaux
@Bounga
I don't have any error, it just doesn't constrain the attribute to be filled
User.new(uid: 1, email: "foo", role: "admin").ref
=> nil
Gustavo Caso
@GustavoCaso
I'm not an expert in Hanami, but let me see if I can help
Nicolas Cavigneaux
@Bounga
irb(main):011:0> class Testing < Hanami::Entity
irb(main):012:1> attributes do
irb(main):013:2* attribute :ref, Types::Strict::Int.constrained(filled: true)
irb(main):014:2> end
irb(main):015:1> end
=> true
irb(main):016:0> Testing.new.ref
=> nil
oh
irb(main):017:0> Testing.new(ref: nil)
TypeError: nil (NilClass) has invalid type for :ref violates constraints (type?(Integer, nil) AND filled?(nil) failed)
Gustavo Caso
@GustavoCaso
If you remove the constrained part ?
So looks like is working, just need to pass the values :smile:
Nicolas Cavigneaux
@Bounga
Yes! I'd hope to have a way to tell "this attribute must be present"
I can do this through a custom initialize method though
Gustavo Caso
@GustavoCaso
present == filled ?
Nicolas Cavigneaux
@Bounga
not sure, official documentation only list available constrain without explaining what it does
Nicolas Cavigneaux
@Bounga
Yes so if the attribute is not present there's no check, that dry-validation job which provides required keyword
Thank a lot for your help
Gustavo Caso
@GustavoCaso
Yes I think Hanami use dry-validations right?
Nicolas Cavigneaux
@Bounga
yes
Gustavo Caso
@GustavoCaso
Nice so you can solve the issue right ?