2016-10-02 3 views
0

"파일"폴더에 LWRP와 일부 파일이 들어있는 요리 책이 있습니다.Chef LWRP를 불러들이는 자원이 들어있는 요리 책으로 돌아 가기

cookbook_file put_it_here do 
    source myfile 
end 

자신의 요리 책의 "파일"디렉토리에서 찾게됩니다이 자원을 호출하는 다른 요리 책에서 조리법, 자원이있는 요리 책이 아닌 파일.

나는 cookbook_name을 사용해 보았지만 리소스를 호출하는 제조법을 여전히 해결하므로 아래 코드는 작동하지 않습니다.

cookbook_file put_it_here do 
    source myfile 
    cookbook cookbook_name 
end 

하드 코딩하지 않고 리소스가있는 요리 책의 파일 디렉토리를 어떻게 참조 할 수 있습니까?

답변

2

불행히도 당신은 단지 그것을 하드 코딩해야합니다.

기술적으로는 self.class.to_s을 구문 분석 할 수 있지만 LWRP의 경우이를 직접 노출하지 않습니다. Poise의 경우 매니페스트 데이터를 기반으로 요리 책 이름을 리버스 엔지니어링하는 것이 있습니다.하지만 내 kool-aid를 마시고 싶지 않으면 도움이되지 않습니다.

+0

아, 감사합니다. 그런데 이것이 반 패턴이 아닌 방법입니까? 나는 다른 요리 책을 보려고 할 것입니다.하지만 이것은 꽤 흔한 일입니까? – red888

+0

예, 꽤 일반적이며 귀찮습니다. 그래서 나는 모든 요리 책을 위해 그것을 고쳤다. 나는 그것을 스스로 해결할 수 있다면 Chef core가 어떻게하는지에 대해 신경 쓰지 않는 경향이있다. – coderanger