Sha256: c22d7ff450cf0a43e52b51aa5935c925777e59db0eb195d270da603f7166a6be

Contents?: true

Size: 588 Bytes

Versions: 20

Compression:

Stored size: 588 Bytes

Contents

class Module
  # Include all modules within the relative folder. IE: for dsl/syntax/mod/*
  #
  #    include Common
  #    include Provider
  #    # etc
  #
  def include_dir(dir)
    calling_file = caller[0].split(':').first # IE: /home/ec2-user/environment/terraspace/lib/terraspace/compiler/dsl/syntax/mod.rb
    parent_dir = File.dirname(calling_file)

    full_dir = "#{parent_dir}/#{dir}"
    Dir.glob("#{full_dir}/**/*").each do |path|
      regexp = Regexp.new(".*/lib/")
      klass = path.sub(regexp, '').sub('.rb','').camelize
      include klass.constantize
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
terraspace-0.4.4 lib/terraspace/ext/core/module.rb
terraspace-0.4.3 lib/terraspace/ext/core/module.rb
terraspace-0.4.2 lib/terraspace/ext/core/module.rb
terraspace-0.4.1 lib/terraspace/ext/core/module.rb
terraspace-0.4.0 lib/terraspace/ext/core/module.rb
terraspace-0.3.6 lib/terraspace/ext/core/module.rb
terraspace-0.3.5 lib/terraspace/ext/core/module.rb
terraspace-0.3.4 lib/terraspace/ext/core/module.rb
terraspace-0.3.3 lib/terraspace/ext/core/module.rb
terraspace-0.3.2 lib/terraspace/ext/core/module.rb
terraspace-0.3.1 lib/terraspace/ext/core/module.rb
terraspace-0.3.0 lib/terraspace/ext/core/module.rb
terraspace-0.2.4 lib/terraspace/ext/core/module.rb
terraspace-0.2.3 lib/terraspace/ext/core/module.rb
terraspace-0.2.2 lib/terraspace/ext/core/module.rb
terraspace-0.2.1 lib/terraspace/ext/core/module.rb
terraspace-0.2.0 lib/terraspace/ext/core/module.rb
terraspace-0.1.2 lib/terraspace/ext/core/module.rb
terraspace-0.1.1 lib/terraspace/ext/core/module.rb
terraspace-0.1.0 lib/terraspace/ext/core/module.rb