big_marker_client 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +1 -1
- data/lib/big_marker_client/api/v1/conference.rb +2 -2
- data/lib/big_marker_client/base.rb +5 -3
- data/lib/big_marker_client/config.rb +1 -1
- data/lib/big_marker_client/http_client.rb +1 -1
- data/lib/big_marker_client/models/attendee.rb +13 -4
- data/lib/big_marker_client/models/handout.rb +2 -0
- data/lib/big_marker_client/models/presenter.rb +3 -1
- data/lib/big_marker_client/models/survey_result.rb +18 -0
- data/lib/big_marker_client/version.rb +1 -1
- data/lib/big_marker_client.rb +1 -0
- data/spec/factories/big_marker/attendee.rb +4 -3
- data/spec/factories/big_marker/presenter.rb +8 -1
- data/spec/factories/big_marker/survey_result.rb +12 -0
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed37646b284700f68cd35dbc2479ab9cfcfb8f03bf5ae0c48e0145ce66ad9fe8
|
4
|
+
data.tar.gz: d4690336aa4d989931f00fdff50ed6c4f328bb6b85e1a3f1d9152eb741fe7b50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce98e4e5c230dc9d7dc5ae42c176e4bcae182b729d871eb55434f7e0db3c9c592ef82e6ce68564fc1721088bf949b6bf408ad7a0c2acce2ae111966a53fee289
|
7
|
+
data.tar.gz: bd727a006b800643ef093ca8e1e115a88644826aabaf96c1b1c59fc067d75d84451d7daecfedee75e524235aca91a3d4d7002e6861b27f2c26079f50d98da7ba
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [0.1.7] - Unreleased
|
4
|
+
|
5
|
+
- fix return types for update and create are different from show
|
6
|
+
- fix attendee duration format (not integer minutes but time string)
|
7
|
+
- add attendee field `certificate_of_completion`
|
8
|
+
|
1
9
|
## [0.1.6] - 2022-01-19
|
2
10
|
|
3
11
|
- fix recurring method to return "child_conferences"
|
data/Gemfile
CHANGED
@@ -137,7 +137,7 @@ module BigMarkerClient
|
|
137
137
|
def update(conference_id, body = {})
|
138
138
|
body = body.to_h if body.is_a?(::BigMarkerClient::Models::Conference)
|
139
139
|
result = put(replace_path_params(path: UPDATE_CONFERENCE, replacements: { "{id}": conference_id }), body)
|
140
|
-
return ::BigMarkerClient::Models::Conference.new(result
|
140
|
+
return ::BigMarkerClient::Models::Conference.new(result) if result["id"]
|
141
141
|
|
142
142
|
result
|
143
143
|
end
|
@@ -149,7 +149,7 @@ module BigMarkerClient
|
|
149
149
|
def create(body = {})
|
150
150
|
body = body.to_h if body.is_a?(::BigMarkerClient::Models::Base)
|
151
151
|
result = post(CREATE_CONFERENCE, body)
|
152
|
-
return ::BigMarkerClient::Models::Conference.new(result
|
152
|
+
return ::BigMarkerClient::Models::Conference.new(result) if result["id"]
|
153
153
|
|
154
154
|
result
|
155
155
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require "
|
2
|
-
require "typhoeus
|
1
|
+
require "faraday"
|
2
|
+
require "faraday/typhoeus"
|
3
3
|
|
4
4
|
module BigMarkerClient
|
5
5
|
class Base
|
@@ -57,7 +57,9 @@ module BigMarkerClient
|
|
57
57
|
params = params.to_json unless %w[get delete].include?(verb.to_s)
|
58
58
|
@http_client ||= HttpClient.new
|
59
59
|
response = @http_client.connection.send(verb.to_s, base_url(path), params)
|
60
|
-
parse_body(response.body)
|
60
|
+
return parse_body(response.body) if response.success?
|
61
|
+
|
62
|
+
response.body
|
61
63
|
end
|
62
64
|
|
63
65
|
def check_preconditions(verb, path)
|
@@ -4,10 +4,10 @@ module BigMarkerClient
|
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@connection = Faraday.new(url: Config.base_url) do |faraday|
|
7
|
+
faraday.adapter :typhoeus
|
7
8
|
faraday = headers(faraday)
|
8
9
|
configure_logging(faraday) if Config.log
|
9
10
|
end
|
10
|
-
@connection.adapter :typhoeus
|
11
11
|
end
|
12
12
|
|
13
13
|
private
|
@@ -3,10 +3,9 @@ module BigMarkerClient
|
|
3
3
|
class Attendee < Base
|
4
4
|
attr_accessor :id, :bmid, :conference_id, :email, :first_name, :last_name, :edited_in_room_display_name,
|
5
5
|
:custom_fields, :entered_at, :leaved_at, :total_duration, :engaged_duration, :attendance_monitor,
|
6
|
-
:
|
7
|
-
:
|
8
|
-
|
9
|
-
attr_reader :view_handout, :download_handout
|
6
|
+
:time_zone, :country, :certificate_of_completion, :chats_count, :qas_count, :polls_count, :polls,
|
7
|
+
:questions, :handouts, :browser_name, :browser_version, :device_name
|
8
|
+
attr_reader :view_handout, :download_handout, :survey_results
|
10
9
|
|
11
10
|
def download_handout=(handout_array)
|
12
11
|
@download_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
|
@@ -16,6 +15,16 @@ module BigMarkerClient
|
|
16
15
|
end
|
17
16
|
end
|
18
17
|
|
18
|
+
# TODO: handout has same structure as view_handout?
|
19
|
+
|
20
|
+
def survey_results=(results_array)
|
21
|
+
@survey_results = if results_array.nil? || !results_array.is_a?(Array) || results_array.empty?
|
22
|
+
[]
|
23
|
+
else
|
24
|
+
results_array.map { |result_hash| SurveyResult.new(result_hash) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
19
28
|
def view_handout=(handout_array)
|
20
29
|
@view_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
|
21
30
|
[]
|
@@ -6,7 +6,9 @@ module BigMarkerClient
|
|
6
6
|
:presenter_dial_in_id, :presenter_dial_in_passcode, :title, :bio, :can_manage, :is_moderator,
|
7
7
|
:facebook, :twitter, :linkedin, :website,
|
8
8
|
# for presenter creation
|
9
|
-
:presenter_temporary_password, :send_email_invite, :add_to_channel_subscriber_list
|
9
|
+
:presenter_temporary_password, :send_email_invite, :add_to_channel_subscriber_list,
|
10
|
+
:enter_as_attendee, :remove_bigmarker_contact_option, :show_on_networking_center,
|
11
|
+
:show_chat_icon_in_booth_or_session_room
|
10
12
|
|
11
13
|
# differences between creation and retrieval, use creation as leading (oh well)
|
12
14
|
alias display_name name
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module BigMarkerClient
|
2
|
+
module Models
|
3
|
+
class SurveyResult < Base
|
4
|
+
attr_accessor :question, :email, :response
|
5
|
+
attr_reader :date
|
6
|
+
|
7
|
+
def date=(date_str)
|
8
|
+
@date = Date.strptime(date_str, "%a, %b %d, %Y") unless date_str.nil? || date_str == ""
|
9
|
+
rescue Date::Error
|
10
|
+
@date = nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def answered?
|
14
|
+
!response.nil? && response != ""
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/big_marker_client.rb
CHANGED
@@ -32,6 +32,7 @@ module BigMarkerClient
|
|
32
32
|
autoload :PreloadFile, "big_marker_client/models/preload_file"
|
33
33
|
autoload :Presenter, "big_marker_client/models/presenter"
|
34
34
|
autoload :Registrant, "big_marker_client/models/registrant"
|
35
|
+
autoload :SurveyResult, "big_marker_client/models/survey_result"
|
35
36
|
autoload :WebinarStats, "big_marker_client/models/webinar_stats"
|
36
37
|
end
|
37
38
|
end
|
@@ -10,8 +10,8 @@ FactoryBot.define do
|
|
10
10
|
custom_fields { [] }
|
11
11
|
entered_at { (Time.now - (60 * BigMarkerClient::TestSupport::MINUTES)).strftime("%FT%T%:z") }
|
12
12
|
leaved_at { Time.now.strftime("%FT%T%:z") }
|
13
|
-
total_duration { "
|
14
|
-
engaged_duration { "
|
13
|
+
total_duration { Time.at(rand * 120 * 60).utc.strftime("%T") }
|
14
|
+
engaged_duration { Time.at(rand * 120 * 60).utc.strftime("%T") }
|
15
15
|
attendance_monitor { { "show_popup" => 0, "click_popup" => 0 } }
|
16
16
|
survey_results { [] }
|
17
17
|
time_zone { "Europe/Berlin" }
|
@@ -27,6 +27,7 @@ FactoryBot.define do
|
|
27
27
|
device_name { "desktop" }
|
28
28
|
download_handout { [] }
|
29
29
|
view_handout { [] }
|
30
|
+
certificate_of_completion { "" }
|
30
31
|
|
31
32
|
initialize_with do
|
32
33
|
new(id: id, bmid: bmid, conference_id: conference_id, email: email, first_name: first_name, last_name: last_name,
|
@@ -36,7 +37,7 @@ FactoryBot.define do
|
|
36
37
|
time_zone: time_zone, country: country, chats_count: chats_count, qas_count: qas_count,
|
37
38
|
polls_count: polls_count, polls: polls, questions: questions, handouts: handouts, browser_name: browser_name,
|
38
39
|
browser_version: browser_version, device_name: device_name, download_handout: download_handout,
|
39
|
-
view_handout: view_handout)
|
40
|
+
view_handout: view_handout, certificate_of_completion: certificate_of_completion)
|
40
41
|
end
|
41
42
|
|
42
43
|
trait :with_view_handouts do
|
@@ -24,6 +24,10 @@ FactoryBot.define do
|
|
24
24
|
presenter_temporary_password { "secret" }
|
25
25
|
send_email_invite { true }
|
26
26
|
add_to_channel_subscriber_list { false }
|
27
|
+
enter_as_attendee { false }
|
28
|
+
remove_bigmarker_contact_option { true }
|
29
|
+
show_on_networking_center { true }
|
30
|
+
show_chat_icon_in_booth_or_session_room { true }
|
27
31
|
|
28
32
|
initialize_with do
|
29
33
|
new(presenter_id: presenter_id, member_id: member_id, conference_id: conference_id, name: name,
|
@@ -34,7 +38,10 @@ FactoryBot.define do
|
|
34
38
|
title: title, bio: bio, can_manage: can_manage, is_moderator: is_moderator, facebook: facebook,
|
35
39
|
twitter: twitter, linkedin: linkedin, website: website,
|
36
40
|
presenter_temporary_password: presenter_temporary_password, send_email_invite: send_email_invite,
|
37
|
-
add_to_channel_subscriber_list: add_to_channel_subscriber_list
|
41
|
+
add_to_channel_subscriber_list: add_to_channel_subscriber_list, enter_as_attendee: enter_as_attendee,
|
42
|
+
remove_bigmarker_contact_option: remove_bigmarker_contact_option,
|
43
|
+
show_on_networking_center: show_on_networking_center,
|
44
|
+
show_chat_icon_in_booth_or_session_room: show_chat_icon_in_booth_or_session_room)
|
38
45
|
end
|
39
46
|
end
|
40
47
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :big_marker_survey_result, class: "BigMarkerClient::Models::SurveyResult" do
|
3
|
+
sequence(:question) { |n| "question #{n}" }
|
4
|
+
sequence(:email) { |n| "attendee-email#{n}@example.com" }
|
5
|
+
date { Date.today.strftime("%a, %b %d, %Y") }
|
6
|
+
response { "response" }
|
7
|
+
|
8
|
+
initialize_with do
|
9
|
+
new(question: question, email: email, date: date, response: response)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: big_marker_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burkhard Vogel-Kreykenbohm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday-httpclient
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: faraday-typhoeus
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: json
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.0'
|
69
69
|
description: Encapsulates calls to the BigMarker API to create ond retrieve conferences,
|
70
70
|
participants, analytics and more
|
71
71
|
email:
|
@@ -101,6 +101,7 @@ files:
|
|
101
101
|
- lib/big_marker_client/models/preload_file.rb
|
102
102
|
- lib/big_marker_client/models/presenter.rb
|
103
103
|
- lib/big_marker_client/models/registrant.rb
|
104
|
+
- lib/big_marker_client/models/survey_result.rb
|
104
105
|
- lib/big_marker_client/models/webinar_stats.rb
|
105
106
|
- lib/big_marker_client/test_support.rb
|
106
107
|
- lib/big_marker_client/version.rb
|
@@ -111,6 +112,7 @@ files:
|
|
111
112
|
- spec/factories/big_marker/preload_file.rb
|
112
113
|
- spec/factories/big_marker/presenter.rb
|
113
114
|
- spec/factories/big_marker/registrant.rb
|
115
|
+
- spec/factories/big_marker/survey_result.rb
|
114
116
|
- spec/factories/big_marker/webinar_stats.rb
|
115
117
|
homepage: https://gitlab.com/capinside-oss/big_marker_client
|
116
118
|
licenses:
|
@@ -132,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
134
|
- !ruby/object:Gem::Version
|
133
135
|
version: '0'
|
134
136
|
requirements: []
|
135
|
-
rubygems_version: 3.
|
137
|
+
rubygems_version: 3.3.7
|
136
138
|
signing_key:
|
137
139
|
specification_version: 4
|
138
140
|
summary: simple client library to access the BigMarker API
|