Sha256: dbd4c69fc0a34de0f7ac58db39ea314e7a571c5e7dc08d8c19a01d8fb5cedd6a
Contents?: true
Size: 1.15 KB
Versions: 5
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true require "pakyow/support/extension" module Pakyow module Behavior # Manages {Framework} instances. # module Frameworks extend Support::Extension apply_extension do setting :loaded_frameworks, [] end class_methods do # Includes one or more frameworks into the app class. # def include_frameworks(*frameworks) tap do frameworks.each do |framework_name| include_framework(framework_name) end end end # Includes a framework into the app class. # def include_framework(framework_name) framework_name = framework_name.to_sym Pakyow.frameworks.fetch(framework_name).new(self).boot (config.loaded_frameworks << framework_name).uniq! rescue KeyError => error raise UnknownFramework.build(error, framework: framework_name) end # Returns true if +framework+ is loaded. # def includes_framework?(framework_name) config.loaded_frameworks.include?(framework_name.to_sym) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems