diff options
Diffstat (limited to 'src/guff/views')
-rw-r--r-- | src/guff/views/ecrs/test-blog.ecr (renamed from src/guff/views/ecrs/test.ecr) | 42 | ||||
-rw-r--r-- | src/guff/views/html/test-blog.cr | 65 | ||||
-rw-r--r-- | src/guff/views/html/test.cr | 33 |
3 files changed, 71 insertions, 69 deletions
diff --git a/src/guff/views/ecrs/test.ecr b/src/guff/views/ecrs/test-blog.ecr index d36b62c..f28966a 100644 --- a/src/guff/views/ecrs/test.ecr +++ b/src/guff/views/ecrs/test-blog.ecr @@ -1,40 +1,10 @@ <h1><%= h(TITLE) %></h1> <% - [{ - id: "draft", - name: "Draft Posts", - - actions: [{ - id: "posted", - name: "Post", - }, { - id: "deleted", - name: "Delete", - }], - }, { - id: "posted", - name: "Posted", - - actions: [{ - id: "draft", - name: "Draft", - }, { - id: "deleted", - name: "Delete", - }], - }, { - id: "deleted", - name: "Deleted Posts", - - actions: [{ - id: "draft", - name: "Draft", - }], - }].each do |kind| + POST_SETS.each do |set| %> <h2><%= - h(kind[:name] as String) + h(set[:name] as String) %></h2> <table> @@ -48,7 +18,7 @@ </tr> </thead> - <tbody><% posts(kind[:id] as String).rows.each do |post| %> + <tbody><% posts(set[:id] as String).rows.each do |post| %> <tr> <td><%= h(post.row["post_id"].to_s) @@ -66,11 +36,11 @@ post.row["body"].to_s %></td> - <% (kind[:actions] as Array(Hash(Symbol, String))).each do |a| %> + <% (set[:actions] as Array(Hash(Symbol, String))).each do |a| %> <td> <form method='post' - action='/test/set_state' + action='/test/blog/set_state' > <input type='hidden' @@ -100,7 +70,7 @@ <div class='section'> <form method='post' - action='/test/add_post' + action='/test/blog/add_post' > <label for='post-name'> Name diff --git a/src/guff/views/html/test-blog.cr b/src/guff/views/html/test-blog.cr new file mode 100644 index 0000000..9ad91f3 --- /dev/null +++ b/src/guff/views/html/test-blog.cr @@ -0,0 +1,65 @@ +require "html" +require "ecr/macros" +require "./page" + +class Guff::TestBlogHTMLView + TITLE = "Guff Blog Test" + + POST_SETS = [{ + id: "draft", + name: "Drafts", + + actions: [{ + id: "posted", + name: "Post", + }, { + id: "deleted", + name: "Delete", + }], + }, { + id: "posted", + name: "Posted", + + actions: [{ + id: "draft", + name: "Draft", + }, { + id: "deleted", + name: "Delete", + }], + }, { + id: "deleted", + name: "Deleted Posts", + + actions: [{ + id: "draft", + name: "Draft", + }], + }] + + def self.run(models, context : HTTP::Server::Context) + new(models).run(context) + end + + def initialize(@models : Models) + end + + def run(context) + page = PageHTMLView.new(TITLE, self.to_s) + context.response.content_type = page.content_type + context.response.puts page + end + + private def posts(state : String) + @models.post.get_posts( + tags: [["_blog"]], + filters: { state: state } + ) + end + + def h(s : String) + HTML.escape(s || "") + end + + ECR.def_to_s("./src/guff/views/ecrs/test-blog.ecr") +end diff --git a/src/guff/views/html/test.cr b/src/guff/views/html/test.cr deleted file mode 100644 index 37317e5..0000000 --- a/src/guff/views/html/test.cr +++ /dev/null @@ -1,33 +0,0 @@ -require "html" -require "ecr/macros" -require "./page" - -class Guff::TestHTMLView - TITLE = "Guff Blog Test" - - def self.run(models, context : HTTP::Server::Context) - new(models).run(context) - end - - def initialize(@models : Models) - end - - def run(context) - page = PageHTMLView.new(TITLE, self.to_s) - context.response.content_type = page.content_type - context.response.puts page - end - - private def posts(state : String) - @models.post.get_posts( - tags: [["_blog"]], - filters: { state: state } - ) - end - - def h(s : String) - HTML.escape(s || "") - end - - ECR.def_to_s("./src/guff/views/ecrs/test.ecr") -end |