Sha256: 99da308351f0b3dad9ff037cd74d16080e7dedb1b715652e0887df252a2b9ec3

Contents?: true

Size: 765 Bytes

Versions: 7

Compression:

Stored size: 765 Bytes

Contents

module CurrencyRate
  class BonbastAdapter < Adapter
    # No need to use it for fetching, just additional information about supported currencies
    SUPPORTED_CURRENCIES = %w(USD IRR)
    ANCHOR_CURRENCY = "USD"
    FETCH_URL = "https://www.bonbast.com/"

    def normalize(data)
      sell = data.match(/<td id="usd1"[^>]*>(\d+)<\/td>/)[1].to_f
      buy  = data.match(/<td id="usd2"[^>]*>(\d+)<\/td>/)[1].to_f
      { "anchor" => self.class::ANCHOR_CURRENCY, "IRR" => BigDecimal(([buy, sell].reduce(:+).fdiv(2)*10).to_s) }
    end

    def request(url)

      http_client = HTTP.timeout(connect:
        CurrencyRate.configuration.connect_timeout, read:
        CurrencyRate.configuration.read_timeout
      )
      http_client.get(url).to_s

    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
currency-rate-1.7.0 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.6.1 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.6.0 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.5.4 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.5.3 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.5.2 lib/adapters/fiat/bonbast_adapter.rb
currency-rate-1.5.1 lib/adapters/fiat/bonbast_adapter.rb