Sha256: 325a8bc432d8bfad50e904a86b1e313a2772d5efd77f162b02fde4b9d577b873

Contents?: true

Size: 504 Bytes

Versions: 12

Compression:

Stored size: 504 Bytes

Contents

# frozen_string_literal: true

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

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

  module ClassMethods
    def bean(name, &proc)
      dsl = Ree::ObjectDsl.new(
        Ree.container.packages_facade, name, self, :object
      )

      dsl.instance_exec(&proc) if block_given?
      dsl.tags(["object"])
      dsl.object.set_as_compiled(false)

      Ree.container.compile(dsl.package, name)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ree-1.0.34 lib/ree/bean_dsl.rb
ree-1.0.33 lib/ree/bean_dsl.rb
ree-1.0.32 lib/ree/bean_dsl.rb
ree-1.0.31 lib/ree/bean_dsl.rb
ree-1.0.30 lib/ree/bean_dsl.rb
ree-1.0.29 lib/ree/bean_dsl.rb
ree-1.0.28 lib/ree/bean_dsl.rb
ree-1.0.27 lib/ree/bean_dsl.rb
ree-1.0.26 lib/ree/bean_dsl.rb
ree-1.0.25 lib/ree/bean_dsl.rb
ree-1.0.24 lib/ree/bean_dsl.rb
ree-1.0.23 lib/ree/bean_dsl.rb