shopgem 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/shopgem.rb +60 -0
  3. data/lib/shopgem/booksdb.rb +176 -0
  4. metadata +45 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 197b7144bf3d98ffbfdb91a6e34f852ac6265f5a
4
+ data.tar.gz: 920dff14404fa34abbb93f0d98661f8141fa79c5
5
+ SHA512:
6
+ metadata.gz: 14e094747c30bdefe50838159a3fa4404f5d7a2ea32d3c45e07c7cad26281904b394b1c01dc3484c4d8aec18768259c61e08b0617b293c8ec37757314d7b87f9
7
+ data.tar.gz: 364bc2d009c7a699f61c81c90bf81efe56cb4a3c58fc3bf51642f80bf683efcc32a2fa7dc05347e438ff68f2011123817f83ee6ee03e389d51733d2c3665c08e
@@ -0,0 +1,60 @@
1
+ class Shopgem
2
+
3
+ def main
4
+ obj = BookDb.new
5
+
6
+ while(0)
7
+ puts "\n\n************* WelCome to Flipkart *************\nSelect Operation from below"
8
+ puts " 1. Enter New Book in Database"
9
+ puts " 2. Show All Books "
10
+ puts " 3. Update Book"
11
+ puts " 4. Delete Book"
12
+ puts " 5. Add book to kart"
13
+ puts " 6. Show Kart"
14
+ puts " 7. Remove book from kart"
15
+ puts " 8. Checkout"
16
+ puts " 9. Exit"
17
+
18
+ ch = gets.to_i
19
+
20
+ case ch
21
+ when 1
22
+ puts 'new book'
23
+ obj.addBooks
24
+ when 2
25
+ puts 'show book'
26
+ obj.showBooks
27
+
28
+ when 3
29
+ puts 'update book'
30
+ obj.update
31
+ when 4
32
+ puts 'Delete book'
33
+ obj.delete
34
+ when 5
35
+ puts 'Add to kart'
36
+ obj.add_to_kart
37
+ when 6
38
+ puts 'show kart'
39
+ obj.showKart
40
+ when 7
41
+ puts 'Remove from kart'
42
+ obj.remove_from_kart
43
+ when 8
44
+ puts 'Checkout'
45
+ obj.checkout
46
+ when 9
47
+ break;
48
+ else
49
+ end
50
+ end
51
+ end
52
+
53
+ end
54
+
55
+ require 'shopgem/booksdb'
56
+
57
+ F = Shopgem.new
58
+ F.main()
59
+
60
+
@@ -0,0 +1,176 @@
1
+ class Shopgem::BookDb
2
+
3
+
4
+ def initialize
5
+
6
+ @books=[]
7
+ @karts=[]
8
+
9
+ bFile = File.open("booksdb.txt", "a+")
10
+ if bFile
11
+ arr = IO.readlines("booksdb.txt")
12
+ i = 0
13
+ while(i < arr.length-1)
14
+ details = []
15
+ bcode = (arr[i]).to_i
16
+ details.push bcode
17
+ bname = (arr[i+1]).chomp
18
+ details.push bname
19
+ bprice = (arr[i+2]).chomp
20
+ details.push bprice
21
+ bqnty = (arr[i+3]).chomp
22
+ details.push bqnty
23
+ @books << details
24
+ i+=4
25
+ end
26
+ else
27
+ puts "Unable to open file!"
28
+ end
29
+
30
+ bFile.close
31
+ end
32
+
33
+ def addBooks
34
+
35
+ bname = ' '
36
+ bprice = 0
37
+
38
+
39
+ details = []
40
+ puts 'Enter Book code:'
41
+ bcode = gets.to_i
42
+ details.push bcode
43
+ puts 'Enter Book Name:'
44
+ bname = gets.chomp
45
+ details.push bname
46
+ puts 'Enter Price'
47
+ bprice = gets.to_i
48
+ details.push bprice
49
+ puts 'Enter Quantity'
50
+ bqnty = gets.to_i
51
+ details.push bqnty
52
+ @books << details
53
+
54
+ add_to_database
55
+ end
56
+
57
+ def showBooks
58
+
59
+ puts "srno code Book Name Price Quantity"
60
+ i=0
61
+ @books.each do |book|
62
+ print (i+=1)
63
+ print" "+book[0].to_s+" "+book[1].to_s+" "+book[2].to_s+" "+book[3].to_s+"\n"
64
+ end
65
+ puts
66
+ end
67
+
68
+
69
+ def add_to_kart()
70
+ kart = []
71
+
72
+
73
+ showBooks
74
+ puts 'select book for add to cart'
75
+ choice = gets.to_i
76
+ puts 'Enter Quantity'
77
+ qnt = gets.to_i
78
+
79
+ kart[0] = @books[choice - 1][0]
80
+ kart[1] = @books[choice-1][1]
81
+ kart[2] = @books[choice-1][2]
82
+ kart[3] = qnt
83
+ @karts.push kart
84
+
85
+ if @books[choice-1][3].to_i < qnt
86
+ puts ' ** Enter quantity less than '+ @books[choice-1][3]
87
+ else
88
+ @books[choice-1][3] = (@books[choice-1][3]).to_i - qnt
89
+ puts @books[choice-1][1] + " Added to cart "
90
+ #add_to_database
91
+ end
92
+ #if @books[choice-1][3]==0
93
+
94
+ #end
95
+
96
+ end
97
+
98
+ def showKart
99
+ puts 'Your Kart '
100
+ puts "srno code Book Name Price Quantity"
101
+ i = 0
102
+ @karts.each do |book|
103
+ print "\n"+(i+=1).to_s+" "+book[0].to_s+" "+book[1].to_s+" "+book[2].to_s+" "+book[3].to_s
104
+ end
105
+ puts
106
+ end
107
+
108
+ def remove_from_kart
109
+ showKart
110
+ puts 'Enter the book to remove from kart'
111
+ choice = gets.to_i
112
+ code = @karts[choice-1][1]
113
+
114
+ i=0
115
+ @books.each do |book|
116
+ if book[1]==code
117
+ @books[i][3] = (@books[i][3]).to_i + 1
118
+ end
119
+ i+=1
120
+ end
121
+ @karts[choice-1][3] = (@karts[choice-1][3]).to_i - 1
122
+
123
+
124
+ showKart
125
+ end
126
+
127
+ def checkout
128
+ total=0
129
+ @karts.each do |book|
130
+ total = total + (book[2].to_i * book[3].to_i)
131
+ end
132
+ showKart
133
+ puts 'Your total bill is : ' + total.to_s
134
+
135
+ add_to_database
136
+ end
137
+
138
+ def add_to_database
139
+
140
+ aFile = File.new("booksdb.txt", "w+")
141
+ if aFile
142
+ aFile.puts @books
143
+ else
144
+ puts "Unable to open file!"
145
+ end
146
+
147
+ aFile.close
148
+ end
149
+
150
+ def update
151
+ showBooks
152
+ puts 'Enter sr no to update book'
153
+ ch=(gets.to_i)-1
154
+ puts 'current name :'+ @books[ch][1]
155
+ puts 'enter new name:'
156
+ @books[ch][1]=gets.chomp
157
+ puts 'current price :'+ (@books[ch][2]).to_s
158
+ puts 'enter new price:'
159
+ @books[ch][2]=gets.to_i
160
+ puts 'current Quantity :'+ (@books[ch][3]).to_s
161
+ puts 'enter new Quantity:'
162
+ @books[ch][3]=gets.to_i
163
+ puts"Data Updated"
164
+ add_to_database
165
+ end
166
+
167
+ def delete
168
+
169
+ showBooks
170
+ puts 'Enter sr no to delete book'
171
+ ch = (gets.to_i)-1
172
+ @books.delete_at(ch)
173
+ puts 'book deleted'
174
+ add_to_database
175
+ end
176
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shopgem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - rajanikant
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-10-17 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: online book sellenig app
14
+ email: nick@quaran.to
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/shopgem.rb
20
+ - lib/shopgem/booksdb.rb
21
+ homepage: http://rubygems.org/gems/mygem
22
+ licenses:
23
+ - MIT
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 2.4.8
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: mybooks!
45
+ test_files: []