From d0a8a45cc7f6a4876ea3de5b43650da0a6efaa91 Mon Sep 17 00:00:00 2001 From: "Leonardo C. Daronco" Date: Wed, 10 Jul 2019 11:34:48 -0300 Subject: [PATCH] Fixes converting events xml (#2) * Accept newer versions of bundle * Fix conversion of nested models to json Was converting them into json twice, so they would appear as a string in the final result. * Fix parsing when there's only one event in events.xml * Add :to_h to recording --- bbbevents.gemspec | 2 +- lib/bbbevents/recording.rb | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bbbevents.gemspec b/bbbevents.gemspec index 93a67f8..f8e5515 100644 --- a/bbbevents.gemspec +++ b/bbbevents.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_development_dependency "bundler", "~> 1.15" + spec.add_development_dependency "bundler", ">= 1.15" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "rspec", "~> 3.4" diff --git a/lib/bbbevents/recording.rb b/lib/bbbevents/recording.rb index 42a2fd5..c3390f8 100755 --- a/lib/bbbevents/recording.rb +++ b/lib/bbbevents/recording.rb @@ -21,7 +21,8 @@ def initialize(events_xml) raise "#{filename} is missing recording key." unless raw_recording_data.key?("recording") recording_data = raw_recording_data["recording"] - events = recording_data["event"] + events = recording_data["event"] + events = [events] unless events.is_a?(Array) @metadata = recording_data["metadata"] @meeting_id = recording_data["meeting"]["id"] @@ -90,17 +91,21 @@ def create_csv(filepath) end end - def to_json + def to_h { metadata: @metadata, meeting_id: @meeting_id, duration: @duration, start: @start, finish: @finish, - attendees: attendees.map(&:to_h), + attendees: attendees.map(&:to_h), files: @files, - polls: polls.map(&:to_h), - }.to_json + polls: polls.map(&:to_h) + } + end + + def to_json + to_h.to_json end private