Rip out old constants from pre args classes

dev
Andy Meneely 2015-10-26 15:32:04 -04:00
parent a82664d223
commit 47b5f569a4
7 changed files with 16 additions and 176 deletions

View File

@ -1,6 +1,11 @@
# Squib CHANGELOG
Squib follows [semantic versioning](http://semver.org).
## v0.9.0 / Unreleased
Chores:
* Ripped out a lot of old constants used from the old way we handled arguments. Yay negative churn!
## v0.8.0 / 2015-10-26
Features
* The `xlsx` and `csv` support quantity explosion! Just use the column name 'Qty' and put integers in your sheet and you'll produce copies of the entire row. See README and the csv sample for more info. (#78)

View File

@ -28,7 +28,7 @@ module Squib
# @api public
def set(opts = {})
raise 'DEPRECATED: As of v0.7 img_dir is no longer supported in "set". Use config.yml instead.' if opts.key? :img_dir
@font = (opts[:font] == :default) ? Squib::SYSTEM_DEFAULTS[:default_font] : opts[:font]
@font = (opts[:font] == :default) ? Squib::DEFAULT_FONT: opts[:font]
end
end

View File

@ -1,4 +1,5 @@
require 'squib/args/arg_loader'
require 'squib/constants'
module Squib
# @api private
@ -41,7 +42,7 @@ module Squib
def validate_font(arg, _i)
arg = @deck_font if arg == :use_set
arg = Squib::SYSTEM_DEFAULTS[:default_font] if arg == :default
arg = DEFAULT_FONT if arg == :default
arg
end

View File

@ -10,9 +10,9 @@ module Squib
DEFAULTS = {
'antialias' => 'best',
'backend' => 'memory',
'count_format' => SYSTEM_DEFAULTS[:count_format],
'count_format' => '%02d',
'custom_colors' => {},
'dir' => SYSTEM_DEFAULTS[:dir],
'dir' => '_output',
'hint' => :none,
'img_dir' => '.',
'progress_bars' => false,

View File

@ -1,175 +1,9 @@
module Squib
# Squib's defaults for when arguments are not specified in the command nor layouts.
#
# System-wide default font
# :nodoc:
# @api public
SYSTEM_DEFAULTS = {
:align => :left,
:alpha => 1.0,
:angle => 0,
:angle_range => (Math::PI / -4.0)..(Math::PI / 4),
:blend => :none,
:color => :black,
:columns => 5,
:count_format => '%02d',
:cx1 => 0,
:cx2 => 0,
:cy1 => 0,
:cy2 => 0,
:data => nil,
:default_font => 'Arial 36',
:dir => '_output',
:dx => 0, # delta
:dy => 0, # delta
:ellipsize => :end,
:face => :left,
:fill_color => '#0000',
:force_id => false,
:font => :use_set,
:font_size => nil,
:format => :png,
:gap => 0,
:height => :native,
:hint => :off,
:inner_radius => 50,
:img_dir => '.',
:justify => false,
:key => '*',
:margin => 75,
:markup => false,
:mask => nil,
:n => 5,
:offset => 1.1,
:outer_radius => 100,
:prefix => 'card_',
:progress_bar => false,
:quotes => :dumb,
:reflect_offset => 15,
:reflect_percent => 0.25,
:reflect_strength => 0.2,
:range => :all,
:rotate => false,
:rows => :infinite,
:scale => 0.85,
:sheet => 0,
:spacing => 0,
:str => '',
:stroke_color => :black,
:stroke_width => 2.0,
:trim => 0,
:trim_radius => 38,
:valign => :top,
:width => :native,
:wrap => true,
:x => 0,
:x1 => 100,
:x2 => 150,
:x3 => 100,
:x_radius => 0,
:y => 0,
:y1 => 100,
:y2 => 150,
:y3 => 150,
:y_radius => 0,
}
# These are parameters that are intended to be "expanded" across
# range if they are singletons.
#
# For example: using a different font for each card, using one `text` command
#
# key: the internal name of the param (e.g. :files)
# value: the user-facing API key (e.g. file: 'abc.png')
#
# @api private
EXPANDING_PARAMS = {
:align => :align,
:alpha => :alpha,
:angle => :angle,
:blend => :blend,
:circle_radius => :radius,
:color => :color,
:cx1 => :cx1,
:cx2 => :cx2,
:cy1 => :cy1,
:cy2 => :cy2,
:dx => :dx,
:dy => :dy,
:ellipsize => :ellipsize,
:files => :file,
:fill_color => :fill_color,
:force_svgid => :force_id,
:font => :font,
:font_size => :font_size,
:height => :height,
:hint => :hint,
:inner_radius => :inner_radius,
:justify => :justify,
:layout => :layout,
:markup => :markup,
:mask => :mask,
:n => :n,
:outer_radius => :outer_radius,
:quotes => :quotes,
:rect_radius => :radius,
:spacing => :spacing,
:str => :str,
:stroke_color => :stroke_color,
:stroke_width => :stroke_width,
:svgdata => :data,
:svgid => :id,
:valign => :valign,
:width => :width,
:wrap => :wrap,
:x => :x,
:x1 => :x1,
:x2 => :x2,
:x3 => :x3,
:x_radius => :x_radius,
:y => :y,
:y1 => :y1,
:y2 => :y2,
:y3 => :y3,
:y_radius => :y_radius,
}
# These parameters are considered for unit conversion
#
# For example
# text str: 'Hello, World', x: '1in'
#
# key: the internal name of the param (e.g. :circle_radius)
# value: the user-facing API key (e.g. radius: '1in')
UNIT_CONVERSION_PARAMS = {
:circle_radius => :radius,
:cx1 => :cx1,
:cx2 => :cx2,
:cy1 => :cy1,
:cy2 => :cy2,
:dx => :dx, # delta
:dy => :dx, # delta
:gap => :gap,
:height => :height,
:inner_radius => :inner_radius,
:margin => :margin,
:outer_radius => :outer_radius,
:paper_width => :width,
:paper_height => :height,
:rect_radius => :radius,
:spacing => :spacing,
:stroke_width => :stroke_width,
:trim => :trim,
:width => :width,
:x => :x,
:x1 => :x1,
:x2 => :x2,
:x3 => :x3,
:x_radius => :x_radius,
:y => :y,
:y1 => :y1,
:y2 => :y2,
:y3 => :y3,
:y_radius => :y_radius,
}
DEFAULT_FONT = 'Arial 36'
# Used for inch-cm conversion
# :nodoc:

View File

@ -60,7 +60,7 @@ module Squib
# @api public
def initialize(width: 825, height: 1125, cards: 1, dpi: 300, config: 'config.yml', layout: nil, &block)
@dpi = dpi
@font = SYSTEM_DEFAULTS[:default_font]
@font = DEFAULT_FONT
@cards = []
@conf = Conf.load(config)
@progress_bar = Progress.new(@conf.progress_bars) # FIXME this is evil. Using something different with @ and non-@

View File

@ -21,7 +21,7 @@ describe Squib::Args::Paragraph do
it 'uses system default font when deck font is :default' do
para = Squib::Args::Paragraph.new(:default)
para.load!( {} )
expect(para.font).to eq [Squib::SYSTEM_DEFAULTS[:default_font]]
expect(para.font).to eq [Squib::DEFAULT_FONT]
end
it 'uses specified font when given' do