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) ⇒ 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.
58 59 60 61 62 63 64 65 66 |
# File 'lib/usps_flags/generate.rb', line 58 def all(svg: true, png: true, zips: true, reset: true) raise USPSFlags::Errors::StaticFilesGenerationError, "At least one argument switch must be true out of [svg, png, zips, reset]." unless svg || png || zips || reset overall_start_time = Time.now remove_static_files if reset images(svg: svg, png: png) if svg || png zips(svg: svg, png: png) if zips USPSFlags::Helpers.log "\nTotal run time: #{Time.now - overall_start_time} s\n\n" end |
.images(svg: true, png: true) ⇒ Object
Generate static image files.
82 83 84 85 86 87 |
# File 'lib/usps_flags/generate.rb', line 82 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) ⇒ Object
Convert SVG data into a PNG file.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/usps_flags/generate.rb', line 34 def png(svg, outfile: nil, trim: false) raise USPSFlags::Errors::PNGGenerationError, svg: svg if outfile.nil? || outfile.empty? set_temp_svg(svg) USPSFlags::Helpers.ensure_dir_for_file(outfile) MiniMagick::Tool::Convert.new do |convert| convert << "-background" << "none" convert << "-format" << "png" convert << "-trim" if trim convert << @temp_svg_path convert << outfile end 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.
96 97 98 99 100 101 102 103 |
# File 'lib/usps_flags/generate.rb', line 96 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.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/usps_flags/generate.rb', line 11 def svg(flag, outfile: nil, scale: nil, field: true) flag = flag.upcase.delete("/", "_", "PENNANT") USPSFlags::Helpers.ensure_dir_for_file(outfile) if ["CRUISE", "OIC"].include?(flag) USPSFlags::Generate::Flag.pennant(type: flag, outfile: outfile, scale: scale) elsif flag == "ENSIGN" USPSFlags::Generate::Flag.ensign(outfile: outfile, scale: scale) elsif flag == "US" USPSFlags::Generate::Flag.us(outfile: outfile, scale: scale) elsif flag == "WHEEL" USPSFlags::Generate::Flag.wheel(outfile: outfile, scale: scale) else USPSFlags::Generate::Flag.officer(rank: flag, outfile: outfile, scale: scale, field: field) end end |
.zips(svg: true, png: true) ⇒ Object
Generate zip archives of current static image files.
72 73 74 75 76 |
# File 'lib/usps_flags/generate.rb', line 72 def zips(svg: true, png: true) raise USPSFlags::Errors::ZipGenerationError, "At least one argument switch must be true out of [svg, png]." unless svg || png generate_zip("svg") if svg generate_zip("png") if png end |