Browse Source

Start porting save methods over to args

dev
Andy Meneely 10 years ago
parent
commit
a7962e3728
  1. 8
      lib/squib/api/save.rb
  2. 2
      lib/squib/args/card_range.rb
  3. 30
      lib/squib/args/save_batch.rb

8
lib/squib/api/save.rb

@ -1,3 +1,6 @@
require 'squib/args/save_batch'
require 'squib/args/card_range'
module Squib
class Deck
@ -11,7 +14,6 @@ module Squib
# @return self
# @api public
def save(opts = {})
# opts = needs(opts, [:range, :creatable_dir, :formats, :prefix, :rotate])
save_png(opts) if Array(opts[:format]).include? :png
save_pdf(opts) if Array(opts[:format]).include? :pdf
self
@ -30,9 +32,11 @@ module Squib
# @return [nil] Returns nothing
# @api public
def save_png(opts = {})
range = Args::CardRange.new(opts[:range], deck_size: size)
batch = Args::SaveBatch.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
opts = needs(opts,[:range, :creatable_dir, :prefix, :count_format, :rotate])
@progress_bar.start("Saving PNGs to #{opts[:dir]}/#{opts[:prefix]}*", @cards.size) do |bar|
opts[:range].each do |i|
range.each do |i|
@cards[i].save_png(i, opts[:dir], opts[:prefix], opts[:count_format], opts[:rotate], opts[:angle])
bar.increment
end

2
lib/squib/args/card_range.rb

@ -29,4 +29,4 @@ module Squib
end
end
end
end

30
lib/squib/args/save_batch.rb

@ -0,0 +1,30 @@
require 'squib/args/arg_loader'
module Squib
# @api private
module Args
class SaveBatch
include ArgLoader
def initialize #TODO DSL method default for prefix
end
def self.parameters
{ dir: '_output',
prefix: 'card_',
count_format: '%02d',
rotate: false,
}
end
def self.expanding_parameters
[] # none of them
end
def self.params_with_units
[] # none of them
end
end
end
end
Loading…
Cancel
Save