Module: Orchparty

Defined in:
lib/orchparty.rb,
lib/orchparty/ast.rb,
lib/orchparty/plugin.rb,
lib/orchparty/context.rb,
lib/orchparty/version.rb,
lib/orchparty/dsl_parser.rb,
lib/orchparty/transformations.rb,
lib/orchparty/transformations/all.rb,
lib/orchparty/transformations/sort.rb,
lib/orchparty/transformations/mixin.rb,
lib/orchparty/transformations/variable.rb,
lib/orchparty/plugins/docker_compose_v1.rb,
lib/orchparty/plugins/docker_compose_v2.rb,
lib/orchparty/transformations/remove_internal.rb

Defined Under Namespace

Modules: Plugin, Transformations Classes: AST, AllBuilder, ApplicationBuilder, ApplicationMixinBuilder, Builder, CommonBuilder, Context, DSLParser, HashBuilder, MixinBuilder, RootBuilder, ServiceBuilder, VariableBuilder

Constant Summary collapse

VERSION =
"1.3.0"

Class Method Summary collapse

Class Method Details

.ast(filename:, application:, force_variable_definition: nil) ⇒ Object



26
27
28
# File 'lib/orchparty.rb', line 26

def self.ast(filename: , application:, force_variable_definition: nil )
  Transformations.transform(Orchparty::DSLParser.new(filename).parse, force_variable_definition: force_variable_definition).applications[application]
end

.generate(plugin_name, options, plugin_options) ⇒ Object



30
31
32
# File 'lib/orchparty.rb', line 30

def self.generate(plugin_name, options, plugin_options)
  plugins[plugin_name].generate(ast(options), plugin_options)
end

.load_all_available_pluginsObject



12
13
14
15
16
# File 'lib/orchparty.rb', line 12

def self.load_all_available_plugins
  Gem::Specification.map {|f| f.matches_for_glob("orchparty/plugins/*.rb") }.flatten.map{|file_name| File.basename(file_name, ".*").to_sym }.each do |plugin_name|
    plugin(plugin_name)
  end
end

.plugin(name) ⇒ Object



22
23
24
# File 'lib/orchparty.rb', line 22

def self.plugin(name)
  Orchparty::Plugin.load_plugin(name)
end

.pluginsObject



18
19
20
# File 'lib/orchparty.rb', line 18

def self.plugins
  Orchparty::Plugin.plugins
end