Files
old-vendor-scheduler-service/app/services/schedule_pipeline/models/schedule.rb
2022-03-23 05:44:42 +01:00

38 lines
837 B
Ruby

# frozen_string_literal: true
module SchedulePipeline
module Models
class Schedule
attr_reader :name, :vendor, :player, :start_time, :items
def initialize(name, vendor, player, start_time, items)
@name = name
@vendor = vendor
@player = player
@start_time = start_time
@items = items
end
def to_hash
{
name: name,
vendor: vendor,
player: player,
start_time: start_time,
items: items.collect(&:to_hash)
}.with_indifferent_access
end
def self.from_hash(input)
self.new(
input[:name],
input[:vendor],
input[:player],
input[:start_time],
input[:items].collect { |i| ScheduleItem.from_hash(i) }
)
end
end
end
end