Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
Gustavo Caso
@GustavoCaso
{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 ?
Nicolas Cavigneaux
@Bounga
Yes I was doing my check in the wrong place
Gustavo Caso
@GustavoCaso
:+1:
Hamza Khan-Cheema
@hamzakc
What tools are people were using for API documentation. I have used swagger::blocks before (https://github.com/fotinakis/swagger-blocks) Anyone using anything else in a dry-web app ?
Semyon Pupkov
@artofhuman

Hi, i have question about dynamic arguments in dry-v schema

I try to define schema

        CreateSchema = Dry::Validation.Form do
          configure do
            option :min_time

            def time_range
              min_time...Time.current
            end
          end

          required(:start_at).filled(:time?, included_in?: time_range)
     end

but i have the error when use this schema

CreateSchema.with(min_time: 10.minutes.ago).call(params)

Failure/Error: min_time...Time.current

ArgumentError:
  bad value for range

I think this error raised when schema compiled and option min_time at thid moment is nil. It’s right way to define schema like this with dynamic agruments?

Gustavo Caso
@GustavoCaso
I think the error comes from min...Time.current
11...Time.current
ArgumentError: bad value for range
Gustavo Caso
@GustavoCaso
Ups sorry my fault
Semyon Pupkov
@artofhuman
I use custom validation block =) thanks
Gustavo Caso
@GustavoCaso
I wish I was a better help :smile:
Calinoiu Alexandru Nicolae
@alexandru-calinoiu
HI all, do you guys know of an online workshop (payed on not) that I can point someone to learn about dry? Even if is something similar to rails book.
Spencer Goh
@dymaxionuk
Modular components, what is the preferred way of doing this in dry-web? http://dry-rb.org/gems/dry-system/component-providers/ suggests writing a gem, that you boot up from your container. The other way I noticed like dry logging/monitor, is that a plugin is "use"d in a container. And it then registers an instance into the container.
Oskar Szrajer
@gotar
@hamzakc almost sure you cannot use swagger. It’s generate doc based on routes. Dry web use roda. It’s. Tree based routing. Generating swagger doc (automatically) probably will not be possible. (But never tried myself)