2013-08-08 2 views
10

나는 자산 파이프 라인에서 .png.rb 개의 파일을 찾아 내 응용 프로그램에서 다양한 페이지의 png 스크린 샷을 생성하는 레일스 용 스프로킷 전처리기를 만들려고합니다.사용자 정의 스프로킷 프로세서 생성을위한 문서?

이 주제에 대해 많은 내용을 읽었지만이 설정 방법에 대한 간단한 문서를 찾을 수없는 것 같습니다. 도와주세요?


/initializers/sprockets.rb : 여기

는 지금까지이 무엇

require 'screenshot_preprocessor' 

Rails.application.assets.register_mime_type('screenshot/png', '.png.rb') 
Rails.application.assets.register_preprocessor('screenshot/png', ScreenshotPreprocessor) 

/lib/screenshot_preprocessor.rb:

class ScreenshotPreprocessor 
    # What API do I need to provide here? 
    # - What methods do I need to provide? 
    # - What parameters does Sprockets pass me? 
    # - What do I need to return to Sprockets? 
end 
+0

참고 : GitHub에서 [문제] (https://github.com/sstephenson/sprockets/issues/462)도 열었습니다. – Ajedi32

답변

7

좋아, 난 아직 문서를 찾을 위치를 잘 모르겠어요이에.


/initializers/sprockets.rb :하지만, 톱니 '소스 코드를 읽는 놀리려는 디버거와 함께 주위를 연주하고, 톱니와 비슷한 일을했던 사람들로부터 블로그 게시물을 읽고, 나는이 가지고 올 수 있었다

require 'screenshot_generator' 

Rails.application.assets.register_engine('.screenshot', ScreenshotGenerator) 

/lib/screenshot_generator.rb:

require_relative 'capybara_screenshot' # Don't worry about this, it's not 
             # relevant to this question. 

class ScreenshotGenerator < Sprockets::Processor 
    def evaluate(context, locals) 
    generator_class = ScreenshotGenerator.get_generator_class(context.pathname) 

    return generator_class.new.generate 
    end 

    private 

    def self.get_generator_class(generator_file) 
    # This evaluates the Ruby code in the given file and returns a class that 
    # can generate a binary string containing an image file. 
    # (Code omitted for brevity) 
    end 
end 

이것은 현재 잘 작동하지만 스프로킷 전처리 기, 포스트 프로세서 및 엔진 작동 방식에 대한 실제 설명서를 선호합니다. 누구든지 그러한 문서를 찾으면 답을 게시하십시오.

관련 문제