Sha256: 210d84ac07d4d131a3b8f27f8b19498cc12da5d4620b48d082a182c461213186

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

require "fileutils"

require "eddy/build/elements/elements"
require "eddy/build/segment_builder"
require "eddy/build/loop_builder"
require "eddy/build/transaction_set_builder"

module Eddy
  # Generate Ruby classes for modeling Semgents & Data Element logic, notes, and validation.
  module Build

    # @return [void]
    def self.make_folders()
      folders = [
        File.join(Eddy.config.build_dir, "segments"),
        File.join(Eddy.config.build_dir, "elements"),
        File.join(Eddy.config.build_dir, "transaction_sets"),
      ]
      folders.each { |f| FileUtils.mkdir_p(f) }
    end

    # @return [void]
    def self.clean_folders()
      folders = [
        File.join(Eddy.config.build_dir, "segments"),
        File.join(Eddy.config.build_dir, "elements"),
        File.join(Eddy.config.build_dir, "transaction_sets"),
      ]
      folders.each { |f| Eddy::Util.clean_folder(f) }
    end

    # @return [void]
    def self.build_all_segments()
      files = Eddy::Util.list_segment_definitions()
      files.each do |f|
        builder = Eddy::Build::SegmentBuilder.from_file(f)
        builder.build(build_elements: true)
      end
    end

    # @return [void]
    def self.build_all_elements()
      Eddy::Build::Elements.generate_elements()
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eddy-0.5.1 lib/eddy/build.rb
eddy-0.5.0 lib/eddy/build.rb
eddy-0.4.0 lib/eddy/build.rb
eddy-0.3.0 lib/eddy/build/build.rb