나는 Thin, Sinatra 및 Bundler의 조합으로 놀고 있습니다. 로드 경로에 내 소스 코드의 경로를 포함시키는 방법을 씬에 알기 위해 노력하고 있습니까? 이 설치 프로그램에 대한 소개 자습서를 찾았지만 아무도 내 질문에 대답하지 않는 것 같습니다.씬 (thin)으로 호출 할 때로드 경로에서 루비 소스를 얻으려면 어떻게해야합니까?
랙 업 파일 또는 씬 (thin) 설정 파일로 주위를 조심하지 못합니다. 내가 좋아하는 뭔가 디렉토리 구조를 가지고 있다고 가정하십시오 rackup 파일의
bin/my-application-entry.rb # The entry point to my sinatra application
lib/myapp/mylibs.rb
thin/config.ru # rackup config
thin/dev.yaml # thin config
Gemfile # for my dependencies
내용은 내가가는이 걸리는 것으로 나타났습니다 내가
thin -C thin/dev.yaml -R thin/config.ru start
와 응용 프로그램을 호출 할 본질적으로
require 'sinatra'
# I'd like to require 'my-application-entry' around here somewhere (I think?)
run Sinatra.application
입니다 명령 줄 인수를 사용하여 특정 라이브러리가 필요하지만 모든로드 경로를 정의 할 수있는 더 나은 곳이 있습니까?
내 질문은 정말 어떻게 얇은/랙/bundler 포함 할 디렉터리를 말할합니까? (예 : bin/및 lib /)
편집 : 명확하게하기 위해 일반적으로 Thin을 사용하여 일반적으로 어떻게 수행되는지 알고 싶습니다. 주 응용 프로그램에서 $를 수정하는 것을 꺼려합니다. 그러나 $ :를 사용해야 만한다면, Thin/Rack/Sinatra 컨텍스트에서 가장 적합한 위치는 어디입니까?
로드 경로에 필요한 디렉토리를 추가하는 데 대한 기술적 인 세부 사항을 알고 있습니다. 내 질문은 디자인 관점에서 더 목표를 설정했습니다.이 작업을 수행 할 수있는 적절한 위치는 어디입니까? 일반적으로, 나는 더 좋은 방법이 없다면 소스 코드에서'$ :'를 불편하게 느낀다. 예를 들어, 내가 작성한 응용 프로그램에서 루비 프로세스가 실행되기 전에로드 경로가 설정되고'ruby -I'를 통해 전달됩니다. 나는 이것이 올바른 접근법이라고 말하지는 않지만,이 경우 애플리케이션에서 환경을 명확하게 분리 할 수 있기 때문에 $를 망치는 것보다 깔끔합니다. – jabalsad