2015-01-27 10 views
1

tar 파일에서 추출한 conf 파일에 구성을 추가하려고합니다.exsiting 파일에 부분 템플릿을 추가 할 수 있습니까?

현재 요리 책은 템플릿을 사용하여 전체 파일을 덮어 쓰고 대신 원본 파일을 템플릿으로 사용하여 추가해야합니다. 그것도 가능

입니다

부분 템플릿 작업을 할 것 그러나 나는 기존 파일에 적용되는 부분 존재의 예를 찾을 수 없어?

감사합니다.

+0

표준 요리사 템플릿 리소스를 사용하는 대신 원본 파일을 템플릿으로 사용해야하는 이유를 설명 할 수 있다면 더 나은 답변을 드릴 수 있습니다. –

+0

응용 프로그램이 자체 포함 된 tar에 있고 필요한 모든 파일이 tar에 있어야하며 외부 종속성이 없어야합니다. 따라서 응용 프로그램은 tar로 제공되며 요리 책과 함께 제공되지 않습니다. – david

+0

그래, 그렇긴하지만 설정 파일을 수정할 필요는 없어. 맞지? tar에있는 설정 파일과 다른 설정 파일이 필요하다면, 표준 접근법은 단순히이 설정을하는 요리 책에 템플릿을 만드는 것입니다. –

답변

1

아니요, 실제로 그렇게 할 수 없습니다. 원본이 이미 erb 템플릿이 아닌 경우이 방법으로 사용할 수 없습니다. 당신에게는 정말로 두 가지 선택이 있습니다.

  1. 원본 파일을 부분적으로 포함하는 템플릿을 만듭니다. 나는 이것을 시도한 적이 없지만 이것이 효과가있을 것이라고 생각합니다. 요리사의 시스템을 통해 요리 책의 외부에있는 파일을 부분적으로 사용할 수 있는지 확신 할 수 없습니다.
  2. 요리사의 FileUtil 모듈을 사용하여 파일을 제자리에서 수정하십시오. 그렇게한다면 LWRP를 작성하여 포장하고 요리사 캐시에 새 파일을 만든 다음 기존 파일과 비교하고 변경 사항이있는 경우에만 "업데이트"할 것을 강력하게 제안합니다.

실제로 가장 적합한 방법은 거의 사용자 정의 erb 템플릿을 사용하는 것입니다. 원본에 특별한 데이터가 있으면 다시 캡처해야합니다. ruby_block을 사용하여 원본 데이터 형식을 읽고이를 템플릿에 전달할 수 있습니다.