问题标签 [dry-rb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 初始化前找到子类目录配置dry-view路径
我在多个 Rails 引擎中使用干视图,我必须在每个子类中复制配置。
原因是,我的观点可以深深地嵌套在app
ie. 的子文件夹中:
此外,BaseView
在大多数情况下,该类并不存在于同一个 gem 中。
如果我从类中删除该configure
块SubView
,则不再找到该模板。该__dir__
变量包含BaseView
类的目录路径。
我试图在可以访问子类目录的基类中实现初始化后的方法。但此时由于配置限制,无法再进行dry-rb
配置。配置必须在初始化之前进行。
我能想出的唯一解决方案是configure
在每个类中复制块,或者有一个配置所有可能模板路径的 gem/engine 特定的父类。
在这种情况下,查找在每个子类中实现的某个方法的目录的常用方法在这种情况下也不起作用,因为大多数视图甚至没有定义方法。
有没有更好的方法在这个类的加载阶段在父类的方法中访问给定类的目录?
ruby - 如何为 Dry::Validation.Params 方案设置默认值?
我有下一个计划
如果我通过空哈希进行验证,我会得到空输出,但我想为我的数据设置默认值。
我试过Dry::Types.default
了,但它没有在输出中添加默认值。这就是我尝试过的。
有可能做我想做的事吗?
ruby-on-rails - dry-rb_autoinject 和 GraphQL
我正在尝试制作一个 GraphQL API,但也通过dry-rb_autoinject 实现依赖注入。我设法通过控制器和上下文来做到这一点。这是我的测试 QueryType。
而在 graphql_controller 我只是做
但是这个解决方案似乎并不是很好,因为我导入了所有服务,即使是那些我不需要的当前字段。有没有更好的方法,也许不是通过上下文?
ruby-on-rails - 使用 DryValidations 验证查询参数时缺少模块
我有一个jsonapi端点,我在其中获取查询参数“include”,其中几个对象由“,”分隔 为了实现这一点,我根据文档制作了这个:
现在,当我运行我的测试时,我得到了这个错误:
失败/错误:IncludeRelatedObject = Types::String.constructor do |itm| itm.split(',')&.map :chomp end
NameError: 未初始化的常量 CustomTypes::Types
这是我的验证:
任何想法我的代码有什么问题?
ruby - dry-struct 如何有条件地验证一个属性?
我正在使用干类型和干结构,我想进行条件验证。
对于班级:
如果'tax_type =='IS' ,我想验证tax_ammount
为整数和强制性。
rspec - 如何模拟dry-rb(使用inf改革合约)验证配置方法
我的问题是我想模拟我的自定义验证方法,该方法从数据库返回一些数据(id 列表 - 检查给定的 id 是否在我的数据库中)。
少说话,多代码:在我的 Newsletter::Contract::Create 类中
在测试中,我尝试运行
但显然我收到
所以问题是我的自定义验证方法需要什么对象,所以我可以模拟它?;]
ruby - 自动截断字符串
以干验证为例:
我想创建一个新类型,StrictString
它将使用谓词信息,喜欢max_size
并截断它。
问题:我无权访问Types::String.constructor
. 如果我反过来,即通过自定义谓词,我不能只返回真或假,我看不到如何更改参数。
我想用霰弹枪杀死一只苍蝇吗?
ruby - Dry::Web::Container 通过多次调用来产生不同的对象来解析
我正在尝试编写一个测试来断言所有定义的操作都在成功运行时被调用。我在列表中定义了给定进程的操作,并从容器中解析它们,如下所示:
然后我测试如下:
这会失败,因为container[operation_name]
从内部调用ProcessController
和从测试内部调用会产生不同的操作实例。我可以通过比较对象 ID 来验证它。除此之外,我知道代码工作正常并且所有操作都被调用。
容器配置为自动注册这些操作,并在测试开始运行之前完成。
如何使解析相同的键返回相同的项目?
ruby-on-rails - Ruby on Rails:干模式干验证不验证存在
我在 Rails 应用程序中使用干验证和干模式并实施建议以检查如何检查title
属性的存在。尽管如此,在完成上述操作后,它仍然说
但是,标题属性肯定包含在发送的原始参数中。有人有什么建议吗?
以下是发送的原始参数,其中明确包括“标题”: