diff --git a/doc/unreleased/music/opera.md b/doc/unreleased/music/opera.md new file mode 100644 index 0000000000..37b9170936 --- /dev/null +++ b/doc/unreleased/music/opera.md @@ -0,0 +1,8 @@ +# Faker::Music::Opera + +```ruby +Faker::Music::Opera.verdi #=> "Il Trovatore" +Faker::Music::Opera.rossini #=> "Il Barbiere di Siviglia" +Faker::Music::Opera.donizetti #=> "Lucia di Lammermoor" +Faker::Music::Opera.bellini #=> "Norma" +``` diff --git a/lib/faker/music/opera.rb b/lib/faker/music/opera.rb new file mode 100644 index 0000000000..f16c31f3de --- /dev/null +++ b/lib/faker/music/opera.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Faker + # A generator of titles of operas by Verdi, Rossini, Donizetti and Bellini + class Music + class Opera < Base + class << self + def verdi + fetch('opera.italian.by_giuseppe_verdi') + end + + def rossini + fetch('opera.italian.by_gioacchino_rossini') + end + + def donizetti + fetch('opera.italian.by_gaetano_donizetti') + end + + def bellini + fetch('opera.italian.by_vincenzo_bellini') + end + end + end + end +end diff --git a/lib/locales/en/opera.yml b/lib/locales/en/opera.yml new file mode 100644 index 0000000000..1820e55f03 --- /dev/null +++ b/lib/locales/en/opera.yml @@ -0,0 +1,172 @@ +en: + faker: + opera: + italian: + by_giuseppe_verdi: + - Oberto Conte di San Bonifacio + - Un Giorno di Regno + - Nabucco + - Lombardi alla Prima Crociata + - Ernani + - I due Foscari + - Giovanna d'Arco + - Alzira + - Attila + - Macbeth + - I Masnadieri + - Jérusalem + - Il Corsaro + - La Battaglia di Legnano + - Luisa Miller + - Stiffelio + - Rigoletto + - Il Trovatore + - Simon Boccanegra + - Aroldo + - Un Ballo in Maschera + - La Forza del Destino + - Don Carlos + - Aida + - Otello + - Falstaff + - I Vespri Siciliani + - La Traviat + by_gioacchino_rossini: + - Demetrio e Polibio + - La cambiale di matrimonio + - L'equivoco stravagante + - L'inganno felice + - Ciro in Babilonia ossia La caduta di Baldassare + - La scala di seta + - La pietra del paragone + - L'occasione fa il ladro ossia Il cambio della valigia + - Il signor Bruschino ossia Il figlio per azzardo + - Tancredi + - L'italiana in Algeri + - Aureliano in Palmira + - Il turco in Italia + - Sigismondo + - Elisabetta regina d'Inghilterra + - Torvaldo e Dorliska + - Il barbiere di Siviglia ossia L'inutile precauzione + - La gazzetta ossia Il matrimonio per concorso + - Otello ossia Il Moro di Venezia + - La Cenerentola ossia La bontà in trionfo + - La gazza ladra + - Armida + - Adelaide di Borgogna ossia Ottone re d'Italia + - Mosè in Egitto + - Adina ossia Il califfo di Bagdad + - Ricciardo e Zoraide + - Ermione + - Eduardo e Cristina + - La donna del lago + - Bianca e Falliero ossia Il consiglio dei tre + - Maometto II + - Matilde di Shabran + - Zelmira + - Semiramide + - Ugo re d'Italia + - Il viaggio a Reims ossia L'albergo del Giglio d'Oro + - Le siège de Corinthe + - Moïse et Pharaon ou Le passage de la mer rouge + - Le comte Ory + - Guillaume Tell + by_gaetano_donizetti: + - Olimpiade + - L'ira di Achille + - Enrico di Borgogna + - Una follia + - I piccioli virtuosi ambulanti + - Il falegname di Livonia o Pietro il grande czar delle Russie + - Le nozze in villa + - Zoraida di Granata + - La zingara + - La lettera anonima + - Chiara e Serafina o Il pirata + - Alfredo il grande + - Il fortunato inganno + - L'ajo nell'imbarazzo + - Emilia di Liverpool or L'eremitaggio di Liverpool + - Alahor in Granata + - Don Gregorio + - Elvida + - Gabriella di Vergy + - Olivo e Pasquale + - Otto mesi in due ore ossia Gli esiliati in Siberia + - Il borgomastro di Saardam + - Le convenienze teatrali + - L'esule di Roma ossia Il proscritto + - L'eremitaggio di Liverpool + - Alina regina di Golconda + - Gianni di Calais + - Il paria + - Il giovedì grasso o Il nuovo Pourceaugnac + - Elisabetta al castello di Kenilworth + - Alina regina di Golconda[rev] + - I pazzi per progetto + - Il diluvio universale + - Imelda de' Lambertazzi + - Anna Bolena + - Gianni di Parigi + - Le convenienze ed inconvenienze teatrali + - Francesca di Foix + - La romanziera e l'uomo nero + - Fausta + - Ugo conte di Parigi + - L'elisir d'amore + - Sancia di Castiglia + - Il furioso all'isola di San Domingo + - Otto mesi in due ore + - Parisina + - Torquato Tasso + - Lucrezia Borgia + - Il diluvio universale + - Rosmonda d'Inghilterra + - Maria Stuarda + - Buondelmonte + - Gemma di Vergy + - Marino Faliero + - Lucia di Lammermoor + - Belisario + - Il campanello di notte + - Betly o La capanna svizzera + - L'assedio di Calais + - Pia de' Tolomei + - Pia de' Tolomei + - Betly + - Roberto Devereux + - Maria de Rudenz + - Gabriella di Vergy + - Poliuto + - Pia de' Tolomei + - Lucie de Lammermoor + - Le duc d'Albe + - L'ange de Nisida + - Lucrezia Borgia + - Les Martyrs + - La fille du régiment + - Lucrezia Borgia + - La favorite + - Adelia + - Rita + - Maria Padilla + - Linda di Chamounix + - Caterina Cornaro + - Don Pasquale + - Maria di Rohan + - Dom Sébastien roi de Portugal + - Dom Sebastian von Portugal + - Il duca d'Alba + by_vincenzo_bellini: + - Adelson e Salvini + - Bianca e Gernando + - Il pirata + - Bianca e Fernando + - La straniera + - Zaira + - I Capuleti e i Montecchi + - La sonnambula + - Norma + - Beatrice di Tenda + - I puritani diff --git a/test/faker/music/test_faker_opera.rb b/test/faker/music/test_faker_opera.rb new file mode 100644 index 0000000000..a05b0fcd3f --- /dev/null +++ b/test/faker/music/test_faker_opera.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require_relative '../../test_helper' + +class TestFakerOpera < Test::Unit::TestCase + def setup + @tester = Faker::Music::Opera + end + + def verdi + assert @tester.verdi.match(/\w+/i) + end + + def rossini + assert @tester.rossini.match(/\w+/i) + end + + def donizetti + assert @tester.donizetti.match(/\w+/i) + end + + def bellini + assert @tester.bellini.match(/\w+/i) + end +end diff --git a/unreleased_README.md b/unreleased_README.md index da318f3e34..2f755db48e 100644 --- a/unreleased_README.md +++ b/unreleased_README.md @@ -16,11 +16,14 @@ for the creation of this gem), having real-looking test data, and having your database populated with more than one or two records while you're doing development. -- [Installing](#installing) -- [Usage](#usage) +- [Faker](#faker) + - [NOTE](#note) + - [Installing](#installing) + - [Usage](#usage) + - [CLI](#cli) - [Ensuring unique values](#ensuring-unique-values) - [Deterministic Random](#deterministic-random) -- [Generators](#generators) + - [Generators](#generators) - [Default](#default) - [Blockchain](#blockchain) - [Books](#books) @@ -31,11 +34,11 @@ development. - [Music](#music) - [Quotes](#quotes) - [Sports](#sports) - - [TV Shows](#tv-shows) -- [Customization](#customization) -- [Contributing](#contributing) -- [Contact](#contact) -- [License](#license) + - [Tv Shows](#tv-shows) + - [Customization](#customization) + - [Contributing](#contributing) + - [Contact](#contact) + - [License](#license) ### NOTE * While Faker generates data at random, returned values are not guaranteed to be unique by default. @@ -269,6 +272,7 @@ gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master' ### Music - [Faker::Music](doc/unreleased/music/music.md) - [Faker::Music::GratefulDead](doc/music/grateful_dead.md) + - [Faker::Music::Opera](doc/music/opera.md) - [Faker::Music::Phish](doc/unreleased/music/phish.md) - [Faker::Music::RockBand](doc/unreleased/music/rock_band.md) - [Faker::Music::UmphreysMcgee](doc/unreleased/music/umphreys_mcgee.md)