class Faker::JapaneseMedia::KamenRider

Constants

ERAS

Public Class Methods

collectible_device(*eras) click to toggle source

Produces the name of a collectible device from a Kamen Rider series.

@return [String]

@example

Faker::JapaneseMedia::KamenRider.collectible_device #=> "Vistamp"

@faker.version next

# File lib/faker/japanese_media/kamen_rider.rb, line 62
def collectible_device(*eras)
  from_eras(*eras, field: :collectible_devices) { |e| e.delete(:showa) }
end
eras=(new_eras) click to toggle source
# File lib/faker/japanese_media/kamen_rider.rb, line 9
def eras=(new_eras)
  selected_eras = ERAS & new_eras
  @eras = selected_eras.empty? ? ERAS : selected_eras
end
kamen_rider(*eras) click to toggle source

Produces the name of a Kamen Rider from a series in the given era.

@return [String]

@example

Faker::JapaneseMedia::KamenRider.kamen_rider #=> "Kamen Rider Revice"

@faker.version next

# File lib/faker/japanese_media/kamen_rider.rb, line 23
def kamen_rider(*eras)
  from_eras(*eras, field: :kamen_riders)
end
series(*eras) click to toggle source

Produces the name of a Kamen Rider series.

@return [String]

@example

Faker::JapaneseMedia::KamenRider.series #=> "Kamen Rider Revice"

@faker.version next

# File lib/faker/japanese_media/kamen_rider.rb, line 49
def series(*eras)
  from_eras(*eras, field: :series)
end
transformation_device(*eras) click to toggle source

Produces the name of a transformation device used by a Kamen Rider from the given eras.

@return [String]

@example Faker::JapaneseMedia::KamenRider.transformation_device #=> “Revice Driver”

@faker.version next

# File lib/faker/japanese_media/kamen_rider.rb, line 75
def transformation_device(*eras)
  from_eras(*eras, field: :transformation_devices)
end
user(*eras) click to toggle source

Produces the name of a main user of Kamen Rider.

@return [String]

@example

Faker::JapaneseMedia::KamenRider.user #=> "Ikki Igarashi"

@faker.version next

# File lib/faker/japanese_media/kamen_rider.rb, line 36
def user(*eras)
  from_eras(*eras, field: :users)
end

Private Class Methods

eras() click to toggle source
# File lib/faker/japanese_media/kamen_rider.rb, line 81
def eras
  @eras ||= ERAS
end
from_eras(*input_eras, field:) { |selected_eras| ... } click to toggle source
# File lib/faker/japanese_media/kamen_rider.rb, line 85
def from_eras(*input_eras, field:)
  selected_eras = (ERAS & input_eras).then do |selected|
    selected.empty? ? eras : selected
  end.dup
  yield(selected_eras) if block_given?

  raise UnavailableInEra, "#{field} is unavailable in the selected eras." if selected_eras.empty?

  selected_eras.sample.then do |era|
    fetch("kamen_rider.#{era}.#{field}")
  end
end