big_marker_client 0.1.7 → 0.1.9
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 +16 -1
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile +1 -1
- data/README.md +5 -5
- data/lib/big_marker_client/base.rb +2 -1
- data/lib/big_marker_client/http_client.rb +0 -1
- data/lib/big_marker_client/models/attendee.rb +1 -1
- data/lib/big_marker_client/models/conference.rb +30 -14
- data/lib/big_marker_client/version.rb +1 -1
- data/spec/factories/big_marker/attendee.rb +4 -2
- data/spec/factories/big_marker/conference.rb +13 -8
- metadata +3 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef58a11c9bb23d90fdb4f35ebb17cc9aea7a0782d9acb09324db9a87dd3ffcb5
|
4
|
+
data.tar.gz: a594edc8149b000c227b9afa0734a64f02465720fa132ebedff782f0b8bca602
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c41626edde5f66fe935a7f5f99f73845312cc4ee932dbdf73556020c5b1362b1ac51a0ab705ed701475f9b138546f16d78454a7e1bc8c430782ea733cfc539ed
|
7
|
+
data.tar.gz: 2609de80a34de2da857405734bb1cc06c506300ee09f17b3f77e099651dea85e62055788e466df7dc437a33b2abdc20d4cca8f340dd70d52bc5f77f8c5f320ec
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,25 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [0.1.
|
3
|
+
## [0.1.9]
|
4
|
+
|
5
|
+
- add conference fields `tags`, `banner_filter_percentage`
|
6
|
+
- add attendee fields `start_time`, `coupon_used`
|
7
|
+
- add webhooks related fields
|
8
|
+
|
9
|
+
## [0.1.8] - 2022-05-20
|
10
|
+
|
11
|
+
- loosen faraday dependency
|
12
|
+
|
13
|
+
## [0.1.7] - 2022-05-20
|
4
14
|
|
5
15
|
- fix return types for update and create are different from show
|
6
16
|
- fix attendee duration format (not integer minutes but time string)
|
7
17
|
- add attendee field `certificate_of_completion`
|
18
|
+
- add participant fields `enter_as_attendee`, `remove_bigmarker_contact_option`, `show_on_networking_center`,
|
19
|
+
`show_chat_icon_in_booth_or_session_room`
|
20
|
+
- better error handling of date fields
|
21
|
+
- better handling of attendees `SurveyResult`
|
22
|
+
- bundle update
|
8
23
|
|
9
24
|
## [0.1.6] - 2022-01-19
|
10
25
|
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -39,7 +39,7 @@ This Code of Conduct applies within all community spaces, and also applies when
|
|
39
39
|
|
40
40
|
## Enforcement
|
41
41
|
|
42
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement
|
42
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the [community leaders responsible for enforcement](mailto:core-crew@capinside.com). All complaints will be reviewed and investigated promptly and fairly.
|
43
43
|
|
44
44
|
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
|
45
45
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# BigMarkerClient
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
This is a lightweight wrapper for rails around the [BigMarker API](https://docs.bigmarker.com/). You will need an API key to be able to use it, set it in the configuration.
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
@@ -24,6 +22,8 @@ Or install it yourself as:
|
|
24
22
|
|
25
23
|
As this is a lightweight wrapper around the BigMarker API, mostly refer to [their documentation](https://docs.bigmarker.com/). Most notably the creation of conferences will require a brief look into their requirements.
|
26
24
|
|
25
|
+
To be able to connect to BigMarker you need to set the `BigMarkerClient::Config.api_key`, as a default this will look for an environment variable `BIGMARKER_API_KEY` to read the key from.
|
26
|
+
|
27
27
|
## Development
|
28
28
|
|
29
29
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -36,11 +36,11 @@ Only a limited set of all API functions are currently implemented, however the e
|
|
36
36
|
|
37
37
|
## Contributing
|
38
38
|
|
39
|
-
Bug reports and pull requests are welcome on GitHub at https://gitlab.com/capinside-oss/big_marker_client. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/capinside
|
39
|
+
Bug reports and pull requests are welcome on GitHub at https://gitlab.com/capinside-oss/big_marker_client. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/capinside/big_marker_client/-/blob/main/CODE_OF_CONDUCT.md).
|
40
40
|
|
41
41
|
## License
|
42
42
|
|
43
|
-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
43
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). BigMarker is a registered trademark of BigMarker.com LLC., Chicago Illinois USA.
|
44
44
|
|
45
45
|
## Code of Conduct
|
46
46
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require "faraday"
|
2
|
-
require "faraday/typhoeus"
|
3
2
|
|
4
3
|
module BigMarkerClient
|
5
4
|
class Base
|
@@ -101,7 +100,9 @@ module BigMarkerClient
|
|
101
100
|
return true if break_on_full_metadata?(results: results, result: result, page: page) ||
|
102
101
|
break_on_partial_metadata?(results: results, result: result, page: page)
|
103
102
|
|
103
|
+
# rubocop:disable Style/ZeroLengthPredicate
|
104
104
|
results.length.zero? || (results.length % page_size) != 0 || (results.length.to_f / page_size) < page
|
105
|
+
# rubocop:enable Style/ZeroLengthPredicate
|
105
106
|
end
|
106
107
|
|
107
108
|
def break_on_full_metadata?(results:, result:, page:)
|
@@ -4,7 +4,7 @@ module BigMarkerClient
|
|
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
6
|
:time_zone, :country, :certificate_of_completion, :chats_count, :qas_count, :polls_count, :polls,
|
7
|
-
:questions, :handouts, :browser_name, :browser_version, :device_name
|
7
|
+
:questions, :handouts, :browser_name, :browser_version, :device_name, :start_time, :coupon_used
|
8
8
|
attr_reader :view_handout, :download_handout, :survey_results
|
9
9
|
|
10
10
|
def download_handout=(handout_array)
|
@@ -3,22 +3,36 @@ module BigMarkerClient
|
|
3
3
|
##
|
4
4
|
# for supported values for time_zone please compare [the documentation](https://docs.bigmarker.com/#time-zones)
|
5
5
|
class Conference < Base
|
6
|
-
attr_accessor :
|
7
|
-
:
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
11
|
-
:poll_results, :
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
6
|
+
attr_accessor :agenda_topics, :audience_open_time, :auto_invite_all_channel_members, :background_image_url,
|
7
|
+
:banner_filter_percentage, :channel_id, :conference_address, :conference_copy_id, :custom_event_id,
|
8
|
+
:disclaimer, :display_language, :duration_minutes, :enable_ie_safari, :enable_knock_to_enter,
|
9
|
+
:enable_registration_email, :enable_twitter, :end_time, :event_type, :exit_url,
|
10
|
+
:first_admin_enter_time, :id, :manual_end_time, :master_webinar_id, :max_attendance, :meeting_mode,
|
11
|
+
:moderator_open_time, :poll_results, :privacy, :purpose, :recorded, :recording_duration,
|
12
|
+
:recording_iframe, :recording_url, :registration_required_to_view_recording, :review_emails,
|
13
|
+
:room_logo, :send_cancellation_email, :send_reminder_emails_to_presenters, :show_handout_on_page,
|
14
|
+
:show_reviews, :start_time, :time_zone, :title, :type, :webcast_mode, :webhook_url, :webinar_tags,
|
15
|
+
:who_can_watch_recording,
|
16
|
+
## CCs seems unused?
|
17
|
+
:enable_closed_caption, :cc_original_language, :cc_display_language,
|
18
|
+
# breakout room related
|
19
|
+
:enable_breakout_rooms, :enable_breakout_time, :breakout_time_limit, :breakout_mode,
|
20
|
+
:allow_breakout_mic, :allow_breakout_cam, :allow_breakout_screen, :allow_breakout_whiteboard,
|
21
|
+
:allow_breakout_slide, :main_room_return, :unnassigned_attendee, :unnassigned_presenter,
|
22
|
+
:breakout_room_total,
|
15
23
|
# for conference creation
|
16
|
-
:sub_url, :enable_dial_in, :
|
17
|
-
:presenter_advanced_enter_time, :attendee_advanced_enter_time, :webinar_format,
|
18
|
-
:registration_conf_emails, :send_notification_emails_to_presenters, :
|
19
|
-
:
|
24
|
+
:sub_url, :enable_dial_in, :room_sub_title, :schedule_type, :recurring_start_times,
|
25
|
+
:presenter_advanced_enter_time, :attendee_advanced_enter_time, :webinar_format, :ondemand_video_url,
|
26
|
+
:registration_conf_emails, :send_notification_emails_to_presenters, :channel_admin_id,
|
27
|
+
:room_type, :icon,
|
28
|
+
# webhook related
|
29
|
+
:enable_create_webinar_reg_webhook, :enable_new_reg_webhook,
|
30
|
+
:enable_webinar_start_webhook, :webinar_start_webhook_url, :enable_waiting_room_open_webhook,
|
31
|
+
:waiting_room_open_webhook_url, :enable_webinar_end_webhook, :webinar_end_webhook_url,
|
32
|
+
:enable_live_attendee_data_webhook, :live_attendee_data_webhook_url,
|
33
|
+
:enable_on_demand_viewer_webhook, :on_demand_viewer_webhook_url
|
20
34
|
|
21
|
-
attr_reader :dial_in_information, :preload_files, :presenters, :webinar_stats
|
35
|
+
attr_reader :associated_series, :dial_in_information, :preload_files, :presenters, :webinar_stats
|
22
36
|
|
23
37
|
# differences between creation and retrieval, use creation as leading (oh well)
|
24
38
|
alias can_view_poll_results poll_results
|
@@ -31,6 +45,8 @@ module BigMarkerClient
|
|
31
45
|
alias language= display_language=
|
32
46
|
alias copy_webinar_id conference_copy_id
|
33
47
|
alias copy_webinar_id= conference_copy_id=
|
48
|
+
alias tags webinar_tags
|
49
|
+
alias tags= webinar_tags=
|
34
50
|
|
35
51
|
def dial_in_information=(dial_in_hash)
|
36
52
|
@dial_in_information = if dial_in_hash.nil? || !dial_in_hash.is_a?(Hash)
|
@@ -28,16 +28,18 @@ FactoryBot.define do
|
|
28
28
|
download_handout { [] }
|
29
29
|
view_handout { [] }
|
30
30
|
certificate_of_completion { "" }
|
31
|
+
start_time { (Time.now - (45 * BigMarkerClient::TestSupport::MINUTES)).strftime("%FT%T%:z") }
|
32
|
+
coupon_used { nil }
|
31
33
|
|
32
34
|
initialize_with do
|
33
35
|
new(id: id, bmid: bmid, conference_id: conference_id, email: email, first_name: first_name, last_name: last_name,
|
34
36
|
edited_in_room_display_name: edited_in_room_display_name, custom_fields: custom_fields,
|
35
|
-
entered_at: entered_at, leaved_at: leaved_at, total_duration: total_duration,
|
37
|
+
entered_at: entered_at, leaved_at: leaved_at, total_duration: total_duration, start_time: start_time,
|
36
38
|
engaged_duration: engaged_duration, attendance_monitor: attendance_monitor, survey_results: survey_results,
|
37
39
|
time_zone: time_zone, country: country, chats_count: chats_count, qas_count: qas_count,
|
38
40
|
polls_count: polls_count, polls: polls, questions: questions, handouts: handouts, browser_name: browser_name,
|
39
41
|
browser_version: browser_version, device_name: device_name, download_handout: download_handout,
|
40
|
-
view_handout: view_handout, certificate_of_completion: certificate_of_completion)
|
42
|
+
view_handout: view_handout, certificate_of_completion: certificate_of_completion, coupon_used: coupon_used)
|
41
43
|
end
|
42
44
|
|
43
45
|
trait :with_view_handouts do
|
@@ -18,6 +18,7 @@ FactoryBot.define do
|
|
18
18
|
duration_minutes { 60 }
|
19
19
|
sequence(:conference_address) { |n| "https://host.example.com/example_channel/event-#{n}" }
|
20
20
|
custom_event_id { nil }
|
21
|
+
banner_filter_percentage { Random.rand.round(2) }
|
21
22
|
channel_id { "example_channel" }
|
22
23
|
webcast_mode { "automatic" }
|
23
24
|
end_time { (start_time_obj + (duration_minutes * BigMarkerClient::TestSupport::MINUTES)).strftime("%FT%T%:z") }
|
@@ -45,6 +46,7 @@ FactoryBot.define do
|
|
45
46
|
agenda_topics { [] }
|
46
47
|
disclaimer { "disclaimer" }
|
47
48
|
recorded { false }
|
49
|
+
recording_duration { 0 }
|
48
50
|
recording_url { nil }
|
49
51
|
recording_iframe { nil }
|
50
52
|
sequence(:sub_url) { |n| "event-#{n}" }
|
@@ -59,9 +61,11 @@ FactoryBot.define do
|
|
59
61
|
send_notification_emails_to_presenters { true }
|
60
62
|
webhook_url { nil }
|
61
63
|
channel_admin_id { nil }
|
62
|
-
free_for_all { false }
|
63
64
|
room_type { nil }
|
64
65
|
room_sub_title { nil }
|
66
|
+
ondemand_video_url { nil }
|
67
|
+
webinar_tags { [] }
|
68
|
+
icon { nil }
|
65
69
|
dial_in_information { nil }
|
66
70
|
preload_files { [] }
|
67
71
|
presenters { [] }
|
@@ -73,13 +77,14 @@ FactoryBot.define do
|
|
73
77
|
type: type, conference_copy_id: conference_copy_id, master_webinar_id: master_webinar_id,
|
74
78
|
max_attendance: max_attendance, purpose: purpose, start_time: start_time, duration_minutes: duration_minutes,
|
75
79
|
channel_id: channel_id, conference_address: conference_address, custom_event_id: custom_event_id,
|
80
|
+
banner_filter_percentage: banner_filter_percentage, recording_duration: recording_duration,
|
76
81
|
webcast_mode: webcast_mode, end_time: end_time, moderator_open_time: moderator_open_time,
|
77
82
|
audience_open_time: audience_open_time, first_admin_enter_time: first_admin_enter_time,
|
78
83
|
manual_end_time: manual_end_time, privacy: privacy, exit_url: exit_url,
|
79
84
|
enable_registration_email: enable_registration_email, enable_knock_to_enter: enable_knock_to_enter,
|
80
85
|
review_emails: review_emails, send_reminder_emails_to_presenters: send_reminder_emails_to_presenters,
|
81
86
|
poll_results: poll_results, enable_ie_safari: enable_ie_safari, enable_twitter: enable_twitter,
|
82
|
-
auto_invite_all_channel_members: auto_invite_all_channel_members,
|
87
|
+
auto_invite_all_channel_members: auto_invite_all_channel_members, icon: icon,
|
83
88
|
send_cancellation_email: send_cancellation_email, show_reviews: show_reviews,
|
84
89
|
registration_required_to_view_recording: registration_required_to_view_recording,
|
85
90
|
who_can_watch_recording: who_can_watch_recording, show_handout_on_page: show_handout_on_page,
|
@@ -88,18 +93,14 @@ FactoryBot.define do
|
|
88
93
|
sub_url: sub_url, enable_dial_in: enable_dial_in, time_zone: time_zone, schedule_type: schedule_type,
|
89
94
|
recurring_start_times: recurring_start_times, presenter_advanced_enter_time: presenter_advanced_enter_time,
|
90
95
|
attendee_advanced_enter_time: attendee_advanced_enter_time, webinar_format: webinar_format,
|
91
|
-
registration_conf_emails: registration_conf_emails,
|
96
|
+
registration_conf_emails: registration_conf_emails, webinar_tags: webinar_tags,
|
92
97
|
send_notification_emails_to_presenters: send_notification_emails_to_presenters,
|
93
|
-
webhook_url: webhook_url, channel_admin_id: channel_admin_id,
|
98
|
+
webhook_url: webhook_url, channel_admin_id: channel_admin_id, ondemand_video_url: ondemand_video_url,
|
94
99
|
room_type: room_type, room_sub_title: room_sub_title, dial_in_information: dial_in_information,
|
95
100
|
preload_files: preload_files, presenters: presenters, webinar_stats: webinar_stats,
|
96
101
|
associated_series: associated_series)
|
97
102
|
end
|
98
103
|
|
99
|
-
trait :with_presenters do
|
100
|
-
presenters { build_list(:big_marker_presenter, 2, conference_id: id).map(&:to_h) }
|
101
|
-
end
|
102
|
-
|
103
104
|
trait :with_dial_in_information do
|
104
105
|
dial_in_information { build(:big_marker_dial_in_information).to_h }
|
105
106
|
end
|
@@ -108,6 +109,10 @@ FactoryBot.define do
|
|
108
109
|
preload_files { build_list(:big_marker_preload_file, 2).map(&:to_h) }
|
109
110
|
end
|
110
111
|
|
112
|
+
trait :with_presenters do
|
113
|
+
presenters { build_list(:big_marker_presenter, 2, conference_id: id).map(&:to_h) }
|
114
|
+
end
|
115
|
+
|
111
116
|
trait :with_webinar_stats do
|
112
117
|
webinar_stats { build(:big_marker_webinar_stats).to_h }
|
113
118
|
end
|
metadata
CHANGED
@@ -1,45 +1,17 @@
|
|
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.9
|
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:
|
11
|
+
date: 2023-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '2.0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '2.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: faraday-httpclient
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '2.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '2.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: faraday-typhoeus
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
44
16
|
requirements:
|
45
17
|
- - ">="
|
@@ -134,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
106
|
- !ruby/object:Gem::Version
|
135
107
|
version: '0'
|
136
108
|
requirements: []
|
137
|
-
rubygems_version: 3.
|
109
|
+
rubygems_version: 3.4.1
|
138
110
|
signing_key:
|
139
111
|
specification_version: 4
|
140
112
|
summary: simple client library to access the BigMarker API
|