class Bollettino::Renderer::Base

Base renderer

@abstract Subclass and override {.render} to create a renderer

@author Alessandro Desantis <desa.alessandro@gmail.com>

Constants

FONT_SIZE_NORMAL
FONT_SIZE_SMALL
KERNING_BOX
KERNING_BOX_SMALLER
KERNING_BOX_SMALLEST
KERNING_NORMAL

Public Class Methods

render(_image, _model) click to toggle source

Renders the given model on the image.

@param image [MiniMagick::Image] @param model

@abstract This method must be overridden by the renderers

# File lib/bollettino/renderer/base.rb, line 27
def render(_image, _model)
  fail NotImplementedError
end

Protected Class Methods

write_text(image, coords, text, kerning = KERNING_NORMAL, font_size = FONT_SIZE_NORMAL) click to toggle source
# File lib/bollettino/renderer/base.rb, line 33
def write_text(image, coords, text, kerning = KERNING_NORMAL, font_size = FONT_SIZE_NORMAL)
  image.combine_options do |c|
    c.font 'courier'
    c.fill 'black'
    c.pointsize font_size
    c.gravity 'southwest'
    c.kerning kerning
    c.draw %(text #{coords.join(',')} "#{text.to_s.upcase.gsub('"', '\"')}")
  end
end