저는 요리사가 간단한 요리 책을 만들려고합니다. 도서관을 학습 과정으로 사용하고 있습니다. 나는 조리법이를 호출 할 때요리법에서 라이브러리의 클래스 메소드 사용
module ABC
class YumD
def self.pack (*count)
for i in 0...count.length
yum_packag "#{count[i]}" do
action :nothing
end.run_action :install
end
end
end
end
나는
undefined method `yum_package' for ABC::YumD:Class
감사합니다. 그러나'package.run_action (: install)에 대한 오류가 발생합니다. 내가 얻는 오류는 '정의되지 않은 메서드'events for nil : NilClass '입니다. package.action은 정상적으로 작동합니다. 하지만 패키지에 의존하는 chef_gem을 사용하여 보석을 다운로드 할 때 컴파일 할 때 패키지를 설치해야합니다. – Sbal
파티가 늦어 지지만, 이것이 작동하지 않는 이유는 생성자에'run_context'가 누락되어 있다고 생각하기 때문입니다. 그러나 그것은 도서관에서 사용할 수없는 것 같습니다. –
내가 찾고 있던 답변은 http://stackoverflow.com/questions/20835697/how-to-require-my-library-in-chef-ruby-block의 레서피와 답변에서 클래스 메서드를 사용하는 방법이었습니다. 나를 도와 주었다. 'def self. <> '으로 메소드를 정의한 다음'AppHelper. <> –
saranicole