require 'fiona7/mode_switch/abstract_mode_switch' require 'fiona7/mode_switch/views' require 'fiona7/mode_switch/cms_routes' require 'fiona7/mode_switch/constants' module Fiona7 module ModeSwitch class Composite < AbstractModeSwitch def initialize(app) super @views = Views.new(self.app) @cms_routes = CmsRoutes.new(self.app) @constants = Constants.new(self.app) end def standalone self.switches.each(&:standalone) end def legacy self.switches.each(&:legacy) end protected attr_reader :views, :cms_routes, :constants def switches [self.views, self.cms_routes, self.constants] end end end end