diff --git a/CHANGELOG.md b/CHANGELOG.md index cda5f72fca..b5496e4386 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - [PR #1310](https://github.com/stympy/faker/pull/1310) Add alias for middle_name and remove locale [@vbrazo](https://github.com/vbrazo) ### Chores +- [PR #1420](https://github.com/stympy/faker/pull/1420) Add Faker::JapaneseMedia namespace [@boardfish](https://github.com/boardfish) - [PR #1411](https://github.com/stympy/faker/pull/1411) Add several missing locales [@vbrazo](https://github.com/vbrazo) - [PR #1403](https://github.com/stympy/faker/pull/1403) Faker::SouthPark => Faker::Movies::SouthPark [@vbrazo](https://github.com/vbrazo) - [PR #1401](https://github.com/stympy/faker/pull/1401) Faker::GratefulDead => Faker::Movies::GratefulDead [@vbrazo](https://github.com/vbrazo) @@ -24,6 +25,8 @@ - [PR #372](https://github.com/stympy/faker/pull/372) Add test_password_could_achieve_max_length [@oleksii-ti](https://github.com/oleksii-ti) ### Deprecation +- [PR #1420](https://github.com/stympy/faker/pull/1420) Add Faker::JapaneseMedia namespace [@boardfish](https://github.com/boardfish) + - Deprecates `::DragonBall`, `::OnePiece` and `::SwordArtOnline` - [PR #803](https://github.com/stympy/faker/pull/803) Modify Faker::Educator, Fix #576 [@ghbooth12](https://github.com/ghbooth12) ### Documentation diff --git a/README.md b/README.md index 71138e186b..d527faebab 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,6 @@ Contents - [Faker::Dog](doc/dog.md) - [Faker::Dota](doc/dota.md) - [Faker::DrWho](doc/dr_who.md) - - [Faker::DragonBall](doc/dragon_ball.md) - [Faker::DumbAndDumber](doc/dumb_and_dumber.md) - [Faker::Dune](doc/dune.md) - [Faker::Educator](doc/educator.md) @@ -104,6 +103,9 @@ Contents - [Faker::IndustrySegments](doc/industry_segments.md) - [Faker::Internet](doc/internet.md) - [Faker::Invoice](doc/invoice.md) + - [Faker::JapaneseMedia::DragonBall](doc/dragon_ball.md) + - [Faker::JapaneseMedia::OnePiece](doc/one_piece.md) + - [Faker::JapaneseMedia::SwordArtOnline](doc/sword_art_online.md) - [Faker::Job](doc/job.md) - [Faker::Json](doc/json.md) - [Faker::Kpop](doc/kpop.md) @@ -133,7 +135,6 @@ Contents - [Faker::NationalHealthService](doc/national_health_service.md) - [Faker::Number](doc/number.md) - [Faker::Omniauth](doc/omniauth.md) - - [Faker::OnePiece](doc/one_piece.md) - [Faker::Overwatch](doc/overwatch.md) - [Faker::ParksAndRec](doc/parks_and_rec.md) - [Faker::PhoneNumber](doc/phone_number.md) @@ -162,7 +163,6 @@ Contents - [Faker::String](doc/string.md) - [Faker::Stripe](doc/stripe.md) - [Faker::Superhero](doc/superhero.md) - - [Faker::SwordArtOnline](doc/sword_art_online.md) - [Faker::Team](doc/team.md) - [Faker::Tezos](doc/tezos.md) - [Faker::TheFreshPrinceOfBelAir](doc/the_fresh_prince_of_bel_air.md) diff --git a/doc/dragon_ball.md b/doc/dragon_ball.md index 87ce413a25..0480cb65cf 100644 --- a/doc/dragon_ball.md +++ b/doc/dragon_ball.md @@ -1,7 +1,7 @@ -# Faker::DragonBall +# Faker::JapaneseMedia::DragonBall Available since version 1.8.0. ```ruby -Faker::DragonBall.character #=> "Goku" +Faker::JapaneseMedia::DragonBall.character #=> "Goku" ``` diff --git a/doc/one_piece.md b/doc/one_piece.md index ee90e86151..8899766279 100644 --- a/doc/one_piece.md +++ b/doc/one_piece.md @@ -1,15 +1,15 @@ -# Faker::OnePiece +# Faker::JapaneseMedia::OnePiece ```ruby -Faker::OnePiece.character #=> "Monkey D. Luffy" +Faker::JapaneseMedia::OnePiece.character #=> "Monkey D. Luffy" -Faker::OnePiece.sea #=> "East Blue" +Faker::JapaneseMedia::OnePiece.sea #=> "East Blue" -Faker::OnePiece.island #=> "Laftel" +Faker::JapaneseMedia::OnePiece.island #=> "Laftel" -Faker::OnePiece.location #=> "Foosha Village" +Faker::JapaneseMedia::OnePiece.location #=> "Foosha Village" -Faker::OnePiece.quote #=> "ONE PIECE IS REAL!" +Faker::JapaneseMedia::OnePiece.quote #=> "ONE PIECE IS REAL!" -Faker::OnePiece.akuma_no_mi #=> "Gomu Gomu no Mi" +Faker::JapaneseMedia::OnePiece.akuma_no_mi #=> "Gomu Gomu no Mi" ``` diff --git a/doc/sword_art_online.md b/doc/sword_art_online.md index d20479e5b2..5f2fb95931 100644 --- a/doc/sword_art_online.md +++ b/doc/sword_art_online.md @@ -1,18 +1,18 @@ -# Faker::SwordArtOnline +# Faker::JapaneseMedia::SwordArtOnline Available since version 1.9.0. ```ruby # Random Sword Art Online real name -Faker::SwordArtOnline.real_name #=> "Kirigaya Kazuto" +Faker::JapaneseMedia::SwordArtOnline.real_name #=> "Kirigaya Kazuto" # Random Sword Art Online game name -Faker::SwordArtOnline.game_name #=> "Silica" +Faker::JapaneseMedia::SwordArtOnline.game_name #=> "Silica" # Random Sword Art Online location -Faker::SwordArtOnline.location #=> "Ruby Palace" +Faker::JapaneseMedia::SwordArtOnline.location #=> "Ruby Palace" # Random Sword Art Online item -Faker::SwordArtOnline.item #=> "Blackwyrm Coat" +Faker::JapaneseMedia::SwordArtOnline.item #=> "Blackwyrm Coat" ``` diff --git a/lib/faker.rb b/lib/faker.rb index 16911a1a99..68605f31be 100644 --- a/lib/faker.rb +++ b/lib/faker.rb @@ -246,6 +246,6 @@ def disable_enforce_available_locales end end -%w[faker faker/creature faker/games faker/movies].each do |path| +%w[faker faker/creature faker/games faker/movies faker/japanese_media].each do |path| Dir.glob(File.join(File.dirname(__FILE__), path, '*.rb')).sort.each { |file| require file } end diff --git a/lib/faker/dragon_ball.rb b/lib/faker/dragon_ball.rb index a80cc846b5..784fe2bd81 100644 --- a/lib/faker/dragon_ball.rb +++ b/lib/faker/dragon_ball.rb @@ -1,11 +1,15 @@ # frozen_string_literal: true module Faker - class DragonBall < Base + module DragonBall class << self + extend Gem::Deprecate + def character - fetch('dragon_ball.characters') + Faker::JapaneseMedia::DragonBall.character end + + deprecate :character, 'Faker::JapaneseMedia::DragonBall.character', 2018, 10 end end end diff --git a/lib/faker/japanese_media.rb b/lib/faker/japanese_media.rb new file mode 100644 index 0000000000..e5b34201c2 --- /dev/null +++ b/lib/faker/japanese_media.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +module Faker + module JapaneseMedia + end +end diff --git a/lib/faker/japanese_media/dragon_ball.rb b/lib/faker/japanese_media/dragon_ball.rb new file mode 100644 index 0000000000..e1a75667ef --- /dev/null +++ b/lib/faker/japanese_media/dragon_ball.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Faker + module JapaneseMedia + class DragonBall < Base + class << self + def character + fetch('dragon_ball.characters') + end + end + end + end +end diff --git a/lib/faker/japanese_media/one_piece.rb b/lib/faker/japanese_media/one_piece.rb new file mode 100644 index 0000000000..a3f12b1bd5 --- /dev/null +++ b/lib/faker/japanese_media/one_piece.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Faker + module JapaneseMedia + class OnePiece < Base + class << self + def character + fetch('one_piece.characters') + end + + def sea + fetch('one_piece.seas') + end + + def island + fetch('one_piece.islands') + end + + def location + fetch('one_piece.locations') + end + + def quote + fetch('one_piece.quotes') + end + + def akuma_no_mi + fetch('one_piece.akumas_no_mi') + end + end + end + end +end diff --git a/lib/faker/japanese_media/sword_art_online.rb b/lib/faker/japanese_media/sword_art_online.rb new file mode 100644 index 0000000000..acc1496532 --- /dev/null +++ b/lib/faker/japanese_media/sword_art_online.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Faker + module JapaneseMedia + class SwordArtOnline < Base + class << self + def real_name + fetch('sword_art_online.real_name') + end + + def game_name + fetch('sword_art_online.game_name') + end + + def location + fetch('sword_art_online.location') + end + + def item + fetch('sword_art_online.item') + end + end + end + end +end diff --git a/lib/faker/one_piece.rb b/lib/faker/one_piece.rb index 26fa125ec6..30a416da09 100644 --- a/lib/faker/one_piece.rb +++ b/lib/faker/one_piece.rb @@ -1,31 +1,40 @@ # frozen_string_literal: true module Faker - class OnePiece < Base + module OnePiece class << self + extend Gem::Deprecate + def character - fetch('one_piece.characters') + Faker::JapaneseMedia::OnePiece.character end def sea - fetch('one_piece.seas') + Faker::JapaneseMedia::OnePiece.sea end def island - fetch('one_piece.islands') + Faker::JapaneseMedia::OnePiece.island end def location - fetch('one_piece.locations') + Faker::JapaneseMedia::OnePiece.location end def quote - fetch('one_piece.quotes') + Faker::JapaneseMedia::OnePiece.quote end def akuma_no_mi - fetch('one_piece.akumas_no_mi') + Faker::JapaneseMedia::OnePiece.akuma_no_mi end + + deprecate :character, 'Faker::JapaneseMedia::OnePiece.character', 2018, 10 + deprecate :sea, 'Faker::JapaneseMedia::OnePiece.sea', 2018, 10 + deprecate :island, 'Faker::JapaneseMedia::OnePiece.island', 2018, 10 + deprecate :location, 'Faker::JapaneseMedia::OnePiece.location', 2018, 10 + deprecate :quote, 'Faker::JapaneseMedia::OnePiece.quote', 2018, 10 + deprecate :akuma_no_mi, 'Faker::JapaneseMedia::OnePiece.akuma_no_mi', 2018, 10 end end end diff --git a/lib/faker/sword_art_online.rb b/lib/faker/sword_art_online.rb index d5b2c1e10e..cf1031d105 100644 --- a/lib/faker/sword_art_online.rb +++ b/lib/faker/sword_art_online.rb @@ -1,23 +1,30 @@ # frozen_string_literal: true module Faker - class SwordArtOnline < Base + module SwordArtOnline class << self + extend Gem::Deprecate + def real_name - fetch('sword_art_online.real_name') + Faker::JapaneseMedia::SwordArtOnline.real_name end def game_name - fetch('sword_art_online.game_name') + Faker::JapaneseMedia::SwordArtOnline.game_name end def location - fetch('sword_art_online.location') + Faker::JapaneseMedia::SwordArtOnline.location end def item - fetch('sword_art_online.item') + Faker::JapaneseMedia::SwordArtOnline.item end + + deprecate :real_name, 'Faker::JapaneseMedia::SwordArtOnline.real_name', 2018, 10 + deprecate :game_name, 'Faker::JapaneseMedia::SwordArtOnline.game_name', 2018, 10 + deprecate :location, 'Faker::JapaneseMedia::SwordArtOnline.location', 2018, 10 + deprecate :item, 'Faker::JapaneseMedia::SwordArtOnline.item', 2018, 10 end end end diff --git a/test/test_deprecate_dragon_ball.rb b/test/test_deprecate_dragon_ball.rb new file mode 100644 index 0000000000..b7137e1b36 --- /dev/null +++ b/test/test_deprecate_dragon_ball.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require_relative 'test_helper' + +class TestFakerDragonBall < Test::Unit::TestCase + def setup + @tester = Faker::DragonBall + end + + def test_character + assert @tester.character.match(/\w+/) + end +end diff --git a/test/test_deprecate_one_piece.rb b/test/test_deprecate_one_piece.rb new file mode 100644 index 0000000000..609c246924 --- /dev/null +++ b/test/test_deprecate_one_piece.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +require_relative 'test_helper' + +class TestFakerOnePiece < Test::Unit::TestCase + def setup + @tester = Faker::OnePiece + end + + def test_character + assert @tester.character.match(/\w+/) + end + + def test_sea + assert @tester.sea.match(/\w+/) + end + + def test_island + assert @tester.island.match(/\w+/) + end + + def test_location + assert @tester.location.match(/\w+/) + end + + def test_quote + assert @tester.quote.match(/\w+/) + end + + def test_akuma_no_mi + assert @tester.akuma_no_mi.match(/\w+/) + end +end diff --git a/test/test_deprecate_sword_art_online.rb b/test/test_deprecate_sword_art_online.rb new file mode 100644 index 0000000000..f2a10d1b60 --- /dev/null +++ b/test/test_deprecate_sword_art_online.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require_relative 'test_helper' + +class TestFakerSwordArtOnline < Test::Unit::TestCase + def setup + @tester = Faker::SwordArtOnline + end + + def test_real_name + assert @tester.real_name.match(/\w+\.?/) + end + + def test_game_name + assert @tester.game_name.match(/\w+\.?/) + end + + def test_location + assert @tester.location.match(/\w+\.?/) + end + + def test_item + assert @tester.item.match(/\w+\.?/) + end +end diff --git a/test/test_determinism.rb b/test/test_determinism.rb index 410f92d3d9..102e97b22d 100644 --- a/test/test_determinism.rb +++ b/test/test_determinism.rb @@ -45,7 +45,7 @@ def all_methods def subclasses Faker.constants.delete_if do |subclass| - %i[Base Bank Char Base58 ChileRut Config Creature Date Games GamesHalfLife Internet Movies Time VERSION].include?(subclass) + %i[Base Bank Char Base58 ChileRut Config Creature Date DragonBall Games GamesHalfLife Internet JapaneseMedia Movies OnePiece SwordArtOnline Time VERSION].include?(subclass) end.sort end diff --git a/test/test_faker_dragon_ball.rb b/test/test_faker_dragon_ball.rb index b7137e1b36..92d1e83179 100644 --- a/test/test_faker_dragon_ball.rb +++ b/test/test_faker_dragon_ball.rb @@ -4,7 +4,7 @@ class TestFakerDragonBall < Test::Unit::TestCase def setup - @tester = Faker::DragonBall + @tester = Faker::JapaneseMedia::DragonBall end def test_character diff --git a/test/test_faker_one_piece.rb b/test/test_faker_one_piece.rb index 609c246924..0cbbc6e195 100644 --- a/test/test_faker_one_piece.rb +++ b/test/test_faker_one_piece.rb @@ -4,7 +4,7 @@ class TestFakerOnePiece < Test::Unit::TestCase def setup - @tester = Faker::OnePiece + @tester = Faker::JapaneseMedia::OnePiece end def test_character diff --git a/test/test_faker_sword_art_online.rb b/test/test_faker_sword_art_online.rb index f2a10d1b60..ae48389fbc 100644 --- a/test/test_faker_sword_art_online.rb +++ b/test/test_faker_sword_art_online.rb @@ -4,7 +4,7 @@ class TestFakerSwordArtOnline < Test::Unit::TestCase def setup - @tester = Faker::SwordArtOnline + @tester = Faker::JapaneseMedia::SwordArtOnline end def test_real_name