Sha256: c81e181f3d32684d389cb277e052390f7eb6e1b427b9654a72e4ec8cc18499e8

Contents?: true

Size: 1.79 KB

Versions: 23

Compression:

Stored size: 1.79 KB

Contents

# frozen_string_literal: true

module Praxis
  module BootloaderStages
    class Environment < Stage
      # require environment files. we will require 2 files:
      # 1) the environment.rb file    - generic stuff for all environments
      # 2) "Deployer.environment".rb  - environment specific stuff
      def execute
        setup_initial_config!

        env_file = application.root / 'config/environment.rb'
        require env_file if File.exist? env_file

        setup_default_layout! unless application.file_layout
      end

      def setup_default_layout!
        application.layout do
          map :initializers, 'config/initializers/**/*'
          map :lib, 'lib/**/*'
          map :design, 'design/' do
            map :api, 'api.rb'
            map :helpers, '**/helpers/**/*'
            map :types, '**/types/**/*'
            map :media_types, '**/media_types/**/*'
            map :endpoints, '**/endpoints/**/*'
          end
          map :app, 'app/' do
            map :models, 'models/**/*'
            map :responses, '**/responses/**/*'
            map :exceptions, '**/exceptions/**/*'
            map :concerns, '**/concerns/**/*'
            map :resources, '**/resources/**/*'
            map :controllers, '**/controllers/**/*'
          end
        end
      end

      # TODO: not really sure I like this here... but where else is better?
      def setup_initial_config!
        application.config do
          attribute :praxis do
            attribute :validate_responses, Attributor::Boolean, default: false
            attribute :validate_response_bodies, Attributor::Boolean, default: false

            attribute :show_exceptions, Attributor::Boolean, default: false
            attribute :x_cascade, Attributor::Boolean, default: true
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
praxis-2.0.0 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.40 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.39 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.38 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.37 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.36 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.35 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.34 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.33 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.32 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.31 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.30 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.29 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.28 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.27 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.26 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.25 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.24 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.23 lib/praxis/bootloader_stages/environment.rb
praxis-2.0.pre.22 lib/praxis/bootloader_stages/environment.rb