module WCC module Media class Series include WCC::Media::Cacheable attr_reader :raw, :headers def initialize(raw, headers = {}) @raw = raw @headers = headers end def id raw['id']&.to_s end def legacy_id raw['legacy_id']&.to_s end %w[ title subtitle summary date_range messages_count ].each do |att| define_method att do raw[att] end end %w[ images ].each do |att| define_method att do OpenStruct.new(raw[att]) if raw[att] end end end end end