From a1e8c6fc94297741b1ee00e821b3bf9d4d51e189 Mon Sep 17 00:00:00 2001 From: Lars Henrik Mai Date: Sat, 25 Oct 2014 17:33:47 +0200 Subject: use data for tweets and wiki changes --- helpers/calendar_helpers.rb | 14 ++++++++------ helpers/twitter_helpers.rb | 27 +++++++++++++++++++++++++++ helpers/wiki_helpers.rb | 29 ++++++++++++++++++++--------- 3 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 helpers/twitter_helpers.rb (limited to 'helpers') diff --git a/helpers/calendar_helpers.rb b/helpers/calendar_helpers.rb index daa4625..ed8ab16 100644 --- a/helpers/calendar_helpers.rb +++ b/helpers/calendar_helpers.rb @@ -2,14 +2,16 @@ require 'date' module CalendarHelpers - class Event + FORMATS = { + time_only: "%H:%M", + date_only: "%a. %d.%m", + date_string_short: "%e. %b %Y", + log: "%Y-%m-%d %H:%M" + } - # TODO i18n weekdays, group dates + class Event - FORMATS = { - time_only: "%H:%M", - date_only: "%a. %d.%m" - } + # TODO i18n weekdays, group dates def initialize(args={}) @summary = args.fetch("summary") diff --git a/helpers/twitter_helpers.rb b/helpers/twitter_helpers.rb new file mode 100644 index 0000000..1a3850c --- /dev/null +++ b/helpers/twitter_helpers.rb @@ -0,0 +1,27 @@ +require 'date' + +module TwitterHelpers + + class Tweet + + attr_reader :tweet_id, :text, :user_name + + def initialize(atts={}) + @tweet_id = atts.fetch("id") + @created_at = DateTime.parse(atts.fetch("created_at")) + @text = atts.fetch("text") + @user_name = atts.fetch("user").fetch("name") + @user_screen_name = atts.fetch("user").fetch("screen_name") + end + + def created_at + @created_at.strftime(CalendarHelpers::FORMATS[:date_string_short]) + end + + def user_screen_name + "@#{@user_screen_name}" + end + + end + +end diff --git a/helpers/wiki_helpers.rb b/helpers/wiki_helpers.rb index 95e8268..4984095 100644 --- a/helpers/wiki_helpers.rb +++ b/helpers/wiki_helpers.rb @@ -3,21 +3,32 @@ require 'addressable/template' module WikiHelpers - RecentChangesItem = Struct.new(:username, :page, :datetime, :changelog) - WikiPageUrl = Addressable::Template.new("http://sublab.org/wiki/ikiwiki.cgi{?page}&do=goto") - def wiki_changes(count=3) - # mockup for now + class WikiChanges + + attr_reader :username, :page, :changelog + + def initialize(atts={}) + @username = atts.fetch("username") + @page = atts.fetch("page") + @datetime = DateTime.parse(atts.fetch("datetime")) + @changelog = atts.fetch("changelog", nil) + end - [ - RecentChangesItem.new("Woruman", "techniksprechstunde", DateTime.parse("2014-04-11 21:25:54")), - RecentChangesItem.new("drnerd", "techniksprechstunde", DateTime.parse("2014-04-10 20:09:44")), - RecentChangesItem.new("jackrandom", "coreboot-x201", DateTime.parse("2014-04-08 12:52:15"), "USB Boot patch now obsolete") - ] + def datetime + @datetime.strftime(CalendarHelpers::FORMATS[:log]) + end + + end + def wiki_changes + data.wiki_changes.map do |atts| + WikiChanges.new(atts) + end end + # TODO move to link helper module def link_to_wiki(name) url = WikiPageUrl.expand({page: name}).to_s link_to escape_html(name), url -- cgit v1.2.1