Sha256: 4ad4c735bcdf5c03cce5502ed6f0727754547319b41d0682e24d999fe1d86a85

Contents?: true

Size: 1.6 KB

Versions: 4

Compression:

Stored size: 1.6 KB

Contents

require 'rgen/metamodel_builder'
require 'rgen/metamodel_builder/data_types'

module Bake

  module BakeryModel
    extend RGen::MetamodelBuilder::ModuleExtension

    class ModelElement < RGen::MetamodelBuilder::MMBase
      abstract
      has_attr 'line_number', Integer do
        annotation :details => {'internal' => 'true'}
      end
      has_attr 'file_name', String do
        annotation :details => {'internal' => 'true'}
      end
    end

    class Project < ModelElement
      has_attr 'name', String, :defaultValueLiteral => ""
      has_attr 'config', String, :defaultValueLiteral => ""
      has_attr 'args', String, :defaultValueLiteral => ""
      has_attr 'args_end', String, :defaultValueLiteral => ""
    end
    class Exclude < ModelElement
      has_attr 'name', String, :defaultValueLiteral => ""
      has_attr 'config', String, :defaultValueLiteral => ""
    end

    class ExcludeDir < ModelElement
      has_attr 'name', String, :defaultValueLiteral => ""
    end
    class SubCollection < ModelElement
      has_attr 'name', String, :defaultValueLiteral => ""
    end
    class Collection < ModelElement
      has_attr 'name', String, :defaultValueLiteral => ""
      contains_many 'project', Project, 'collection'
      contains_many 'exclude', Exclude, 'collection'
      contains_many 'exclude_dir', ExcludeDir, 'collection'
      contains_many 'collections', SubCollection, 'collection'
    end

    module Project::ClassModule
      def isFound
        @isFound ||= false
      end
      def found
        @isFound = true
      end
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bake-toolkit-2.72.0 lib/bakery/model/metamodel.rb
bake-toolkit-2.71.0 lib/bakery/model/metamodel.rb
bake-toolkit-2.70.1 lib/bakery/model/metamodel.rb
bake-toolkit-2.70.0 lib/bakery/model/metamodel.rb