module MonoclePrint::GraphicsRegistry

Constants

ENV_KEY
FALLBACK_STYLE

Attributes

default_style[RW]

Public Instance Methods

default() click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 34
def default
  style( default_style )
end
define( name, *parts ) click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 38
def define( name, *parts )
  parts.map! { | p | Line( p ).freeze }
  name       = name.to_s
  definition = new( *parts ).freeze
  named_styles.store( name, definition )
  define_singleton_method( name ) { style( name ) }
  definition
end
named_styles() click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 14
def named_styles
  @named_styles ||= Hash.new { |h, k| h[ default_style ].dup }
end
style( name ) click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 22
def style( name )
  named_styles[ name.to_s ]
end
style?( name ) click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 18
def style?( name )
  named_styles.key?( name.to_s )
end
styles() click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 26
def styles
  named_styles.keys
end

Private Instance Methods

detect_style_from_env() click to toggle source
# File lib/monocle-print/graphics/registry.rb, line 49
  def detect_style_from_env
    default_style = ENV.fetch( ENV_KEY, FALLBACK_STYLE )
    unless style?( default_style )
      message = <<-END.gsub!( /^\s*\| ?/, '' ).strip!.gsub!( /\s+/, ' ' )
      | cannot set MonoclePrint's default graphics style
      | from the MONOCLE_PRINT_STYLE environment variable as `%s'
      | is not a known style; defaulting to `%s'
      END
      warn( message % [ default_style, FALLBACK_STYLE ] )
      default_style = FALLBACK_STYLE
    end
    default_style
  end