Module: Sequel::CurrencyRates
- Defined in:
- lib/sequel/extensions/currency_rates.rb
Overview
Extension for currency-conversion via currency_rates table
Instance Method Summary collapse
-
#table_name ⇒ Symbol
Returns a table name.
-
#with_rates(aliaz = :currency_rates, table: table_name, rates_table: Sequel[:currency_rates], time_column: :created_at) ⇒ Sequel::Dataset
Join a rates table.
Instance Method Details
#table_name ⇒ Symbol
Returns a table name
31 32 33 |
# File 'lib/sequel/extensions/currency_rates.rb', line 31 def table_name respond_to?(:first_source_alias) ? first_source_alias : super end |
#with_rates(aliaz = :currency_rates, table: table_name, rates_table: Sequel[:currency_rates], time_column: :created_at) ⇒ Sequel::Dataset
Join a rates table
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/sequel/extensions/currency_rates.rb', line 15 def with_rates( aliaz = :currency_rates, table: table_name, rates_table: Sequel[:currency_rates], time_column: :created_at ) table = Sequel[table] rates = Sequel[aliaz] join_expr = table[:currency] =~ rates[:currency] join_expr &= rates[:period].pg_range.contains(table[time_column]) left_join(rates_table.as(aliaz), join_expr) end |