big_marker_client 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ae319a03754f05c2928906fefa27dbfdf3e19fad1a0bc6f12d1711760451a8b
4
- data.tar.gz: b6682c4b5c54470b6aadfeaf0ae88fcca0c37a98ce001b2eb4c88fd8c1c70bea
3
+ metadata.gz: d6fb91b5a5354ae4629ec265e53476357d78dbd65da6996cf24de3c7866a3402
4
+ data.tar.gz: cadac9e803e07b4836b3a6008a825f976884877196852b9573fbc33c59f35386
5
5
  SHA512:
6
- metadata.gz: d19877b53cad7224ef8a1c9af5689510e7d42f9bcb5abaf536ffd1a511d3ba04e562e0568a874bfe3e36295ec84df26094f378b6aac3b16f91daa486cccad196
7
- data.tar.gz: 9154f4eec680cb10f429c85fd3cd85fd1bd57aed2407350b49601488e24e3899b4d69b40930ec90b98cedf58f6d3f2c85ad17b0f3e1f12b6e04a65046d9842dc
6
+ metadata.gz: 62a7c90fe1839b181dfe1f3103933de22053e7330a9e17044d17c5323a67929bd23bf9c1f81d8741807d56018c1c40c4b9a8765ecc6ed9137bd9ff4496cf5628
7
+ data.tar.gz: c08e7e125dc6fd43a8174f40d0c52d300431704030436b36f6afe942c379b081b9a1106b9aaf3a9254bd801ad6810a86dce4e12edc2ba5d78dd62ba76021911a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.1.4] - 2022-01-18
2
+
3
+ - add new properties to attendees and add handout model and factory
4
+
1
5
  ## [0.1.3] - 2022-01-11
2
6
 
3
7
  - add helper methods to iterate over all pages for paginated requests
@@ -1,9 +1,28 @@
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,
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
+ :survey_results, :time_zone, :country,
5
7
  :chats_count, :qas_count, :polls_count, :polls, :questions, :handouts, :browser_name,
6
8
  :browser_version, :device_name
9
+ attr_reader :view_handout, :download_handout
10
+
11
+ def download_handout=(handout_array)
12
+ @download_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
13
+ []
14
+ else
15
+ handout_array.map { |handout_hash| Handout.new(handout_hash) }
16
+ end
17
+ end
18
+
19
+ def view_handout=(handout_array)
20
+ @view_handout = if handout_array.nil? || !handout_array.is_a?(Array) || handout_array.empty?
21
+ []
22
+ else
23
+ handout_array.map { |handout_hash| Handout.new(handout_hash) }
24
+ end
25
+ end
7
26
  end
8
27
  end
9
28
  end
@@ -0,0 +1,12 @@
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
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module BigMarkerClient
2
- VERSION = "0.1.3".freeze
2
+ VERSION = "0.1.4".freeze
3
3
  end
@@ -27,6 +27,7 @@ module BigMarkerClient
27
27
  autoload :Base, "big_marker_client/models/base"
28
28
  autoload :Conference, "big_marker_client/models/conference"
29
29
  autoload :DialInInformation, "big_marker_client/models/dial_in_information"
30
+ autoload :Handout, "big_marker_client/models/handout"
30
31
  autoload :PreloadFile, "big_marker_client/models/preload_file"
31
32
  autoload :Presenter, "big_marker_client/models/presenter"
32
33
  autoload :Registrant, "big_marker_client/models/registrant"
@@ -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
13
  total_duration { "3600" }
9
14
  engaged_duration { "240" }
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,26 @@ 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 { [] }
19
30
 
20
31
  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)
32
+ new(id: id, bmid: bmid, conference_id: conference_id, email: email, first_name: first_name, last_name: last_name,
33
+ edited_in_room_display_name: edited_in_room_display_name, custom_fields: custom_fields,
34
+ entered_at: entered_at, leaved_at: leaved_at, total_duration: total_duration,
35
+ engaged_duration: engaged_duration, attendance_monitor: attendance_monitor, survey_results: survey_results,
36
+ time_zone: time_zone, country: country, chats_count: chats_count, qas_count: qas_count,
37
+ polls_count: polls_count, polls: polls, questions: questions, handouts: handouts, browser_name: browser_name,
38
+ browser_version: browser_version, device_name: device_name, download_handout: download_handout,
39
+ view_handout: view_handout)
40
+ end
41
+
42
+ trait :with_view_handouts do
43
+ view_handout { build_list(:big_marker_handout, 1, :view_handout) }
44
+ end
45
+
46
+ trait :with_download_handouts do
47
+ download_handout { build_list(:big_marker_handout, 1, :download_handout) }
25
48
  end
26
49
  end
27
50
  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
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.4
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-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -96,6 +96,7 @@ files:
96
96
  - lib/big_marker_client/models/base.rb
97
97
  - lib/big_marker_client/models/conference.rb
98
98
  - lib/big_marker_client/models/dial_in_information.rb
99
+ - lib/big_marker_client/models/handout.rb
99
100
  - lib/big_marker_client/models/preload_file.rb
100
101
  - lib/big_marker_client/models/presenter.rb
101
102
  - lib/big_marker_client/models/registrant.rb
@@ -105,6 +106,7 @@ files:
105
106
  - spec/factories/big_marker/attendee.rb
106
107
  - spec/factories/big_marker/conference.rb
107
108
  - spec/factories/big_marker/dial_in_infromation.rb
109
+ - spec/factories/big_marker/handout.rb
108
110
  - spec/factories/big_marker/preload_file.rb
109
111
  - spec/factories/big_marker/presenter.rb
110
112
  - spec/factories/big_marker/registrant.rb