class FTLTools::BarBuilder
Constants
- GRADE
- SIZE
- YEAR_OFFSET
Attributes
bar[R]
Public Class Methods
new()
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 13 def initialize @bar = FTLTools::Bar.new @dice = FTLTools::Dice.new end
Public Instance Methods
build_patrons()
click to toggle source
def generate_time
t = Time.now year = t.year - YEAR_OFFSET day = t.strftime("%j") time = [year, day].join('.')
end
# File lib/ftl_tools/bar_builder.rb, line 51 def build_patrons builder = FTLTools::CharacterBuilder.new patrons = Array.new max = rand(6) + 1 if ['medium', 'large'].include?(@bar.size) max = (max + 2) * 3 end max.times { patrons << builder.setup builder.reset } patrons end
generate_grade()
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 32 def generate_grade GRADE.sample end
generate_name()
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 36 def generate_name [ "Lusty's Dive", "Joe's Bar and Blowfish Emporium", "Beers and Dears" ].sample end
generate_size()
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 40 def generate_size SIZE.sample end
reset()
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 18 def reset @bar = FTLTools::Bar.new end
setup(data = {})
click to toggle source
# File lib/ftl_tools/bar_builder.rb, line 22 def setup(data = {}) @data = data @bar.name = @data.fetch(:name, generate_name) @bar.size = @data.fetch(:size, generate_size) @bar.grade = @data.fetch(:grade, generate_grade) @bar.patrons = build_patrons #@bar.time = generate_time return @bar end