Created
August 12, 2025 20:48
-
-
Save pgwillia/bc91bd6d784ced32bdaa1ea8676581f4 to your computer and use it in GitHub Desktop.
Making up some community league membership data to demonstrate how it could be used by leagues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'csv' | |
| require 'faker' | |
| require 'timerizer' | |
| Faker::Config.locale = 'en-CA' | |
| tags = [ | |
| 'Allard Rink maintenance', | |
| 'Annual hall clean up', | |
| 'Bingo', | |
| 'Block connector', | |
| 'Board member', | |
| 'Casino', | |
| 'Community Cleanup', | |
| 'Community Garden', | |
| 'Deliver flyers for events or meetings', | |
| 'Event Registration', | |
| 'Event set up/take down', | |
| 'Membership door to door sales', | |
| 'Needs skate tags', | |
| 'Neighbourhood Watch', | |
| 'Newsletter', | |
| 'Program Assistant', | |
| 'Program Lead', | |
| 'Seniors/Retirees programs', | |
| 'Sign', | |
| 'Soccer' | |
| ] | |
| programs = [ | |
| 'Soccer', | |
| 'Drop In Sports Adults', | |
| 'Community Garden', | |
| 'Dance', | |
| 'Learn To Skate', | |
| 'Baby And Toddlers', | |
| 'Drop In Sports Kids', | |
| 'Yoga', | |
| 'Block parties', | |
| 'BBQ', | |
| 'Skating', | |
| 'Sports related activities', | |
| 'Arts and crafts', | |
| 'Pub nights', | |
| 'Gardening' | |
| ] | |
| skills = [ | |
| 'Social Media Support', | |
| 'Engagement', | |
| 'Organizational Office Skills', | |
| 'Party Planner', | |
| 'Communications', | |
| 'Event planning and/or support', | |
| 'Instructor', | |
| 'Engagement', | |
| 'Financial' | |
| ] | |
| CSV.open("2025-08-08 - users - Allard Community League Membership - All Tags - All Roles.csv", 'wb') do |csv| | |
| csv << ['Member ID','First Name','Last Name','Email','Telephone','Address','Address 2','Postal Code','City','State/Province,Country','Joined','Base Plan','Family Members','Membership Status','Tags','Business Name','Account Created','Activities/Programs of Interest','Other Programs of Interest','Skills to Offer','Other Skills to Offer','Skate Tags','# of Skate Tags for Membership Card','Consent to EFCL News & Updates'] | |
| for i in 1..32 do | |
| joined = Faker::Date.between(from: 2.years.ago, to:Date.today) | |
| family_members = ['',(0..rand(6)).to_a.map{|j| Faker::Name.first_name}].sample | |
| family_members_list = if family_members != '' | |
| family_members.join(';') | |
| else | |
| '' | |
| end | |
| odd_jobs = tags.sample(rand(7)).join(';') | |
| csv << ["24-#{i}", Faker::Name.first_name, Faker::Name.last_name, Faker::Internet.email, Faker::PhoneNumber.phone_number, Faker::Address.street_address,['', Faker::Address.secondary_address].sample,Faker::Address.postcode, 'Edmonton', 'AB', joined,['Household','Individual'].sample, family_members_list,'Active', odd_jobs, '', joined, programs.sample(rand(7)).join(';'),'',skills.sample(rand(7)).join(';'),'',["Yes, #{family_members.size+1}", 'No'].sample, '', ['yes','no'].sample] | |
| end | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment