big_marker_client 0.1.3 → 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/.rubocop.yml +1 -5
- data/CHANGELOG.md +21 -0
- data/Gemfile +1 -1
- data/lib/big_marker_client/api/v1/conference.rb +4 -4
- data/lib/big_marker_client/base.rb +51 -33
- data/lib/big_marker_client/config.rb +1 -1
- data/lib/big_marker_client/http_client.rb +30 -0
- data/lib/big_marker_client/models/attendee.rb +31 -3
- data/lib/big_marker_client/models/handout.rb +14 -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 +3 -0
- data/spec/factories/big_marker/attendee.rb +30 -6
- data/spec/factories/big_marker/handout.rb +21 -0
- data/spec/factories/big_marker/presenter.rb +8 -1
- data/spec/factories/big_marker/survey_result.rb +12 -0
- metadata +21 -16
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/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion:
|
2
|
+
TargetRubyVersion: 2.6
|
3
3
|
NewCops: enable
|
4
4
|
Exclude:
|
5
5
|
- "vendor/**/*"
|
@@ -18,10 +18,6 @@ Metrics/BlockLength:
|
|
18
18
|
- "spec/**/*"
|
19
19
|
- "big_marker_client.gemspec"
|
20
20
|
|
21
|
-
Performance/StringIdentifierArgument:
|
22
|
-
Exclude:
|
23
|
-
- "lib/big_marker_client/base.rb"
|
24
|
-
|
25
21
|
Style/Documentation:
|
26
22
|
Enabled: false
|
27
23
|
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
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
|
+
|
9
|
+
## [0.1.6] - 2022-01-19
|
10
|
+
|
11
|
+
- fix recurring method to return "child_conferences"
|
12
|
+
|
13
|
+
## [0.1.5] - 2022-01-19 (broken, don't use!)
|
14
|
+
|
15
|
+
- refactor HTTP client into a separate class
|
16
|
+
- fix looping if no meta-data is returned
|
17
|
+
|
18
|
+
## [0.1.4] - 2022-01-18
|
19
|
+
|
20
|
+
- add new properties to attendees and add handout model and factory
|
21
|
+
|
1
22
|
## [0.1.3] - 2022-01-11
|
2
23
|
|
3
24
|
- add helper methods to iterate over all pages for paginated requests
|
data/Gemfile
CHANGED
@@ -116,7 +116,7 @@ module BigMarkerClient
|
|
116
116
|
def recurring(conference_id, params = {})
|
117
117
|
result = get(replace_path_params(path: RECURRING_CONFERENCES,
|
118
118
|
replacements: { "{id}": conference_id }), params)
|
119
|
-
return map_to_model_array(result["
|
119
|
+
return map_to_model_array(result["child_conferences"]) if result["child_conferences"]
|
120
120
|
|
121
121
|
result
|
122
122
|
end
|
@@ -126,7 +126,7 @@ module BigMarkerClient
|
|
126
126
|
# @see #recurring
|
127
127
|
def recurring_all(conference_id, params = {})
|
128
128
|
path = replace_path_params(path: RECURRING_CONFERENCES, replacements: { "{id}": conference_id })
|
129
|
-
loop_over(path, "
|
129
|
+
loop_over(path, "child_conferences", ::BigMarkerClient::Models::Conference, params)
|
130
130
|
end
|
131
131
|
|
132
132
|
##
|
@@ -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,8 +1,10 @@
|
|
1
|
-
require "
|
2
|
-
require "typhoeus
|
1
|
+
require "faraday"
|
2
|
+
require "faraday/typhoeus"
|
3
3
|
|
4
4
|
module BigMarkerClient
|
5
5
|
class Base
|
6
|
+
DEFAULT_PER_PAGE_SIZE = 25
|
7
|
+
|
6
8
|
class << self
|
7
9
|
def post(path, body = {})
|
8
10
|
request(verb: :post, path: path, params: body)
|
@@ -36,10 +38,10 @@ module BigMarkerClient
|
|
36
38
|
page = 1
|
37
39
|
results = []
|
38
40
|
loop do
|
39
|
-
params[
|
41
|
+
params["page"] = page
|
40
42
|
result = send(method, path, params)
|
41
43
|
results += map_to_model_array(result[field], model_class) if result[field]
|
42
|
-
break if
|
44
|
+
break if break?(results: results, result: result, page: page, page_size: page_size(params))
|
43
45
|
|
44
46
|
page += 1
|
45
47
|
end
|
@@ -50,55 +52,71 @@ module BigMarkerClient
|
|
50
52
|
|
51
53
|
def request(path:, verb: :get, params: {})
|
52
54
|
check_preconditions(verb, path)
|
55
|
+
params = stringify_keys(params)
|
53
56
|
|
54
57
|
params = params.to_json unless %w[get delete].include?(verb.to_s)
|
55
|
-
|
56
|
-
|
58
|
+
@http_client ||= HttpClient.new
|
59
|
+
response = @http_client.connection.send(verb.to_s, base_url(path), params)
|
60
|
+
return parse_body(response.body) if response.success?
|
61
|
+
|
62
|
+
response.body
|
57
63
|
end
|
58
64
|
|
59
65
|
def check_preconditions(verb, path)
|
60
|
-
if verb.nil? || path.nil? ||
|
61
|
-
raise ArgumentError, "http_method, path or api key is missing"
|
62
|
-
end
|
66
|
+
raise ArgumentError, "http_method, path or api key is missing" if verb.nil? || path.nil? || Config.api_key.nil?
|
63
67
|
raise ArgumentError, "unsupported http_method: #{verb}" unless %w[post put patch delete get].include?(verb.to_s)
|
64
68
|
end
|
65
69
|
|
66
|
-
def
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
+
def stringify_keys(hash)
|
71
|
+
hash_symbol_keys = hash.keys.select { |key| key.is_a?(Symbol) }
|
72
|
+
hash_symbol_keys.each do |key|
|
73
|
+
hash[key.to_s] = hash[key]
|
74
|
+
hash.delete(key)
|
70
75
|
end
|
71
|
-
|
72
|
-
conn
|
73
|
-
end
|
74
|
-
|
75
|
-
def headers(adapter)
|
76
|
-
adapter.headers["Content-Type"] = "application/json"
|
77
|
-
adapter.headers["API-KEY"] = BigMarkerClient::Config.api_key unless BigMarkerClient::Config.api_key.nil?
|
78
|
-
adapter
|
79
|
-
end
|
80
|
-
|
81
|
-
def configure_logging(adapter)
|
82
|
-
adapter.response :logger do |logger|
|
83
|
-
logger.instance_variable_get("@options")[:log_level] = :debug if BigMarkerClient::Config.debug
|
84
|
-
logger.filter(/password=([^&]+)/, "password=[FILTERED]")
|
85
|
-
logger.filter(/API-KEY: "(\w*)"/, "API-KEY: [FILTERED]")
|
86
|
-
end
|
87
|
-
adapter
|
76
|
+
hash
|
88
77
|
end
|
89
78
|
|
90
79
|
def base_url(path)
|
91
|
-
|
80
|
+
Config.base_url + (path.start_with?("/") ? path : "/#{path}")
|
92
81
|
end
|
93
82
|
|
94
83
|
def parse_body(body)
|
95
84
|
return nil if body.strip == ""
|
96
85
|
|
97
86
|
json = JSON.parse(body)
|
98
|
-
|
87
|
+
Config.logger.debug(json) if Config.debug
|
99
88
|
json
|
100
89
|
rescue JSON::ParserError
|
101
|
-
raise
|
90
|
+
raise ResponseError, "invalid response"
|
91
|
+
end
|
92
|
+
|
93
|
+
def page_size(params)
|
94
|
+
params["page_count"] || params.fetch("per_page", DEFAULT_PER_PAGE_SIZE)
|
95
|
+
end
|
96
|
+
|
97
|
+
##
|
98
|
+
# BigMarker API is a total mess that won't return total_pages or total_entries on all request types so we have to
|
99
|
+
# get creative
|
100
|
+
def break?(results:, result:, page:, page_size:)
|
101
|
+
return true if break_on_full_metadata?(results: results, result: result, page: page) ||
|
102
|
+
break_on_partial_metadata?(results: results, result: result, page: page)
|
103
|
+
|
104
|
+
results.length.zero? || (results.length % page_size) != 0 || (results.length.to_f / page_size) < page
|
105
|
+
end
|
106
|
+
|
107
|
+
def break_on_full_metadata?(results:, result:, page:)
|
108
|
+
if !result["total_pages"].nil? && !total_count(result).nil?
|
109
|
+
return ((page >= result["total_pages"].to_i) || (results.length >= total_count(result).to_i))
|
110
|
+
end
|
111
|
+
|
112
|
+
false
|
113
|
+
end
|
114
|
+
|
115
|
+
def break_on_partial_metadata?(results:, result:, page:)
|
116
|
+
return page >= result["total_pages"].to_i unless result["total_pages"].nil?
|
117
|
+
return results.length >= total_count(result).to_i unless total_count(result).nil?
|
118
|
+
|
119
|
+
false
|
102
120
|
end
|
103
121
|
|
104
122
|
##
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module BigMarkerClient
|
2
|
+
class HttpClient
|
3
|
+
attr_reader :connection
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@connection = Faraday.new(url: Config.base_url) do |faraday|
|
7
|
+
faraday.adapter :typhoeus
|
8
|
+
faraday = headers(faraday)
|
9
|
+
configure_logging(faraday) if Config.log
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def headers(adapter)
|
16
|
+
adapter.headers["Content-Type"] = "application/json"
|
17
|
+
adapter.headers["API-KEY"] = Config.api_key unless Config.api_key.nil?
|
18
|
+
adapter
|
19
|
+
end
|
20
|
+
|
21
|
+
def configure_logging(adapter)
|
22
|
+
adapter.response :logger do |logger|
|
23
|
+
logger.instance_variable_get(:@options)[:log_level] = :debug if Config.debug
|
24
|
+
logger.filter(/password=([^&]+)/, "password=[FILTERED]")
|
25
|
+
logger.filter(/API-KEY: "(\w*)"/, "API-KEY: [FILTERED]")
|
26
|
+
end
|
27
|
+
adapter
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,9 +1,37 @@
|
|
1
1
|
module BigMarkerClient
|
2
2
|
module Models
|
3
3
|
class Attendee < Base
|
4
|
-
attr_accessor :
|
5
|
-
:
|
6
|
-
:
|
4
|
+
attr_accessor :id, :bmid, :conference_id, :email, :first_name, :last_name, :edited_in_room_display_name,
|
5
|
+
:custom_fields, :entered_at, :leaved_at, :total_duration, :engaged_duration, :attendance_monitor,
|
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
|
9
|
+
|
10
|
+
def download_handout=(handout_array)
|
11
|
+
@download_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
|
12
|
+
[]
|
13
|
+
else
|
14
|
+
handout_array.map { |handout_hash| Handout.new(handout_hash) }
|
15
|
+
end
|
16
|
+
end
|
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
|
+
|
28
|
+
def view_handout=(handout_array)
|
29
|
+
@view_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
|
30
|
+
[]
|
31
|
+
else
|
32
|
+
handout_array.map { |handout_hash| Handout.new(handout_hash) }
|
33
|
+
end
|
34
|
+
end
|
7
35
|
end
|
8
36
|
end
|
9
37
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module BigMarkerClient
|
2
|
+
module Models
|
3
|
+
class Handout < Base
|
4
|
+
attr_accessor :type, :email, :content, :source_from
|
5
|
+
attr_reader :timestamp
|
6
|
+
|
7
|
+
def timestamp=(timestamp)
|
8
|
+
@timestamp = DateTime.strptime(timestamp, "%m/%d/%Y %H:%M:%S %z") unless timestamp.nil? || timestamp == ""
|
9
|
+
rescue Date::Error
|
10
|
+
@timestamp = nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -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
@@ -10,6 +10,7 @@ module BigMarkerClient
|
|
10
10
|
|
11
11
|
autoload :Base, "big_marker_client/base"
|
12
12
|
autoload :Config, "big_marker_client/config"
|
13
|
+
autoload :HttpClient, "big_marker_client/http_client"
|
13
14
|
autoload :Version, "big_marker_client/version"
|
14
15
|
|
15
16
|
module Api
|
@@ -27,9 +28,11 @@ module BigMarkerClient
|
|
27
28
|
autoload :Base, "big_marker_client/models/base"
|
28
29
|
autoload :Conference, "big_marker_client/models/conference"
|
29
30
|
autoload :DialInInformation, "big_marker_client/models/dial_in_information"
|
31
|
+
autoload :Handout, "big_marker_client/models/handout"
|
30
32
|
autoload :PreloadFile, "big_marker_client/models/preload_file"
|
31
33
|
autoload :Presenter, "big_marker_client/models/presenter"
|
32
34
|
autoload :Registrant, "big_marker_client/models/registrant"
|
35
|
+
autoload :SurveyResult, "big_marker_client/models/survey_result"
|
33
36
|
autoload :WebinarStats, "big_marker_client/models/webinar_stats"
|
34
37
|
end
|
35
38
|
end
|
@@ -1,12 +1,21 @@
|
|
1
1
|
FactoryBot.define do
|
2
2
|
factory :big_marker_attendee, class: "BigMarkerClient::Models::Attendee" do
|
3
|
+
sequence(:id)
|
4
|
+
sequence(:bmid) { SecureRandom.hex(6) }
|
5
|
+
sequence(:conference_id) { SecureRandom.hex(6) }
|
3
6
|
sequence(:email) { |n| "attendee#{n}@example.com" }
|
4
7
|
first_name { "Attendee first name" }
|
5
8
|
last_name { "Attendee last name" }
|
9
|
+
edited_in_room_display_name { nil }
|
10
|
+
custom_fields { [] }
|
6
11
|
entered_at { (Time.now - (60 * BigMarkerClient::TestSupport::MINUTES)).strftime("%FT%T%:z") }
|
7
12
|
leaved_at { Time.now.strftime("%FT%T%:z") }
|
8
|
-
total_duration { "
|
9
|
-
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
|
+
attendance_monitor { { "show_popup" => 0, "click_popup" => 0 } }
|
16
|
+
survey_results { [] }
|
17
|
+
time_zone { "Europe/Berlin" }
|
18
|
+
country { "Germany" }
|
10
19
|
chats_count { 1 }
|
11
20
|
qas_count { 0 }
|
12
21
|
polls_count { 2 }
|
@@ -16,12 +25,27 @@ FactoryBot.define do
|
|
16
25
|
browser_name { "Google Chrome" }
|
17
26
|
browser_version { 96 }
|
18
27
|
device_name { "desktop" }
|
28
|
+
download_handout { [] }
|
29
|
+
view_handout { [] }
|
30
|
+
certificate_of_completion { "" }
|
19
31
|
|
20
32
|
initialize_with do
|
21
|
-
new(
|
22
|
-
|
23
|
-
|
24
|
-
|
33
|
+
new(id: id, bmid: bmid, conference_id: conference_id, email: email, first_name: first_name, last_name: last_name,
|
34
|
+
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,
|
36
|
+
engaged_duration: engaged_duration, attendance_monitor: attendance_monitor, survey_results: survey_results,
|
37
|
+
time_zone: time_zone, country: country, chats_count: chats_count, qas_count: qas_count,
|
38
|
+
polls_count: polls_count, polls: polls, questions: questions, handouts: handouts, browser_name: browser_name,
|
39
|
+
browser_version: browser_version, device_name: device_name, download_handout: download_handout,
|
40
|
+
view_handout: view_handout, certificate_of_completion: certificate_of_completion)
|
41
|
+
end
|
42
|
+
|
43
|
+
trait :with_view_handouts do
|
44
|
+
view_handout { build_list(:big_marker_handout, 1, :view_handout) }
|
45
|
+
end
|
46
|
+
|
47
|
+
trait :with_download_handouts do
|
48
|
+
download_handout { build_list(:big_marker_handout, 1, :download_handout) }
|
25
49
|
end
|
26
50
|
end
|
27
51
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :big_marker_handout, class: "BigMarkerClient::Models::Handout" do
|
3
|
+
type { "handout" }
|
4
|
+
sequence(:email) { |n| "attendee-email#{n}@example.com" }
|
5
|
+
sequence(:content) { |n| "some_file_name#{n}.pdf" }
|
6
|
+
timestamp { Time.now.strftime("%m/%d/%Y %H:%M:%S %z") }
|
7
|
+
source_from { "Live Webinar" }
|
8
|
+
|
9
|
+
trait :view_handout do
|
10
|
+
type { "view_handout" }
|
11
|
+
end
|
12
|
+
|
13
|
+
trait :download_handout do
|
14
|
+
type { "download_handout" }
|
15
|
+
end
|
16
|
+
|
17
|
+
initialize_with do
|
18
|
+
new(type: type, email: email, content: content, timestamp: timestamp, source_from: source_from)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -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:
|
@@ -92,22 +92,27 @@ files:
|
|
92
92
|
- lib/big_marker_client/api/v1/presenter.rb
|
93
93
|
- lib/big_marker_client/base.rb
|
94
94
|
- lib/big_marker_client/config.rb
|
95
|
+
- lib/big_marker_client/http_client.rb
|
95
96
|
- lib/big_marker_client/models/attendee.rb
|
96
97
|
- lib/big_marker_client/models/base.rb
|
97
98
|
- lib/big_marker_client/models/conference.rb
|
98
99
|
- lib/big_marker_client/models/dial_in_information.rb
|
100
|
+
- lib/big_marker_client/models/handout.rb
|
99
101
|
- lib/big_marker_client/models/preload_file.rb
|
100
102
|
- lib/big_marker_client/models/presenter.rb
|
101
103
|
- lib/big_marker_client/models/registrant.rb
|
104
|
+
- lib/big_marker_client/models/survey_result.rb
|
102
105
|
- lib/big_marker_client/models/webinar_stats.rb
|
103
106
|
- lib/big_marker_client/test_support.rb
|
104
107
|
- lib/big_marker_client/version.rb
|
105
108
|
- spec/factories/big_marker/attendee.rb
|
106
109
|
- spec/factories/big_marker/conference.rb
|
107
110
|
- spec/factories/big_marker/dial_in_infromation.rb
|
111
|
+
- spec/factories/big_marker/handout.rb
|
108
112
|
- spec/factories/big_marker/preload_file.rb
|
109
113
|
- spec/factories/big_marker/presenter.rb
|
110
114
|
- spec/factories/big_marker/registrant.rb
|
115
|
+
- spec/factories/big_marker/survey_result.rb
|
111
116
|
- spec/factories/big_marker/webinar_stats.rb
|
112
117
|
homepage: https://gitlab.com/capinside-oss/big_marker_client
|
113
118
|
licenses:
|
@@ -122,14 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
127
|
requirements:
|
123
128
|
- - ">="
|
124
129
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
130
|
+
version: '2.6'
|
126
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
132
|
requirements:
|
128
133
|
- - ">="
|
129
134
|
- !ruby/object:Gem::Version
|
130
135
|
version: '0'
|
131
136
|
requirements: []
|
132
|
-
rubygems_version: 3.
|
137
|
+
rubygems_version: 3.3.7
|
133
138
|
signing_key:
|
134
139
|
specification_version: 4
|
135
140
|
summary: simple client library to access the BigMarker API
|