mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-04 21:15:19 +02:00
Improve account transaction, trade, and valuation editing and sync experience (#1506)
* Consolidate entry controller logic * Transaction builder * Update trades controller to use new params * Load account charts in turbo frames, fix PG overflow * Consolidate tests * Tests passing * Remove unused code * Add client side trade form validations
This commit is contained in:
parent
76f2714006
commit
c3248cd796
97 changed files with 1103 additions and 1159 deletions
|
@ -8,17 +8,33 @@ class Security < ApplicationRecord
|
|||
validates :ticker, presence: true
|
||||
validates :ticker, uniqueness: { scope: :exchange_mic, case_sensitive: false }
|
||||
|
||||
class << self
|
||||
def search(query)
|
||||
security_prices_provider.search_securities(
|
||||
query: query[:search],
|
||||
dataset: "limited",
|
||||
country_code: query[:country]
|
||||
).securities.map { |attrs| new(**attrs) }
|
||||
end
|
||||
end
|
||||
|
||||
def current_price
|
||||
@current_price ||= Security::Price.find_price(security: self, date: Date.current)
|
||||
return nil if @current_price.nil?
|
||||
Money.new(@current_price.price, @current_price.currency)
|
||||
end
|
||||
|
||||
def to_combobox_display
|
||||
"#{ticker} (#{exchange_acronym})"
|
||||
def to_combobox_option
|
||||
SynthComboboxOption.new(
|
||||
symbol: ticker,
|
||||
name: name,
|
||||
logo_url: logo_url,
|
||||
exchange_acronym: exchange_acronym,
|
||||
exchange_mic: exchange_mic,
|
||||
exchange_country_code: country_code
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def upcase_ticker
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue