Module: Thermal::Db::Data
Constant Summary collapse
- MUTEX =
Mutex.new
- DATA_PATH =
'data/db.yml'
Instance Method Summary collapse
- #available_charsets ⇒ Object
- #available_devices ⇒ Object
- #available_encodings ⇒ Object
- #charset(charset) ⇒ Object
- #data ⇒ Object
- #device(device) ⇒ Object
- #encoding(encoding) ⇒ Object
- #reload ⇒ Object
Instance Method Details
#available_charsets ⇒ Object
30 31 32 |
# File 'lib/thermal/db/data.rb', line 30 def available_charsets data['charsets'] end |
#available_devices ⇒ Object
22 23 24 |
# File 'lib/thermal/db/data.rb', line 22 def available_devices data['devices'] end |
#available_encodings ⇒ Object
26 27 28 |
# File 'lib/thermal/db/data.rb', line 26 def available_encodings data['encodings'] end |
#charset(charset) ⇒ Object
46 47 48 49 50 |
# File 'lib/thermal/db/data.rb', line 46 def charset(charset) return unless charset data.dig('charsets', 'escpos', charset.to_i) end |
#data ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/thermal/db/data.rb', line 11 def data MUTEX.synchronize do @data ||= begin data = load_data normalize_data!(data) ::Thermal::Util.deep_freeze!(data) data end end end |
#device(device) ⇒ Object
34 35 36 37 38 |
# File 'lib/thermal/db/data.rb', line 34 def device(device) return unless device data.dig('devices', device.to_s) end |
#encoding(encoding) ⇒ Object
40 41 42 43 44 |
# File 'lib/thermal/db/data.rb', line 40 def encoding(encoding) return unless encoding data.dig('encodings', encoding.to_s) end |
#reload ⇒ Object
52 53 54 55 56 |
# File 'lib/thermal/db/data.rb', line 52 def reload MUTEX.synchronize do @data = nil end end |