From 51cb08d764872d156aa59085c9168577e47cd5ce Mon Sep 17 00:00:00 2001 From: risako Date: Tue, 13 Jul 2021 20:12:36 +0900 Subject: [PATCH] add stock_market to finance Faker::Finance --- doc/default/finance.md | 3 +++ lib/faker/default/finance.rb | 13 +++++++++++++ lib/locales/en/finance.yml | 21 +++++++++++++++++++++ test/faker/default/test_faker_finance.rb | 4 ++++ 4 files changed, 41 insertions(+) diff --git a/doc/default/finance.md b/doc/default/finance.md index f08968ca96..73659926ee 100644 --- a/doc/default/finance.md +++ b/doc/default/finance.md @@ -16,4 +16,7 @@ Faker::Finance.vat_number(country: 'ZA') #=> "ZA79494416181" Faker::Finance.ticker #=> "AMZN" ## Supported: NASDAQ, NYSE Faker::Finance.ticker('NASDAQ') #=> "GOOG" + +# Random stock market +Faker::Finance.stock_market #=> "NASDAQ" ``` diff --git a/lib/faker/default/finance.rb b/lib/faker/default/finance.rb index 119e728623..0c0cd6acc8 100644 --- a/lib/faker/default/finance.rb +++ b/lib/faker/default/finance.rb @@ -84,6 +84,19 @@ def ticker(*markets) rescue I18n::MissingTranslationData raise ArgumentError, "Could not find market named #{market}" end + + ## + # Returns a randomly-selected stock market. + # + # @return [String] + # + # @example + # Faker::Finance.stock_market #=> 'NASDAQ' + # + # @faker.version next + def stock_market + fetch('finance.stock_market') + end end end end diff --git a/lib/locales/en/finance.yml b/lib/locales/en/finance.yml index 71e82e3f5f..4ab3aac880 100644 --- a/lib/locales/en/finance.yml +++ b/lib/locales/en/finance.yml @@ -164,3 +164,24 @@ en: - V - BRK.B - MA + stock_market: + - NYSE + - NASDAQ + - SSE + - HKEX + - JPX + - SZSE + - LSE + - TSX + - NSE-INDIA + - FSX + - TADAWUL + - OMXC-COPENHAGEN + - KRX + - BSE-BOMBAY + - SIX + - EURONEXT-PARIS + - TWSE + - ASX + - JSE + - BOVESPA diff --git a/test/faker/default/test_faker_finance.rb b/test/faker/default/test_faker_finance.rb index 57dcc21a5c..453270ad27 100644 --- a/test/faker/default/test_faker_finance.rb +++ b/test/faker/default/test_faker_finance.rb @@ -41,4 +41,8 @@ def test_ticker_with_valid_params ticker_return = Faker::Finance.ticker('nyse') assert Faker::Base.fetch_all('finance.ticker.nyse').join(', ').include?(ticker_return) end + + def test_stock_market + assert Faker::Finance.stock_market.match(/\w+/) + end end