【发布时间】:2020-05-12 09:38:15
【问题描述】:
# frozen_string_literal: true
require 'yaml'
require 'singleton'
require 'pry'
module Plugin
module Rules
class RulesLoader
include Singleton
attr_reader :definitions
def initialize
@definitions = load #it is calling the private method and loads the definitions
end
def fetch_rule_definition_for(key)
definitions[key]
end
private
def load
#Other code
Hash = {}
#this method returns the hash after processing
end
end
end
end
如何为这个类编写规范,其中初始化方法调用私有方法并加载实例变量。由于加载方法是私有的,我不直接调用。
【问题讨论】:
-
如果您需要将
load包装到另一个方法中,为什么要使用构造函数呢?您可以简单地创建方法definitions,或使用别名。
标签: ruby rspec rspec-rails