Class: Users
- Inherits:
-
Object
- Object
- Users
- Defined in:
- lib/users.rb
Overview
$LOAD_PATH.unshift File.dirname(__FILE__) $LOAD_PATH.unshift File.expand_path(“../lib”, __FILE__)
Instance Method Summary collapse
- #add(l_name, f_name) ⇒ Object
- #del(l_name, f_name) ⇒ Object
- #entry_to_hash(line) ⇒ Object
- #fields ⇒ Object
- #id_last ⇒ Object
-
#initialize ⇒ Users
constructor
FILENAME=“data/sample.txt”.
- #is_admin(l_name, f_name) ⇒ Object
-
#name_update(old_l_name, f_name, new_l_name) ⇒ Object
def user_exists l_name, f_name ans = false @entries.collect do |line| last_name, first_name, admin, id = line.split(“|”) if (l_name == last_name) && (f_name == first_name) ans = true end end ans end.
- #save ⇒ Object
- #user_exists(l_name, f_name) ⇒ Object
- #write_new(filename) ⇒ Object
Constructor Details
Instance Method Details
#add(l_name, f_name) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/users.rb', line 25 def add l_name, f_name f = File.open(UFILE, "a") @usrs.collect do |line| if (l_name == line[:last_name]) && (f_name == line[:first_name]) puts "User already exists, not added" break end end id_next = id_last + 1 f.puts "#{l_name}|#{f_name}|false|#{id_next}" f.close initialize end |
#del(l_name, f_name) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/users.rb', line 39 def del l_name, f_name f = File.open(UFILE, "w") @usrs.collect do |line| if (l_name == line[:last_name]) && (f_name == line[:first_name]) loop else f.puts "#{line[:last_name]}|#{line[:first_name]}|#{line[:admin]}|#{line[:id]}" end end f.close initialize end |
#entry_to_hash(line) ⇒ Object
20 21 22 23 |
# File 'lib/users.rb', line 20 def entry_to_hash line values = line.split("|") Hash[fields.zip values] end |
#fields ⇒ Object
16 17 18 |
# File 'lib/users.rb', line 16 def fields [:last_name, :first_name, :admin, :id] end |
#id_last ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/users.rb', line 52 def id_last last = 0 @entries.collect do |line| last_name, first_name, admin, id = line.split("|") if id.to_i > last last = id.to_i end end last end |
#is_admin(l_name, f_name) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/users.rb', line 71 def is_admin l_name, f_name ans = false @entries.collect do |line| last_name, first_name, admin, id = line.split("|") if (l_name == last_name) && (f_name == first_name) if admin == "true" ans = true end end end ans end |
#name_update(old_l_name, f_name, new_l_name) ⇒ Object
def user_exists l_name, f_name
ans = false
@entries.collect do |line|
last_name, first_name, admin, id = line.split("|")
if (l_name == last_name) && (f_name == first_name)
ans = true
end
end
ans
end
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/users.rb', line 105 def name_update old_l_name, f_name, new_l_name @usrs.collect do |line| if (old_l_name == line[:last_name]) && (f_name == line[:first_name]) line[:last_name] = new_l_name end end # @entries.collect do |line| # last_name, first_name, admin, id = line.split("|") # if (old_l_name == last_name) && (f_name == first_name) # line = "#{new_l_name}|{first_name}" # end # end # puts @usrs save end |
#save ⇒ Object
121 122 123 124 125 126 127 |
# File 'lib/users.rb', line 121 def save f = File.open(UFILE, "w") @usrs.collect do |line| f.puts "#{line[:last_name]}|#{line[:first_name]}|#{line[:admin]}|#{line[:id]}" end f.close end |
#user_exists(l_name, f_name) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# File 'lib/users.rb', line 84 def user_exists l_name, f_name ans = false @usrs.collect do |line| if (l_name == line[:last_name]) && (f_name == line[:first_name]) ans = true end end ans end |
#write_new(filename) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/users.rb', line 63 def write_new filename f = File.open(filename, "w") @entries.collect do |line| f.puts line end f.close end |