Class: USPSFlags::Config
- Inherits:
-
Object
- Object
- USPSFlags::Config
- Defined in:
- lib/usps_flags/config.rb
Overview
Container class for configuration values.
Constant Summary collapse
- @@flags_dir =
"#{File.dirname(__dir__)}/output"- @@use_larger_tridents =
true
Instance Attribute Summary collapse
Class Method Summary collapse
-
.flags_dir ⇒ String
Accessor for the directory for storing generated flags.
-
.log_path ⇒ String
Alias for the directory to store generated log files.
-
.trident ⇒ Hash
Base configuration values for trident insignia.
-
.trident_heights ⇒ Hash
Height values for trident insignia.
-
.use_larger_tridents ⇒ Boolean
Accessor for the boolean of whether to use the larger or smaller trident width.
Instance Method Summary collapse
-
#initialize {|_self| ... } ⇒ Config
constructor
Configuration constructor.
Constructor Details
#initialize {|_self| ... } ⇒ Config
Configuration constructor
19 20 21 22 23 24 |
# File 'lib/usps_flags/config.rb', line 19 def initialize load_init_variables yield self if block_given? set_class_variables set_flags_dir(reset: @reset) end |
Instance Attribute Details
#flags_dir ⇒ Object
26 27 28 |
# File 'lib/usps_flags/config.rb', line 26 def flags_dir @flags_dir end |
#reset ⇒ Object
27 28 29 |
# File 'lib/usps_flags/config.rb', line 27 def reset @reset end |
#use_larger_tridents ⇒ Object
28 29 30 |
# File 'lib/usps_flags/config.rb', line 28 def use_larger_tridents @use_larger_tridents end |
Class Method Details
.flags_dir ⇒ String
Accessor for the directory for storing generated flags.
86 87 88 89 90 91 92 |
# File 'lib/usps_flags/config.rb', line 86 def self.flags_dir @@flags_dir || if defined?(::Rails) "#{::Rails.root}/app/assets/images/usps-flags" else "#{File.dirname(__dir__)}/output" end end |
.log_path ⇒ String
Alias for the directory to store generated log files.
97 98 99 100 101 102 103 104 105 |
# File 'lib/usps_flags/config.rb', line 97 def self.log_path log_path = if defined?(::Rails) "#{::Rails.root}/log" else "#{@@flags_dir}/log" end ::FileUtils.mkdir_p(log_path) log_path end |
.trident ⇒ Hash
Base configuration values for trident insignia.
All other values are derived from these, or directly from the constant sizes.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/usps_flags/config.rb', line 35 def self.trident point_height = USPSFlags::Config::BASE_FLY/48*17/8 = USPSFlags::Config::BASE_FLY/48 = *5/4 if self.use_larger_tridents { height: trident_heights, center_point: BASE_FLY/2, width: USPSFlags::Config::BASE_FLY*5/32, bar_width: , point_height: point_height, main_point_barb: USPSFlags::Config::BASE_HOIST/240, crossbar_from_top: USPSFlags::Config::BASE_HOIST/4, side_spike_height: USPSFlags::Config::BASE_HOIST/4-point_height-, hash_width: USPSFlags::Config::BASE_FLY*3/32, delta_height: USPSFlags::Config::BASE_FLY*2/15, delta_gap_height: self.use_larger_tridents ? USPSFlags::Config::BASE_FLY*14/256 : USPSFlags::Config::BASE_FLY*17/256, delta_gap_width: self.use_larger_tridents ? *5/4 : *7/4, delta_width: USPSFlags::Config::BASE_FLY*43/768, delta_from_bottom: USPSFlags::Config::BASE_HOIST*11/64, delta_gap_scale: 0.40, delta_gap_x: USPSFlags::Config::BASE_HOIST*144/128, delta_gap_y: USPSFlags::Config::BASE_HOIST*221/256, circle_height_adj: USPSFlags::Config::BASE_FLY/800 } end |
.trident_heights ⇒ Hash
Height values for trident insignia.
74 75 76 77 78 79 80 81 |
# File 'lib/usps_flags/config.rb', line 74 def self.trident_heights { s: USPSFlags::Config::BASE_HOIST/2, d: USPSFlags::Config::BASE_HOIST*5/8, stf: USPSFlags::Config::BASE_HOIST*3/4, n: USPSFlags::Config::BASE_HOIST*3/4 } end |
.use_larger_tridents ⇒ Boolean
Accessor for the boolean of whether to use the larger or smaller trident width.
110 111 112 113 114 |
# File 'lib/usps_flags/config.rb', line 110 def self.use_larger_tridents # Smaller: 1/2 in width on 24in x 16in field # Larger: 5/8 in width on 24in x 16in field @@use_larger_tridents end |