Browse Source

Cleanup of img_dir and testing of input_file.rb

dev
Andy Meneely 11 years ago
parent
commit
92d866548c
  1. 22
      lib/squib/api/image.rb
  2. 3
      lib/squib/args/arg_loader.rb
  3. 2
      samples/custom-config.yml
  4. 2
      samples/custom_config.rb
  5. 21
      spec/args/input_file_spec.rb

22
lib/squib/api/image.rb

@ -28,12 +28,12 @@ module Squib
# @return [nil] Returns nil
# @api public
def png(opts = {})
range = Args::CardRange.new(opts[:range], deck_size: size)
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout)
box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: size, layout: layout, dpi: dpi)
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
Dir.chdir(img_dir) do
range = Args::CardRange.new(opts[:range], deck_size: size)
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout)
box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: size, layout: layout, dpi: dpi)
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
@progress_bar.start('Loading PNG(s)', range.size) do |bar|
range.each do |i|
@cards[i].png(ifile[i].file, box[i], paint[i], trans[i])
@ -68,13 +68,13 @@ module Squib
# @return [nil] Returns nil
# @api public
def svg(opts = {})
range = Args::CardRange.new(opts[:range], deck_size: size)
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout)
box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: size, layout: layout, dpi: dpi)
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
svg_args = Args::SvgSpecial.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
Dir.chdir(img_dir) do
range = Args::CardRange.new(opts[:range], deck_size: size)
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout)
box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: size, layout: layout, dpi: dpi)
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
svg_args = Args::SvgSpecial.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
@progress_bar.start('Loading SVG(s)', range.size) do |bar|
range.each do |i|
if svg_args.render?(i)

3
lib/squib/args/arg_loader.rb

@ -12,6 +12,7 @@ module Squib
# Main class invoked by the client (i.e. api/ methods)
def load!(args, expand_by: 1, layout: {}, dpi: 300)
Squib.logger.debug { "ARG LOADER: load! for #{self.class}, args: #{args}" }
@dpi = dpi
args[:layout] = prep_layout_args(args[:layout], expand_by: expand_by)
expand_and_set_and_defaultify(args: args, by: expand_by, layout: layout)
@ -133,4 +134,4 @@ module Squib
end
end
end
end

2
samples/custom-config.yml

@ -2,4 +2,4 @@ progress_bars: true
text_hint: '#FF0000'
custom_colors:
foo: '#ccc'
img_dir: customconfig-imgdir
img_dir: customconfig-imgdir

2
samples/custom_config.rb

@ -9,7 +9,7 @@ Squib::Deck.new(config: 'custom-config.yml') do
font: 'Arial 72', align: :center
# Progress bars are shown for these commands
# And images are taken from config-imgdir
# And images are taken from img_dir, not the cwd.
png file: 'shiny-purse2.png', x: 620, y: 75
svg file: 'spanner2.svg', x: 620, y: 218
save_png prefix: 'custom-config_'

21
spec/args/input_file_spec.rb

@ -0,0 +1,21 @@
require 'spec_helper'
require 'squib/args/input_file'
describe Squib::Args::InputFile do
subject(:ifile) {Squib::Args::InputFile.new}
context 'validate_file' do
it 'allows a file if it exists' do
args = {file: __FILE__} # I code therefore I am.
ifile.load!(args, expand_by: 1)
expect(ifile).to have_attributes(file: [File.expand_path(__FILE__)])
end
it 'raises on non-existent file' do
args = {file: 'foo.rb'}
expect { ifile.load!(args, expand_by: 1) }.to raise_error
end
end
end
Loading…
Cancel
Save