summaryrefslogtreecommitdiff
path: root/internal/inventory
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-03-12 03:08:43 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-03-12 03:08:43 +0100
commite532c47753c112f8168de7354d255efb95f1f0b8 (patch)
tree5adc7b837d9bb06bafaaf5cfef27ae5bfede802c /internal/inventory
parent3f3bc476993e9ca4e64404cef1fdc4bd1aed4d97 (diff)
split
Diffstat (limited to 'internal/inventory')
-rw-r--r--internal/inventory/inventory.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/inventory/inventory.go b/internal/inventory/inventory.go
new file mode 100644
index 0000000..4fe3be0
--- /dev/null
+++ b/internal/inventory/inventory.go
@@ -0,0 +1,31 @@
+package inventory
+
+type Inventory struct {
+ Items []Item
+}
+
+type Item struct {
+ Title string
+ Quantity int
+}
+
+func (m *Inventory) Add(title string) {
+ for _, v := range m.Items {
+ if v.Title == title {
+ v.Quantity += 1
+ return
+ }
+ }
+ m.Items = append(m.Items, Item{Title: title, Quantity: 1})
+}
+
+func (m *Inventory) Del(title string) int {
+ for i, v := range m.Items {
+ if v.Title == title {
+ count := v.Quantity
+ m.Items = append(m.Items[:i], m.Items[i+1:]...)
+ return count
+ }
+ }
+ return 0
+}