summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Henrik Mai <lars.mai@kontinui.de>2014-10-21 22:10:48 +0200
committerLars Henrik Mai <lars.mai@kontinui.de>2014-10-21 22:10:48 +0200
commit83ded97419c54d6d2fd2d9ec13a925a5a3daa9e1 (patch)
tree34e0cf71928f10bd8a1f9e1fc9b386a4190a4f16
parentc78c79400903276d8380b1767a11090d1f96e70f (diff)
added basic calendar powered by json data
-rw-r--r--data/calendar.json5
-rw-r--r--helpers/calendar_helpers.rb39
-rw-r--r--source/aktuelles/kalender.html.haml14
3 files changed, 56 insertions, 2 deletions
diff --git a/data/calendar.json b/data/calendar.json
new file mode 100644
index 0000000..a44245f
--- /dev/null
+++ b/data/calendar.json
@@ -0,0 +1,5 @@
+[
+ {"summary":"lounge","start":"2014-10-09 19:00:00 UTC","end":"2014-10-09 21:00:00 UTC"},
+ {"summary":"sublab webtreff","start":"2014-10-21 19:00:00 +0200","end":"2014-10-21 20:00:00 +0200"},
+ {"summary":"lounge","start":"2014-10-23 19:00:00 UTC","end":"2014-10-23 21:00:00 UTC"}
+]
diff --git a/helpers/calendar_helpers.rb b/helpers/calendar_helpers.rb
new file mode 100644
index 0000000..daa4625
--- /dev/null
+++ b/helpers/calendar_helpers.rb
@@ -0,0 +1,39 @@
+require 'date'
+
+module CalendarHelpers
+
+ class Event
+
+ # TODO i18n weekdays, group dates
+
+ FORMATS = {
+ time_only: "%H:%M",
+ date_only: "%a. %d.%m"
+ }
+
+ def initialize(args={})
+ @summary = args.fetch("summary")
+ @start_time = DateTime.parse(args.fetch("start"))
+ @end_time = DateTime.parse(args.fetch("end"))
+ end
+
+ def summary
+ @summary
+ end
+
+ def start_time
+ @start_time.strftime(FORMATS[:time_only])
+ end
+
+ def end_time
+ @end_time.strftime(FORMATS[:time_only])
+ end
+
+ def date
+ @start_time.strftime(FORMATS[:date_only])
+ end
+
+ end
+
+
+end
diff --git a/source/aktuelles/kalender.html.haml b/source/aktuelles/kalender.html.haml
index 7876565..437bc52 100644
--- a/source/aktuelles/kalender.html.haml
+++ b/source/aktuelles/kalender.html.haml
@@ -3,5 +3,15 @@ section: "aktuelles"
---
%h2
Termine
-%div
- = lorem.paragraph
+- data.calendar.map {|data| CalendarHelpers::Event.new(data)}.each do |ev|
+ .row
+ .large-12.columns
+ %h4= ev.date
+ .row
+ .large-2.large-offset-1.columns
+ %span= ev.start_time
+ \-
+ %span= ev.end_time
+ .large-9.columns
+ %span= ev.summary
+