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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ae319a03754f05c2928906fefa27dbfdf3e19fad1a0bc6f12d1711760451a8b
4
- data.tar.gz: b6682c4b5c54470b6aadfeaf0ae88fcca0c37a98ce001b2eb4c88fd8c1c70bea
3
+ metadata.gz: ed37646b284700f68cd35dbc2479ab9cfcfb8f03bf5ae0c48e0145ce66ad9fe8
4
+ data.tar.gz: d4690336aa4d989931f00fdff50ed6c4f328bb6b85e1a3f1d9152eb741fe7b50
5
5
  SHA512:
6
- metadata.gz: d19877b53cad7224ef8a1c9af5689510e7d42f9bcb5abaf536ffd1a511d3ba04e562e0568a874bfe3e36295ec84df26094f378b6aac3b16f91daa486cccad196
7
- data.tar.gz: 9154f4eec680cb10f429c85fd3cd85fd1bd57aed2407350b49601488e24e3899b4d69b40930ec90b98cedf58f6d3f2c85ad17b0f3e1f12b6e04a65046d9842dc
6
+ metadata.gz: ce98e4e5c230dc9d7dc5ae42c176e4bcae182b729d871eb55434f7e0db3c9c592ef82e6ce68564fc1721088bf949b6bf408ad7a0c2acce2ae111966a53fee289
7
+ data.tar.gz: bd727a006b800643ef093ca8e1e115a88644826aabaf96c1b1c59fc067d75d84451d7daecfedee75e524235aca91a3d4d7002e6861b27f2c26079f50d98da7ba
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 3.0
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
@@ -15,7 +15,7 @@ group :development do
15
15
  end
16
16
 
17
17
  group :test do
18
- gem "activesupport", "~> 6.0"
18
+ gem "activesupport", "~> 7.0"
19
19
  gem "factory_bot"
20
20
  gem "rspec", "~> 3.0"
21
21
  gem "webmock"
@@ -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["conferences"]) if result["conferences"]
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, "conferences", ::BigMarkerClient::Models::Conference, params)
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["conference"]) if result["conference"]
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["conference"]) if result["conference"]
152
+ return ::BigMarkerClient::Models::Conference.new(result) if result["id"]
153
153
 
154
154
  result
155
155
  end
@@ -1,8 +1,10 @@
1
- require "typhoeus"
2
- require "typhoeus/adapters/faraday"
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[:page] = page
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 page >= result["total_pages"].to_i || results.length >= total_count(result).to_i
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
- response = http_client.send(verb.to_s, base_url(path), params)
56
- parse_body(response.body)
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? || BigMarkerClient::Config.api_key.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 http_client
67
- conn ||= Faraday.new(url: BigMarkerClient::Config.base_url) do |faraday|
68
- faraday = headers(faraday)
69
- configure_logging(faraday) if BigMarkerClient::Config.log
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
- conn.adapter :typhoeus
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
- BigMarkerClient::Config.base_url + (path.start_with?("/") ? path : "/#{path}")
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
- BigMarkerClient::Config.logger.debug(json) if BigMarkerClient::Config.debug
87
+ Config.logger.debug(json) if Config.debug
99
88
  json
100
89
  rescue JSON::ParserError
101
- raise BigMarkerClient::ResponseError, "invalid response"
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
  ##
@@ -9,7 +9,7 @@ module BigMarkerClient
9
9
  end
10
10
 
11
11
  def api_key
12
- @api_key ||= ENV["BIGMARKER_API_KEY"]
12
+ @api_key ||= ENV.fetch("BIGMARKER_API_KEY", nil)
13
13
  end
14
14
 
15
15
  def log
@@ -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 :email, :first_name, :last_name, :entered_at, :leaved_at, :total_duration, :engaged_duration,
5
- :chats_count, :qas_count, :polls_count, :polls, :questions, :handouts, :browser_name,
6
- :browser_version, :device_name
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
@@ -1,3 +1,3 @@
1
1
  module BigMarkerClient
2
- VERSION = "0.1.3".freeze
2
+ VERSION = "0.1.7".freeze
3
3
  end
@@ -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 { "3600" }
9
- engaged_duration { "240" }
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(email: email, first_name: first_name, last_name: last_name, entered_at: entered_at, leaved_at: leaved_at,
22
- total_duration: total_duration, engaged_duration: engaged_duration, chats_count: chats_count,
23
- qas_count: qas_count, polls_count: polls_count, polls: polls, questions: questions, handouts: handouts,
24
- browser_name: browser_name, browser_version: browser_version, device_name: device_name)
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.3
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-01-11 00:00:00.000000000 Z
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: '1.0'
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: '1.0'
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: '1.0'
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: '1.0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: json
42
+ name: faraday-typhoeus
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.0'
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: '2.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: typhoeus
56
+ name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
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: '1.0'
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: '3.0'
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.2.32
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