summaryrefslogtreecommitdiff
path: root/lib/page_remote.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/page_remote.rb')
-rw-r--r--lib/page_remote.rb59
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/page_remote.rb b/lib/page_remote.rb
new file mode 100644
index 0000000..5425944
--- /dev/null
+++ b/lib/page_remote.rb
@@ -0,0 +1,59 @@
+# coding: utf-8
+require 'date'
+
+require 'config'
+require 'page'
+
+class RemotePage < Page
+ def initialize(metadata)
+ @metadata = metadata
+ end
+
+ def url
+ return Config::get.url + @metadata['url']
+ end
+
+ def atom_title
+ @metadata['title']
+ end
+
+ def atom_author
+ Person::new(@metadata['author'] || Config::get.default_author)
+ end
+
+ def atom_content
+ return nil
+ end
+
+ def atom_rights
+ return nil
+ end
+
+ def page_categories
+ @metadata['categories'] || []
+ end
+
+ def page_published
+ str = @metadata['published']
+ if str.nil?
+ return nil
+ end
+ return DateTime::parse(str).to_time
+ end
+
+ def page_updated
+ str = @metadata['updated']
+ if str.nil?
+ return nil
+ end
+ return DateTime::parse(str).to_time
+ end
+
+ def page_years
+ return []
+ end
+
+ def index_class
+ return 'external'
+ end
+end