big_marker_client 0.1.8 → 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 +8 -2
- data/CODE_OF_CONDUCT.md +1 -1
- data/README.md +5 -5
- data/lib/big_marker_client/base.rb +2 -0
- 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 -3
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,8 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [0.1.
|
3
|
+
## [0.1.9]
|
4
4
|
|
5
|
-
-
|
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
|
6
12
|
|
7
13
|
## [0.1.7] - 2022-05-20
|
8
14
|
|
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/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
|
|
@@ -100,7 +100,9 @@ module BigMarkerClient
|
|
100
100
|
return true if break_on_full_metadata?(results: results, result: result, page: page) ||
|
101
101
|
break_on_partial_metadata?(results: results, result: result, page: page)
|
102
102
|
|
103
|
+
# rubocop:disable Style/ZeroLengthPredicate
|
103
104
|
results.length.zero? || (results.length % page_size) != 0 || (results.length.to_f / page_size) < page
|
105
|
+
# rubocop:enable Style/ZeroLengthPredicate
|
104
106
|
end
|
105
107
|
|
106
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,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.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
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
|
-
rubygems_version: 3.
|
109
|
+
rubygems_version: 3.4.1
|
110
110
|
signing_key:
|
111
111
|
specification_version: 4
|
112
112
|
summary: simple client library to access the BigMarker API
|