summaryrefslogtreecommitdiff
path: root/lib/ccc_conventions.rb
blob: c0f9943fbfa325e0c4aac381c8ca60823ea11ee2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
module CccConventions
  ERFA_PARENT_NAME       = "club/erfas"
  CHAOSTREFF_PARENT_NAME = "club/chaostreffs"

  NODE_KINDS = {
    "top_level" => {
      parent:      -> { Node.root },
      path_prefix: "",
      label:       "Top Level"
    },
    "generic" => {
      label: "Generic",
      hint:  "Can be created anywhere - choose the parent below."
      # no path_prefix - depends on whatever parent gets chosen; see below
    },
    "update" => {
      parent:      -> { Update.find_or_create_parent },
      tags:        ["update"],
      path_prefix: -> { "updates/#{Time.now.year}" },
      label:       "Update",
      hint:        -> { "Automatically created in /updates/#{Time.now.year}/, gets tag \"update\", and inherits the update template." }
    },
    "press_release" => {
      parent:      -> { Update.find_or_create_parent },
      tags:        ["update", "pressemitteilung"],
      path_prefix: -> { "updates/#{Time.now.year}" },
      label:       "Pressemitteilung",
      hint:        -> { "Automatically created in /updates/#{Time.now.year}/, gets tags \"update, pressemitteilung\", and inherits the update template." }
    },
    "erfa" => {
      parent:      -> { Node.find_by_unique_name!(ERFA_PARENT_NAME) },
      tags:        ["erfa-detail"],
      template:    "chapter_detail",
      path_prefix: ERFA_PARENT_NAME,
      label:       "Erfa",
      hint:        "Automatically created under the Erfa-Kreise overview page, gets tag \"erfa-detail\", and uses the chapter detail template."
    },
    "chaostreff" => {
      parent:      -> { Node.find_by_unique_name!(CHAOSTREFF_PARENT_NAME) },
      tags:        ["chaostreff-detail"],
      template:    "chapter_detail",
      path_prefix: CHAOSTREFF_PARENT_NAME,
      label:       "Chaostreff",
      hint:        "Automatically created under the Chaostreffs overview page, gets tag \"chaostreff-detail\", and uses the chapter detail template."
    }
  }.freeze
end