Skip to content

Commit

Permalink
chore(examples): add microposts example (#3660)
Browse files Browse the repository at this point in the history
Signed-off-by: moul <[email protected]>
  • Loading branch information
moul authored Feb 7, 2025
1 parent b4ebf6c commit f75a77a
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 0 deletions.
5 changes: 5 additions & 0 deletions examples/gno.land/r/moul/microposts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# fork of `leon/fosdem25/microposts`

removing optional lines to make the code more concise for slides.

Original work here: https://gno.land/r/leon/fosdem25/microposts
1 change: 1 addition & 0 deletions examples/gno.land/r/moul/microposts/gno.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module gno.land/r/moul/microposts
3 changes: 3 additions & 0 deletions examples/gno.land/r/moul/microposts/microposts_test.gno
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package microposts

// empty file just to make sure that `gno test` tries to parse the implementation.
18 changes: 18 additions & 0 deletions examples/gno.land/r/moul/microposts/post.gno
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package microposts

import (
"std"
"time"
)

type Post struct {
text string
author std.Address
createdAt time.Time
}

func (p Post) String() string {
out := p.text + "\n"
out += "_" + p.createdAt.Format("02 Jan 2006, 15:04") + ", by " + p.author.String() + "_"
return out
}
25 changes: 25 additions & 0 deletions examples/gno.land/r/moul/microposts/realm.gno
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package microposts

import (
"std"
"strconv"
"time"
)

var posts []*Post

func CreatePost(text string) {
posts = append(posts, &Post{
text: text,
author: std.PrevRealm().Addr(), // provided by env
createdAt: time.Now(),
})
}

func Render(_ string) string {
out := "# Posts\n"
for i := len(posts) - 1; i >= 0; i-- {
out += "### Post " + strconv.Itoa(i) + "\n" + posts[i].String()
}
return out
}

0 comments on commit f75a77a

Please sign in to comment.