Class: BoardEffect::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/boardeffect.rb,
lib/boardeffect/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/boardeffect/client.rb', line 9

def initialize(options = {})
  if options.key?(:access_token)
    @auth_header, @auth_value = 'Authorization', "Bearer #{options[:access_token]}"
  else
    @auth_header, @auth_value = 'X-BoardEffectToken', options.fetch(:token)
  end

  @user_agent = options.fetch(:user_agent, 'Ruby BoardEffect::Client')

  @host = (options.key?(:host)) ? options[:host] : 'boardeffect.local'

  @http = Net::HTTP.new(@host)

  @http.use_ssl = (options.key?(:host)) ? true : false
end

Instance Method Details

#add_invitee(rsvp_id, attributes, params = nil) ⇒ Object

Raises:



76
77
78
79
80
81
# File 'lib/boardeffect.rb', line 76

def add_invitee(rsvp_id, attributes, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless params[:event_id].is_a? Numeric
  raise Error, "RSVP ID is required" unless rsvp_id.is_a? Numeric
  post("/workrooms/#{params[:workroom_id]}/events/#{params[:event_id]}/rsvps/#{rsvp_id}/add_invitee.json", attributes)
end

#create_announcement(attributes, params = nil) ⇒ Object



12
13
14
# File 'lib/boardeffect.rb', line 12

def create_announcement(attributes, params = nil)
  post("/#{workroom_check(params)}announcements.json", attributes)
end

#create_event(attributes, params = nil) ⇒ Object

Raises:



34
35
36
37
# File 'lib/boardeffect.rb', line 34

def create_event(attributes, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  post("/workrooms/#{params[:workroom_id]}/events.json", attributes)
end

#create_event_category(attributes, params = nil) ⇒ Object



142
143
144
# File 'lib/boardeffect.rb', line 142

def create_event_category(attributes, params = nil)
  post("/eventcolors.json", attributes)
end

#create_rsvp(attributes, params = nil) ⇒ Object

Raises:



63
64
65
66
67
# File 'lib/boardeffect.rb', line 63

def create_rsvp(attributes, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless params[:event_id].is_a? Numeric
  post("/workrooms/#{params[:workroom_id]}/events/#{params[:event_id]}/rsvps.json", attributes)
end

#create_userclass(attributes, params = nil) ⇒ Object



172
173
174
# File 'lib/boardeffect.rb', line 172

def create_userclass(attributes, params = nil)
  post("/userclasses.json", attributes)
end

#create_workroom(attributes, params = nil) ⇒ Object



216
217
218
# File 'lib/boardeffect.rb', line 216

def create_workroom(attributes, params = nil)
  post("/workrooms.json", attributes)
end

#delete_announcement(announcement_id, params = nil) ⇒ Object



24
25
26
# File 'lib/boardeffect.rb', line 24

def delete_announcement(announcement_id, params = nil)
  delete("/#{workroom_check(params)}announcements/#{announcement_id}.json")
end

#delete_event(id, params = nil) ⇒ Object

Raises:



51
52
53
54
# File 'lib/boardeffect.rb', line 51

def delete_event(id, params = nil)
  raise Error, "Event ID is required" unless id.is_a? Numeric
  delete("/workrooms/#{params[:workroom_id]}/events/#{id}.json")
end

#delete_event_category(id, params = nil) ⇒ Object

Raises:



156
157
158
159
# File 'lib/boardeffect.rb', line 156

def delete_event_category(id, params = nil)
  raise Error, "Eventcolor ID is required" unless id.is_a? Numeric
  delete("/eventcolors/#{id}.json")
end

#delete_userclass(userclass_id, params = nil) ⇒ Object

Raises:



186
187
188
189
# File 'lib/boardeffect.rb', line 186

def delete_userclass(userclass_id, params = nil)
  raise Error, "Userclass ID is required" unless userclass_id.is_a? Numeric
  delete("/userclasses/#{userclass_id}.json")
end

#delete_workroom(id, params = nil) ⇒ Object

Raises:



230
231
232
233
# File 'lib/boardeffect.rb', line 230

def delete_workroom(id, params = nil)
  raise Error, "Workroom ID is required" unless id.is_a? Numeric
  delete("/workrooms/#{id}.json")
end

#get(path, params = nil) ⇒ Object



25
26
27
# File 'lib/boardeffect/client.rb', line 25

def get(path, params = nil)
  request(Net::HTTP::Get.new(request_uri(path, params)))
end

#get_announcement(announcement_id, params = nil) ⇒ Object



20
21
22
# File 'lib/boardeffect.rb', line 20

def get_announcement(announcement_id, params = nil)
  get("/#{workroom_check(params)}announcements/#{announcement_id}.json")
end

#get_announcements(params = nil) ⇒ Object

Announcements



8
9
10
# File 'lib/boardeffect.rb', line 8

def get_announcements(params = nil)
  get("/#{workroom_check(params)}announcements.json", params)
end

#get_book(book_id, params = nil) ⇒ Object

Raises:



101
102
103
104
105
# File 'lib/boardeffect.rb', line 101

def get_book(book_id, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Book ID is required" unless book_id.is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/books/#{book_id}.json")
end

#get_books(params = nil) ⇒ Object

Books

Raises:



91
92
93
94
# File 'lib/boardeffect.rb', line 91

def get_books(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/books.json", params)
end

#get_client(client_id) ⇒ Object

Clients

Raises:



108
109
110
111
# File 'lib/boardeffect.rb', line 108

def get_client(client_id)
  raise Error, "Client ID is required" unless client_id.is_a? Numeric
  get("/clients/#{client_id}.json")
end

#get_custom_fields(params = nil) ⇒ Object

Custom Fields



114
115
116
# File 'lib/boardeffect.rb', line 114

def get_custom_fields(params = nil)
  get("/custom_fields.json")
end

#get_discussion(discussion_id, params = nil) ⇒ Object

Raises:



124
125
126
127
# File 'lib/boardeffect.rb', line 124

def get_discussion(discussion_id, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/discussions/#{discussion_id}.json")
end

#get_discussion_post(discussion_id, post_id, params = nil) ⇒ Object

Discussion Posts

Raises:



130
131
132
133
134
135
# File 'lib/boardeffect.rb', line 130

def get_discussion_post(discussion_id, post_id, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Discussion ID is required" unless discussion_id.is_a? Numeric
  raise Error, "Discussion Post ID is required" unless post_id.is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/discussions/#{discussion_id}/discussion_posts/#{post_id}.json")
end

#get_discussions(params = nil) ⇒ Object

Discussions

Raises:



119
120
121
122
# File 'lib/boardeffect.rb', line 119

def get_discussions(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/discussions.json")
end

#get_event(id, params = nil) ⇒ Object

Raises:



45
46
47
48
49
# File 'lib/boardeffect.rb', line 45

def get_event(id, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless id.is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/events/#{id}.json")
end

#get_event_categories(params = nil) ⇒ Object

Event Categories



138
139
140
# File 'lib/boardeffect.rb', line 138

def get_event_categories(params = nil)
  get("/eventcolors.json", params)
end

#get_event_category(id, params = nil) ⇒ Object

Raises:



151
152
153
154
# File 'lib/boardeffect.rb', line 151

def get_event_category(id, params = nil)
  raise Error, "Eventcolor ID is required" unless id.is_a? Numeric
  get("/eventcolors/#{id}.json")
end

#get_events(params = nil) ⇒ Object

Events

Raises:



29
30
31
32
# File 'lib/boardeffect.rb', line 29

def get_events(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/events.json", params)
end

#get_paginated_books(params = nil) ⇒ Object

Raises:



96
97
98
99
# File 'lib/boardeffect.rb', line 96

def get_paginated_books(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/books/paginated.json", params)
end

#get_rsvp(rsvp_id, params = nil) ⇒ Object

Raises:



69
70
71
72
73
74
# File 'lib/boardeffect.rb', line 69

def get_rsvp(rsvp_id, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless params[:event_id].is_a? Numeric
  raise Error, "RSVP ID is required" unless rsvp_id.is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/events/#{params[:event_id]}/rsvps/#{rsvp_id}.json")
end

#get_rsvps(params = nil) ⇒ Object

RSVPS

Raises:



57
58
59
60
61
# File 'lib/boardeffect.rb', line 57

def get_rsvps(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless params[:event_id].is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/events/#{params[:event_id]}/rsvps.json")
end

#get_surveys(params = nil) ⇒ Object

Surveys

Raises:



162
163
164
165
# File 'lib/boardeffect.rb', line 162

def get_surveys(params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  get("/workrooms/#{params[:workroom_id]}/surveys.json")
end

#get_user(id) ⇒ Object

Raises:



196
197
198
199
# File 'lib/boardeffect.rb', line 196

def get_user(id)
  raise Error, "User ID is required" unless id.is_a? Numeric
  get("/users/#{id}.json")
end

#get_userclass(userclass_id, params = nil) ⇒ Object

Raises:



181
182
183
184
# File 'lib/boardeffect.rb', line 181

def get_userclass(userclass_id, params = nil)
  raise Error, "Userclass ID is required" unless userclass_id.is_a? Numeric
  get("/userclasses/#{userclass_id}.json")
end

#get_userclasses(params = nil) ⇒ Object

Userclasses



168
169
170
# File 'lib/boardeffect.rb', line 168

def get_userclasses(params = nil)
  get("/userclasses.json", params)
end

#get_usersObject

Users



192
193
194
# File 'lib/boardeffect.rb', line 192

def get_users
  get("/users.json")
end

#get_workgroup(id) ⇒ Object

Raises:



206
207
208
209
# File 'lib/boardeffect.rb', line 206

def get_workgroup(id)
  raise Error, "Workgroup ID is required" unless id.is_a? Numeric
  get("/committeegroups/#{id}.json")
end

#get_workgroupsObject

Workgroups



202
203
204
# File 'lib/boardeffect.rb', line 202

def get_workgroups
  get("/committeegroups.json")
end

#get_workroom(id, params = nil) ⇒ Object

Raises:



225
226
227
228
# File 'lib/boardeffect.rb', line 225

def get_workroom(id, params = nil)
  raise Error, "Workroom ID is required" unless id.is_a? Numeric
  get("/workrooms/#{id}.json")
end

#get_workrooms(params = nil) ⇒ Object

Workrooms



212
213
214
# File 'lib/boardeffect.rb', line 212

def get_workrooms(params = nil)
  get("/workrooms.json")
end

#remove_invitee(rsvp_id, attributes, params = nil) ⇒ Object

Raises:



83
84
85
86
87
88
# File 'lib/boardeffect.rb', line 83

def remove_invitee(rsvp_id, attributes, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless params[:event_id].is_a? Numeric
  raise Error, "RSVP ID is required" unless rsvp_id.is_a? Numeric
  post("/workrooms/#{params[:workroom_id]}/events/#{params[:event_id]}/rsvps/#{rsvp_id}/remove_invitee.json", attributes)
end

#update_announcement(announcement_id, attributes, params = nil) ⇒ Object



16
17
18
# File 'lib/boardeffect.rb', line 16

def update_announcement(announcement_id, attributes, params = nil)
  put("/#{workroom_check(params)}announcements/#{announcement_id}.json", attributes)
end

#update_event(id, attributes, params = nil) ⇒ Object

Raises:



39
40
41
42
43
# File 'lib/boardeffect.rb', line 39

def update_event(id, attributes, params = nil)
  raise Error, "Workroom ID is required" unless params[:workroom_id].is_a? Numeric
  raise Error, "Event ID is required" unless id.is_a? Numeric
  put("/workrooms/#{params[:workroom_id]}/events/#{id}.json", attributes)
end

#update_event_category(id, attributes, params = nil) ⇒ Object

Raises:



146
147
148
149
# File 'lib/boardeffect.rb', line 146

def update_event_category(id, attributes, params = nil)
  raise Error, "Eventcolor ID is required" unless id.is_a? Numeric
  put("/eventcolors/#{id}.json", attributes)
end

#update_userclass(userclass_id, attributes, params = nil) ⇒ Object

Raises:



176
177
178
179
# File 'lib/boardeffect.rb', line 176

def update_userclass(userclass_id, attributes, params = nil)
  raise Error, "Userclass ID is required" unless userclass_id.is_a? Numeric
  put("/userclasses/#{userclass_id}.json", attributes)
end

#update_workroom(id, attributes, params = nil) ⇒ Object

Raises:



220
221
222
223
# File 'lib/boardeffect.rb', line 220

def update_workroom(id, attributes, params = nil)
  raise Error, "Workroom ID is required" unless id.is_a? Numeric
  put("/workrooms/#{id}.json", attributes)
end