by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 12 07:59
  • Aug 11 19:59
    esparta commented #132
  • Aug 11 16:30
    philipce closed #132
  • Aug 11 16:30
    philipce commented #132
  • Aug 11 07:47
    esparta commented #132
  • Aug 11 07:29
    esparta commented #132
  • Aug 11 07:28
    esparta commented #132
  • Aug 11 01:30
    philipce labeled #132
  • Aug 11 01:30
    philipce opened #132
  • Aug 10 18:51
    gbrlcustodio starred dry-rb/dry-monads
  • Aug 10 10:49

    solnic on master

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

  • Aug 10 10:49
    solnic closed #150
  • Aug 10 07:58
    esparta edited #150
  • Aug 10 07:58
    esparta edited #150
  • Aug 10 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
Benjamin Klotz
@tak1n

is there an easy way in dry-v to access the value for which a predicate returns false in the error message?
or do I have to write a custom error compiler for that?

basically:

  def custom_predicate(value)
     false
  end

   en:
    errors:
     custom_predicate: "{value} whatever"
Piotr Solnica
@solnic
@tak1n IIRC we always pass value for interpolation, just try %{value} whatever
Benjamin Klotz
@tak1n
@solnic works thx, and for predicates which have 2 args? :D
left, right?
Piotr Solnica
@solnic
@tak1n left right is passed for ranges IIRC
lemme see (I forgot)
nah, we don’t pass in args by default. could be changed. please report an issue
@tak1n ^
Benjamin Klotz
@tak1n
@solnic okay will do
panigrah
@panigrah
@cdennl after you set messages to i18n, where is your custom file?
Christopher Dennl-Ortega Arrieta
@cdennl
@panigrah config/locales/en/custom_dry_v_errors.yml
panigrah
@panigrah
how does dry-v pickup the errors.yml file?
Christopher Dennl-Ortega Arrieta
@cdennl
it doesnt, i18n does
and dry-v relies on i18n in this case
panigrah
@panigrah
so the name of the file can be anything?
Christopher Dennl-Ortega Arrieta
@cdennl
yes
you just have to set config.messages = :i18n to tell dry-v to rely on i18n
and assure that i18n is required before dry stuff
part of my initializer:
```
require 'i18n'
require 'cell/translation'
require 'reform/form/dry'
require 'disposable/twin/coercion'
panigrah
@panigrah
ok. And all messages are directly under errors with the rule name?
errors:
    rule_name1?: "Rule has a problem" 
    rule_name2?: "Another rule problem" 
Christopher Dennl-Ortega Arrieta
@cdennl
well common rules i put directly below errors if they are used in multiple contexts
otherwise i put them under a namespace below rules
en:
  errors:
    in_possession?:                         'is not in possession of deviation'
    is_conversion_correct?:                 'is incorrectly converted from P to $'
    not_blank?:                             'is blank'

    rules:
      auction:
        autobuy_amount_is_above_start_bid?: 'must be greater than start bid'
        currency_accepted?:                 'select at least one currency'
        is_conversion_correct?:             'is incorrectly converted from P to $'
      bid:
        is_no_self_bid?:                    'must not bid on own auction'
        is_running?:                        'is not running'
and then i set config.namespace = :whatever in the repsective validation group
panigrah
@panigrah
aah okay.
I will try this out.
for now I have unique?: 'must be unique' directly under errors:. I did not make sure however to put the i18 before dry-v.
maybe thats why it isnt picking up.
Christopher Dennl-Ortega Arrieta
@cdennl
and remember to restart the server then after adapting your initializer :)
panigrah
@panigrah
no luck.
Dry::Validation::MissingMessageError: message for unique? was not found
Christopher Dennl-Ortega Arrieta
@cdennl
mhh
all my statements are for drv-v 0.7.3
my config block looks like this:
```
configure do
        config.messages   = :i18n
        config.namespace  = :bid
        config.predicates = Dagavel::Predicates

        option :form

        def is_no_self_bid?( user )
          user.id != form.auction.user_id
        end

        def is_running?( auction )
          auction.is_running?
        end
      end
panigrah
@panigrah

this is the yml file

en:
   hello: "Hello world"
   errors:
      unique? : "WTF"

and initializer has required i18n on top before dry-v and reform and configure block has the same

i have 0.7.4 dry-v. I will take a break for now
thanks for your help!
Christopher Dennl-Ortega Arrieta
@cdennl
np
panigrah
@panigrah
@cdennl i just realized - that the global setting that was suggested by AMHOL doesn't work in my case. But if I put config.messages_file into my validation block then it works.
Christopher Dennl-Ortega Arrieta
@cdennl
messages_file or messages?
panigrah
@panigrah
messages_file and messages shows me a different error - perhaps i have a problem with i18 setup
Piotr Solnica
@solnic
You need to make sure i18n loads all your locale files
Christopher Dennl-Ortega Arrieta
@cdennl
my initializer for i18n:
```
# tell the I18n library where to find your translations
I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

# set default locale to something other than :en
I18n.default_locale = :en
Pablo Herrero
@pabloh
Sry if this was already asked, why dry-types depends on concurrent-ruby?
Hunter Madison
@hmadison
Thread safety stuff iirc