#!/usr/bin/env ruby
module Users
class User < Struct.new(:screenname, :password, :dob, :join_date,
:age)
def initialize(sn, pw, dob)
self.screenname = sn
self.password = pw
self.dob = Time.parse(dob)
self.join_date = Time.now
self.age = Time.now.year - Time.parse(dob).year
end
end
#########################################
user_hash = {}
def new(sn, pw, dob)
Users::user_hash[sn] = User.new(sn, pw, dob)
end
#########################################
module_function :new
end
I’m trying to make it so when I call:
Users::new(“screenname”, “pass”, “1/15/91”)
it adds a new instance of the User class into user_hash, but when I
execute the above code in IRB I get a NoMethodError for user_hash for
the Users:module
I’ve also tried putting both a @ and @@ infront of user_hash but irb
comes up with the same error.