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- @@reset =
false
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.
-
.reset ⇒ Boolean
Accessor for the boolean of whether to clear the flags_dir.
-
.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
20 21 22 23 24 25 |
# File 'lib/usps_flags/config.rb', line 20 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
27 28 29 |
# File 'lib/usps_flags/config.rb', line 27 def flags_dir @flags_dir end |
#reset ⇒ Object
28 29 30 |
# File 'lib/usps_flags/config.rb', line 28 def reset @reset end |
#use_larger_tridents ⇒ Object
29 30 31 |
# File 'lib/usps_flags/config.rb', line 29 def use_larger_tridents @use_larger_tridents end |
Class Method Details
.flags_dir ⇒ String
Accessor for the directory for storing generated flags.
87 88 89 90 91 92 93 |
# File 'lib/usps_flags/config.rb', line 87 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.
98 99 100 101 102 103 104 105 106 |
# File 'lib/usps_flags/config.rb', line 98 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 |
.reset ⇒ Boolean
Accessor for the boolean of whether to clear the flags_dir.
120 121 122 |
# File 'lib/usps_flags/config.rb', line 120 def self.reset @@reset end |
.trident ⇒ Hash
Base configuration values for trident insignia.
All other values are derived from these, or directly from the constant sizes.
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 70 |
# File 'lib/usps_flags/config.rb', line 36 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.
75 76 77 78 79 80 81 82 |
# File 'lib/usps_flags/config.rb', line 75 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.
111 112 113 114 115 |
# File 'lib/usps_flags/config.rb', line 111 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 |