Class: USPSFlags::Generate
- Inherits:
-
Object
- Object
- USPSFlags::Generate
- Defined in:
- lib/usps_flags/generate.rb
Overview
Controller class for generating files.
Class Method Summary collapse
-
.all(svg: true, png: true, zips: true, reset: true) ⇒ Object
Generate all static SVG and PNG files, and automaticall generates zip archives for download.
-
.images(svg: true, png: true) ⇒ Object
Generate static image files.
-
.png(svg, outfile: nil, trim: false, background: 'none') ⇒ Object
Convert SVG data into a PNG file.
-
.spec(outfile: nil, fly: USPSFlags::Config::BASE_FLY, unit: nil, scale: nil, scaled_border: false) ⇒ String
Generate trident spec sheet as an SVG image.
-
.svg(flag, outfile: nil, scale: nil, field: true) ⇒ String
The primary controller method.
-
.zips(svg: true, png: true) ⇒ Object
Generate zip archives of current static image files.
Class Method Details
.all(svg: true, png: true, zips: true, reset: true) ⇒ Object
Generate all static SVG and PNG files, and automaticall generates zip archives for download.
50 51 52 53 54 55 56 57 58 |
# File 'lib/usps_flags/generate.rb', line 50 def all(svg: true, png: true, zips: true, reset: true) all_arg_error unless any_all_arg?(svg, png, zips, reset) track_time do remove_static_files if reset images(svg: svg, png: png) if svg || png zips(svg: svg, png: png) if zips end end |
.images(svg: true, png: true) ⇒ Object
Generate static image files.
80 81 82 83 84 85 |
# File 'lib/usps_flags/generate.rb', line 80 def images(svg: true, png: true) static_generation_header USPSFlags::Helpers.valid_flags(:all).each do |flag| generate_static_images_for(flag, svg: svg, png: png) end end |
.png(svg, outfile: nil, trim: false, background: 'none') ⇒ Object
Convert SVG data into a PNG file.
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/usps_flags/generate.rb', line 32 def png(svg, outfile: nil, trim: false, background: 'none') raise USPSFlags::Errors::PNGGenerationError.new(svg: svg) if outfile.nil? || outfile.empty? set_temp_svg(svg) USPSFlags::Helpers.ensure_dir_for_file(outfile) generate_png(background, trim, outfile) ensure ::File.delete(@temp_svg_path) if delete_temp_svg? end |
.spec(outfile: nil, fly: USPSFlags::Config::BASE_FLY, unit: nil, scale: nil, scaled_border: false) ⇒ String
Generate trident spec sheet as an SVG image.
94 95 96 97 98 99 100 101 |
# File 'lib/usps_flags/generate.rb', line 94 def spec(outfile: nil, fly: USPSFlags::Config::BASE_FLY, unit: nil, scale: nil, scaled_border: false) svg = +'' svg << USPSFlags::Core.headers(scale: scale, title: 'USPS Trident Specifications') svg << USPSFlags::Core.trident_spec(fly: fly, unit: unit, scaled_border: scaled_border) svg << USPSFlags::Core. USPSFlags::Helpers.output(svg, outfile: outfile) end |
.svg(flag, outfile: nil, scale: nil, field: true) ⇒ String
The primary controller method. Generates an SVG file or SVG data.
16 17 18 19 20 21 22 23 24 |
# File 'lib/usps_flags/generate.rb', line 16 def svg(flag, outfile: nil, scale: nil, field: true) flag = flag.upcase.delete('/', '_', 'PENNANT') USPSFlags::Helpers.ensure_dir_for_file(outfile) output = special_flag(flag, outfile, scale) output ||= USPSFlags::Generate::Flag.officer(rank: flag, outfile: outfile, scale: scale, field: field) output end |
.zips(svg: true, png: true) ⇒ Object
Generate zip archives of current static image files.
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/usps_flags/generate.rb', line 64 def zips(svg: true, png: true) unless svg || png raise( USPSFlags::Errors::ZipGenerationError, 'At least one argument switch must be true out of [svg, png].' ) end generate_zip('svg') if svg generate_zip('png') if png end |