summaryrefslogtreecommitdiff
path: root/gemfeed/aitest
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed/aitest')
-rw-r--r--gemfeed/aitest/cmd/aitest/main.go32
-rw-r--r--gemfeed/aitest/go.mod3
-rw-r--r--gemfeed/aitest/internal/count.go21
-rw-r--r--gemfeed/aitest/internal/version.go7
4 files changed, 63 insertions, 0 deletions
diff --git a/gemfeed/aitest/cmd/aitest/main.go b/gemfeed/aitest/cmd/aitest/main.go
new file mode 100644
index 00000000..130cfe0d
--- /dev/null
+++ b/gemfeed/aitest/cmd/aitest/main.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "os"
+
+ "aitest/internal"
+)
+
+func main() {
+ var versionFlag bool
+ flag.BoolVar(&versionFlag, "v", false, "print version")
+ dir := flag.String("dir", "", "directory to count files in")
+ flag.Parse()
+
+ if versionFlag {
+ fmt.Println(internal.GetVersion())
+ return
+ }
+
+ if *dir != "" {
+ fileCount, err := internal.CountFiles(*dir)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error counting files: %v\n", err)
+ os.Exit(1)
+ }
+ fmt.Printf("Number of files in directory %s: %d\n", *dir, fileCount)
+ } else {
+ fmt.Println("No directory specified. No count given.")
+ }
+}
diff --git a/gemfeed/aitest/go.mod b/gemfeed/aitest/go.mod
new file mode 100644
index 00000000..8fac64ee
--- /dev/null
+++ b/gemfeed/aitest/go.mod
@@ -0,0 +1,3 @@
+module aitest
+
+go 1.24
diff --git a/gemfeed/aitest/internal/count.go b/gemfeed/aitest/internal/count.go
new file mode 100644
index 00000000..544ace17
--- /dev/null
+++ b/gemfeed/aitest/internal/count.go
@@ -0,0 +1,21 @@
+package internal
+
+import (
+ "os"
+)
+
+func CountFiles(dir string) (int, error) {
+ files, err := os.ReadDir(dir)
+ if err != nil {
+ return 0, err
+ }
+
+ count := 0
+ for _, file := range files {
+ if !file.IsDir() {
+ count++
+ }
+ }
+
+ return count, nil
+}
diff --git a/gemfeed/aitest/internal/version.go b/gemfeed/aitest/internal/version.go
new file mode 100644
index 00000000..84fa6601
--- /dev/null
+++ b/gemfeed/aitest/internal/version.go
@@ -0,0 +1,7 @@
+package internal
+
+var Version = "0.0.0"
+
+func GetVersion() string {
+ return Version
+}