git.fiddlerwoaroof.com
Browse code

chore: split model protocol into its own file

Ed Langley authored on 06/11/2019 19:21:59
Showing 3 changed files
... ...
@@ -44,32 +44,6 @@
44 44
 (defun unboundp (symbol)
45 45
   (not (boundp symbol)))
46 46
 
47
-(defgeneric feed-key (object))
48
-(defgeneric feed-url (object))
49
-
50
-(fw.lu:defclass+ feed-reference ()
51
-  ((%key :initarg :key :reader feed-key)
52
-   (%url :initarg :url :reader feed-url)))
53
-
54
-(fw.lu:defclass+ plump-cleaner
55
-    ((feed-reference (key url)))
56
-  ())
57
-
58
-(defgeneric resolve-feed-reference (reference)
59
-  (:method ((r feed-reference))
60
-    (alimenta.pull-feed:pull-feed (feed-url r))))
61
-
62
-(defgeneric prepare-feed-item-description (reference item)
63
-  (:method ((r feed-reference) (item alimenta:item))
64
-    (alimenta:description item))
65
-  (:method ((r plump-cleaner) (item alimenta:item))
66
-    (let ((description (alimenta:description item)))
67
-      (when description
68
-        (format t "~&aaaaa~%")
69
-        (plump:text
70
-         (plump:parse
71
-          description))))))
72
-
73 47
 (defun main ()
74 48
   (setf *app*
75 49
         (if (not (boundp '*app*))
76 50
new file mode 100644
... ...
@@ -0,0 +1,28 @@
1
+(in-package :fwoar.rss-reader)
2
+
3
+(defgeneric feed-key (object))
4
+(defgeneric feed-url (object))
5
+
6
+(fw.lu:defclass+ feed-reference ()
7
+  ((%key :initarg :key :reader feed-key)
8
+   (%url :initarg :url :reader feed-url)))
9
+
10
+(fw.lu:defclass+ plump-cleaner
11
+    ((feed-reference (key url)))
12
+  ())
13
+
14
+(defgeneric resolve-feed-reference (reference)
15
+  (:method ((r feed-reference))
16
+    (alimenta.pull-feed:pull-feed (feed-url r))))
17
+
18
+(defgeneric prepare-feed-item-description (reference item)
19
+  (:method ((r feed-reference) (item alimenta:item))
20
+    (alimenta:description item))
21
+  (:method ((r plump-cleaner) (item alimenta:item))
22
+    (let ((description (alimenta:description item)))
23
+      (when description
24
+        (format t "~&aaaaa~%")
25
+        (plump:text
26
+         (plump:parse
27
+          description))))))
28
+
... ...
@@ -22,7 +22,8 @@
22 22
   :components ((:file "package")
23 23
                (:file "utils" :depends-on ("package"))
24 24
                (:file "default-layout")
25
-               (:file "rss-render")
25
+               (:file "model")
26
+               (:file "rss-render" :depends-on "model")
26 27
                (:file "ui" :depends-on ("package"))
27
-               (:file "view" :depends-on ("package" "ui" "default-layout" "rss-render"))
28
-               (:file "main" :depends-on ("package" "utils" "view"))))
28
+               (:file "view" :depends-on ("package" "ui" "default-layout" "rss-render" "model"))
29
+               (:file "main" :depends-on ("package" "utils" "view" "model"))))