Class: BC::API::Parser
- Inherits:
-
Object
- Object
- BC::API::Parser
- Defined in:
- lib/bloomberg_currency/api/parser.rb
Overview
Provides methods to parse various data types from strings such as prices, datetimes, and ranges.
Class Method Summary collapse
- .parse_datetime(datetime_str) ⇒ Object
- .parse_price(price_str) ⇒ Object
- .parse_price_range(price_range_arr) ⇒ Object
- .parse_tr_ytd(tr_ytd_str) ⇒ Object
Class Method Details
.parse_datetime(datetime_str) ⇒ Object
27 28 29 |
# File 'lib/bloomberg_currency/api/parser.rb', line 27 def parse_datetime(datetime_str) ::DateTime.strptime(datetime_str, '%Y-%m-%dT%H:%M:%S.%LZ') end |
.parse_price(price_str) ⇒ Object
22 23 24 25 |
# File 'lib/bloomberg_currency/api/parser.rb', line 22 def parse_price(price_str) raw_price_str = price_str.gsub(/[^\d.,\-]/, '') raw_price_str.delete(',').to_f end |
.parse_price_range(price_range_arr) ⇒ Object
35 36 37 38 39 |
# File 'lib/bloomberg_currency/api/parser.rb', line 35 def parse_price_range(price_range_arr) lower = parse_price(price_range_arr[0]) upper = parse_price(price_range_arr[1]) lower..upper end |
.parse_tr_ytd(tr_ytd_str) ⇒ Object
31 32 33 |
# File 'lib/bloomberg_currency/api/parser.rb', line 31 def parse_tr_ytd(tr_ytd_str) tr_ytd_str.delete("%").tr("–—−", "-").to_f end |