23、深入理解轻量级资源与提供者(LWRP)及其内部机制

深入理解轻量级资源与提供者(LWRP)及其内部机制

1. LWRP 资源定义中的属性验证与方法

在 LWRP 资源定义中,有一些重要的属性验证选项和方法值得关注。
- :respond_to 选项 :该选项允许指定某个属性必须具有特定的方法。例如,我们可以允许一个属性为实现了 to_s 方法的任何类,而无需将该属性限制为特定的类类型列表。这些验证选项作为参数用于 attribute 方法,示例如下:

attribute :working_dir, :kind_of => String, :default => "/tmp/awesomeator"

使用属性验证选项能让我们对允许赋予 LWRP 的属性进行大量控制,这样就无需在提供者中实现属性验证,因为资源中使用的属性验证选项会为我们完成此任务。
- attr_accessor 方法 :虽然它不是严格意义上的 LWRP 资源 DSL 的一部分,但在资源定义中经常使用。与本节列出的其他方法不同, attr_accessor 方法由 Ruby 本身定义。在 LWRP 中,当提供者可能需要对属性进行读写操作时,会频繁使用该方法。可以将对 attribute 方法的调用视为定义一个只读参数传递给提供者,而对 attr_accessor 方法的调用则定义了一个资源上的属性,提供者可以对其进行读写操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值