module Caracal::Core::Images

This module encapsulates all the functionality related to adding images to the document.

Public Class Methods

included(base) click to toggle source
# File lib/caracal/core/images.rb, line 12
def self.included(base)
  base.class_eval do
    
    #-------------------------------------------------------------
    # Public Methods
    #-------------------------------------------------------------
    
    def img(*args, &block)
      options = Caracal::Utilities.extract_options!(args)
      options.merge!({ url: args.first }) if args.first
      
      model = Caracal::Core::Models::ImageModel.new(options, &block)
      if model.valid?
        contents << model
      else
        raise Caracal::Errors::InvalidModelError, 'Images require an URL and positive size/margin values.'
      end
      model
    end
    
  end
end

Public Instance Methods

img(*args, &block) click to toggle source
# File lib/caracal/core/images.rb, line 19
def img(*args, &block)
  options = Caracal::Utilities.extract_options!(args)
  options.merge!({ url: args.first }) if args.first
  
  model = Caracal::Core::Models::ImageModel.new(options, &block)
  if model.valid?
    contents << model
  else
    raise Caracal::Errors::InvalidModelError, 'Images require an URL and positive size/margin values.'
  end
  model
end