Files
2025-12-03 15:40:58 -05:00

70 lines
1.8 KiB
Ruby

create_tenant "Honcho"
david = find_or_create_user "David Heinemeier Hansson", "david@example.com"
jason = find_or_create_user "Jason Fried", "jason@example.com"
jz = find_or_create_user "Jason Zimdars", "jz@example.com"
kevin = find_or_create_user "Kevin McConnell", "kevin@example.com"
jorge = find_or_create_user "Jorge Manrubia", "jorge@example.com"
mike = find_or_create_user "Mike Dalessio", "mike@example.com"
login_as david
authors = [ david, jason, jz, kevin, jorge, mike ]
card_titles = [
"Implement authentication",
"Design landing page",
"Set up database",
"Create API endpoints",
"Write unit tests",
"Optimize performance",
"Add user profiles",
"Implement search",
"Create admin panel",
"Set up CI/CD"
]
boards = [
"Project Launch",
"Frontend Dev",
"Backend Dev",
"Design System",
"Testing Suite"
]
time_range = (60 .. 30.days.in_minutes)
boards.each_with_index do |board_name, index|
create_board(board_name, access_to: authors.sample(3)).tap do |board|
card_titles.each do |title|
travel(-rand(time_range).minutes) do
card = create_card title,
description: "#{title} for #{board_name} phase #{index + 1}.",
board: board,
creator: authors.sample
# Randomly assign to 1-2 authors
travel rand(0..20).minutes
card.toggle_assignment(authors.sample)
if rand > 0.5
travel rand(0..20).minutes
card.toggle_assignment(authors.sample)
end
# Randomly set card state
travel rand(0..20).minutes
case rand(3)
when 0
if column = card.board&.columns&.sample
card.triage_into(column)
end
when 1
card.close
# 2 remains open
end
end
end
end
end