Sha256: e952949abb0512930fc4860e53a23347241fa01384c158a5079d398598a05f16
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
module Citrix module Training module Serializer class Training include Helpers::Initializer # Set attributes that can be (de)serialized. attr_accessor :attributes def serialize { name: attributes[:name], description: attributes[:description], timeZone: attributes[:timezone], times: (attributes[:dates] || []).map(&:serialize), organizers: (attributes[:organizers] || []).map(&:key), registrationSettings: { disableWebRegistration: !attributes.fetch(:web_registration, true), disableConfirmationEmail: !attributes.fetch(:confirmation_email, true), } } end def deserialize { key: attributes['trainingKey'], name: attributes['name'], description: attributes['description'], timezone: attributes['timeZone'], dates: deserialize_dates(attributes['times'] || []), web_registration: !attributes['registrationSettings']['disableWebRegistration'], confirmation_email: !attributes['registrationSettings']['disableConfirmationEmail'] } end private def deserialize_dates(dates) dates.map do |date| Resource::TrainingDate.new( Time.parse(date['startDate']), Time.parse(date['endDate']) ) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
citrix-0.2.0 | lib/citrix/training/serializer/training.rb |
citrix-0.1.0 | lib/citrix/training/serializer/training.rb |