Module: Mural::Client::MuralContent::FacilitationFeatures

Included in:
Mural::Client::MuralContent
Defined in:
lib/mural/client/mural_content/facilitation_features.rb

Instance Method Summary collapse

Instance Method Details

#destroy_voting_session(mural_id, voting_session_id) ⇒ Object



73
74
75
76
77
78
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 73

def destroy_voting_session(mural_id, voting_session_id)
  delete(
    "/api/public/v1/murals/#{mural_id}/voting-sessions" \
    "/#{voting_session_id}"
  )
end

#end_private_mode(mural_id) ⇒ Object



18
19
20
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 18

def end_private_mode(mural_id)
  post("/api/public/v1/murals/#{mural_id}/private-mode/end")
end

#end_timer(mural_id) ⇒ Object



121
122
123
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 121

def end_timer(mural_id)
  post("/api/public/v1/murals/#{mural_id}/timer/end")
end

#end_voting_session(mural_id) ⇒ Object



91
92
93
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 91

def end_voting_session(mural_id)
  post("/api/public/v1/murals/#{mural_id}/voting-sessions/end")
end

#list_voting_session_results(mural_id, voting_session_id, next_page: nil) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 44

def list_voting_session_results(
  mural_id,
  voting_session_id,
  next_page: nil
)
  json = get(
    "/api/public/v1/murals/#{mural_id}/voting-sessions" \
    "/#{voting_session_id}/results",
    { next: next_page }
  )

  voting_session_results = json['value'].map do |result|
    Mural::VotingSessionResult.decode(result)
  end

  [voting_session_results, json['next']]
end

#list_voting_sessions(mural_id, next_page: nil) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 30

def list_voting_sessions(mural_id, next_page: nil)
  json = get(
    "/api/public/v1/murals/#{mural_id}/voting-sessions",
    { next: next_page }
  )

  voting_sessions = json['value'].map do |session|
    Mural::VotingSession.decode(session)
  end

  [voting_sessions, json['next']]
end

#retrieve_private_mode(mural_id) ⇒ Object



23
24
25
26
27
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 23

def retrieve_private_mode(mural_id)
  json = get("/api/public/v1/murals/#{mural_id}/private-mode")

  Mural::PrivateMode.decode(json['value'])
end

#retrieve_timer(mural_id) ⇒ Object



104
105
106
107
108
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 104

def retrieve_timer(mural_id)
  json = get("/api/public/v1/murals/#{mural_id}/timer")

  Mural::Timer.decode(json['value'])
end

#retrieve_voting_session(mural_id, voting_session_id) ⇒ Object



63
64
65
66
67
68
69
70
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 63

def retrieve_voting_session(mural_id, voting_session_id)
  json = get(
    "/api/public/v1/murals/#{mural_id}/voting-sessions" \
    "/#{voting_session_id}"
  )

  Mural::VotingSession.decode(json['value'])
end

#start_private_mode(mural_id, hide_authors: false) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 8

def start_private_mode(mural_id, hide_authors: false)
  json = post(
    "/api/public/v1/murals/#{mural_id}/private-mode/start",
    { hideAuthors: hide_authors }
  )

  Mural::PrivateMode.decode(json['value'])
end

#start_timer(mural_id, duration:, sound_enabled: true) ⇒ Object



111
112
113
114
115
116
117
118
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 111

def start_timer(mural_id, duration:, sound_enabled: true)
  json = post(
    "/api/public/v1/murals/#{mural_id}/timer/start",
    { duration: duration, soundEnabled: sound_enabled }
  )

  Mural::Timer.decode(json['value'])
end

#start_voting_session(mural_id, start_voting_session_params) ⇒ Object



81
82
83
84
85
86
87
88
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 81

def start_voting_session(mural_id, start_voting_session_params)
  json = post(
    "/api/public/v1/murals/#{mural_id}/voting-sessions/start",
    start_voting_session_params.encode
  )

  Mural::VotingSession.decode(json['value'])
end

#update_timer(mural_id, update_timer_params) ⇒ Object



126
127
128
129
130
131
132
133
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 126

def update_timer(mural_id, update_timer_params)
  json = patch(
    "/api/public/v1/murals/#{mural_id}/timer",
    update_timer_params.encode
  )

  Mural::Timer.decode(json['value'])
end

#vote_for_widget(mural_id, widget_id) ⇒ Object



96
97
98
99
100
101
# File 'lib/mural/client/mural_content/facilitation_features.rb', line 96

def vote_for_widget(mural_id, widget_id)
  post(
    "/api/public/v1/murals/#{mural_id}/voting-sessions" \
    "/vote/#{widget_id}"
  )
end