Sha256: b85614b5c61905bdf10e5ec944e0fb9f99b47d9cc65859d8db85a5fd80ebbc3e

Contents?: true

Size: 706 Bytes

Versions: 20

Compression:

Stored size: 706 Bytes

Contents

# frozen_string_literal  = true

module Ree::PackageDSL
  def self.included(base)
    base.extend(ClassMethods)
  end

  def self.extended(base)
    base.extend(ClassMethods)
  end

  module ClassMethods
    def package(&proc)
      dsl = Ree::BuildPackageDsl.new(
        Ree.container.packages_facade, self
      )

      dsl.instance_exec(&proc) if block_given?

      return if dsl.package.preloaded?
      dsl.package.set_preloaded(true)

      dsl.package.preload.each do |env, list|
        next if !Ree.preload_for?(env)

        list.each do |object_name|
          Ree.container.compile_object(
            "#{dsl.package.name}/#{object_name}",
          )
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ree-1.0.19 lib/ree/package_dsl.rb
ree-1.0.18 lib/ree/package_dsl.rb
ree-1.0.17 lib/ree/package_dsl.rb
ree-1.0.16 lib/ree/package_dsl.rb
ree-1.0.15 lib/ree/package_dsl.rb
ree-1.0.14 lib/ree/package_dsl.rb
ree-1.0.13 lib/ree/package_dsl.rb
ree-1.0.12 lib/ree/package_dsl.rb
ree-1.0.11 lib/ree/package_dsl.rb
ree-1.0.10 lib/ree/package_dsl.rb
ree-1.0.9 lib/ree/package_dsl.rb
ree-1.0.8 lib/ree/package_dsl.rb
ree-1.0.7 lib/ree/package_dsl.rb
ree-1.0.6 lib/ree/package_dsl.rb
ree-1.0.5 lib/ree/package_dsl.rb
ree-1.0.4 lib/ree/package_dsl.rb
ree-1.0.3 lib/ree/package_dsl.rb
ree-1.0.2 lib/ree/package_dsl.rb
ree-1.0.1 lib/ree/package_dsl.rb
ree-1.0.0 lib/ree/package_dsl.rb