about summary refs log tree commit diff stats
path: root/lib/Octans/Puzzle.rakumod
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Octans/Puzzle.rakumod')
-rw-r--r--lib/Octans/Puzzle.rakumod51
1 files changed, 23 insertions, 28 deletions
diff --git a/lib/Octans/Puzzle.rakumod b/lib/Octans/Puzzle.rakumod
index d97f9d6..a9563cb 100644
--- a/lib/Octans/Puzzle.rakumod
+++ b/lib/Octans/Puzzle.rakumod
@@ -8,36 +8,31 @@ sub get-puzzle (
 ) is export {
     my @puzzle;
 
-    # Read the puzzle from file if it exists.
-    if $path.IO.f {
-        @puzzle = $path.IO.lines.map(*.words.cache.Array);
+    # $url will hold the url that we'll call to get the toot data.
+    my Str $url;
+
+    # User can pass 2 types of links, either it will be the one
+    # when they view it from their local instance or the one they
+    # get from Algot's profile. We set $url from it.
+    if $path.match("web/statuses") -> $match {
+        $url = $match.replace-with("api/v1/statuses");
     } else {
-        # $url will hold the url that we'll call to get the toot data.
-        my Str $url;
-
-        # User can pass 2 types of links, either it will be the one
-        # when they view it from their local instance or the one they
-        # get from Algot's profile. We set $url from it.
-        if $path.match("web/statuses") -> $match {
-            $url = $match.replace-with("api/v1/statuses");
-        } else {
-            $url = "https://mastodon.art/api/v1/statuses/" ~ $path.split("/")[*-1];
-        }
-
-        # grids capture grids of a row.
-        my token grids { \S \*? }
-        # rows capture rows of the puzzle.
-        my token rows { <grids> ** 2..* % \h }
+        $url = "https://mastodon.art/api/v1/statuses/" ~ $path.split("/")[*-1];
+    }
 
-        # jget just get's the url & decodes the json. We access the
-        # description field of 1st media attachment.
-        if (jget($url)<media_attachments>[0]<description> ~~
-            / \n\n <rows>+ % \n /
-           ) -> $match {
-            for 0 .. $match<rows>.end -> $y {
-                for 0 .. $match<rows>[$y]<grids>.end -> $x {
-                    @puzzle[$y][$x] = $match<rows>[$y]<grids>[$x].lc;
-                }
+    # grids capture grids of a row.
+    my token grids { \S \*? }
+    # rows capture rows of the puzzle.
+    my token rows { <grids> ** 2..* % \h }
+
+    # jget just get's the url & decodes the json. We access the
+    # description field of 1st media attachment.
+    if (jget($url)<media_attachments>[0]<description> ~~
+        / \n\n <rows>+ % \n /
+       ) -> $match {
+        for 0 .. $match<rows>.end -> $y {
+            for 0 .. $match<rows>[$y]<grids>.end -> $x {
+                @puzzle[$y][$x] = $match<rows>[$y]<grids>[$x].lc;
             }
         }
     }
='#n197'>197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
34
235
236
237
238
239
240