# frozen_string_literal: true require_relative "../country" require_relative "../region" # declare country to avoid circular dependency # rubocop:disable Style/ClassAndModuleChildren class ONEAccess::DataObject::Country; end class ONEAccess::DataObject::Representer::Country < Representable::Decorator; end # rubocop:enable Style/ClassAndModuleChildren module ONEAccess module DataObject module Representer class GlobalRegion < Representable::Decorator include Representable::JSON property :id, as: :Id, type: Integer property :name, as: :Name, type: String property :code, as: :Code, type: String property :description, as: :Description, type: String collection :countries, as: :Countries, decorator: Representer::Country, class: DataObject::Country collection :regions, as: :Regions, decorator: Representer::Region, class: DataObject::Region end end end end