Class: Middleman::SocialImage::Converter
- Inherits:
-
Object
- Object
- Middleman::SocialImage::Converter
- Defined in:
- lib/middleman-social_image/converter.rb
Instance Method Summary collapse
- #convert(resource) ⇒ Object
- #image_path(resource) ⇒ Object
-
#initialize(app, window_size, selector, always_generate, base_url) ⇒ Converter
constructor
A new instance of Converter.
Constructor Details
#initialize(app, window_size, selector, always_generate, base_url) ⇒ Converter
Returns a new instance of Converter.
3 4 5 6 7 8 9 |
# File 'lib/middleman-social_image/converter.rb', line 3 def initialize(app, window_size, selector, always_generate, base_url) @app = app @window_size = window_size @selector = selector @always_generate = always_generate @base_url = base_url end |
Instance Method Details
#convert(resource) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/middleman-social_image/converter.rb', line 15 def convert(resource) image_path = image_path(resource) if File.exist?(image_path) && !@always_generate @app.logger.debug "== social_image: skipping #{resource.path} as already in cache" else @app.logger.debug "== social_image: converting #{resource.path}" session.visit(File.join(@base_url, resource.url)) raise "#{resource.url} did not contain '#{@selector}'." unless session.has_selector?(@selector) FileUtils.mkdir_p(File.dirname(image_path)) session.save_screenshot(image_path) end end |
#image_path(resource) ⇒ Object
11 12 13 |
# File 'lib/middleman-social_image/converter.rb', line 11 def image_path(resource) File.join(@app.root, "tmp/middleman-social_image", resource.path.sub(".html", ".png")) end |