forked from rainbough/Library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
library.rb
128 lines (96 loc) · 1.83 KB
/
library.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
class Library
def initialize
@books = []
available_books = []
borrowed_books = []
end
def books
@books
end
def list_books
@books.each do |book|
puts "The status of #{book.title} is #{book.status}"
end
end
def borrowed_books
end
def available_books
end
def add_book(book)
@books.push(book)
return "a new book, #{book.title} , has been added"
end
def check_out(name, book)
if @borrowed_books_count == 2
return "Sorry, that user already has two books checked out"
end
if @status == "available"
@status == "checked out"
@borrowed_books_count =+ 1
return "#{name} has checked out #{book}"
else
puts "Sorry, that book is not available"
end
end
def check_in(book)
book.status == "available"
end
end
class Borrower
def initialize(name)
@name = name
@borrowed_books_count = 0
@borrowed_books = []
puts "a new borrower named #{name} has been added"
end
def borrowed_books
end
def name
@name
end
def borrowed_books_count
@borrowed_books_count
end
def borrowed_books_list
@borrowed_books_list.push[borrowed_book]
end
end
class Book
attr_accessor :title, :author
# def initialize(title, author)
# @title = title
# @author = author
# @status = status
# end
def initialize(title, author)
@title = title
@author = author
@status = "available"
@borrower = nil
puts "#{title} was created"
end
def title
@title
end
def author
@author
end
def status
@status
end
# def status=(new_value)
# @status = new_value
# end
def borrower
@borrower
end
# def borrower=(new_value)
# @borrower = new_value
# end
# def title
# @title
# end
# def title=(value)
# @title = value
# end
end