Sha256: 4d1564bc57e231a8ed2c4f6d8130d9d963a732598e3c388f84636b859537bb8b

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

module PowerStencil
  module SystemEntityDefinitions

    module EntityProjectCommon

      def save(uri = source_uri, force_files_generation: false)
        super(uri)
        unless PowerStencil.project.entity_type_templates[type].nil?
          PowerStencil.project.generate_entity_dir_for_entity self, force: force_files_generation
        end
        self
      end

      def delete(force_files_deletion: false)
        unless PowerStencil.project.entity_type_templates[type].nil?
          PowerStencil.project.delete_entity_dir_for_entity self, force: force_files_deletion
        end
        super()
        self
      end

      def buildable_by
        self.class.buildable_by
      end

      def buildable?
        self.class.buildable?
      end

      protected

      def project_engine
        PowerStencil.project.engine
      end

      def create_universe_entity(type, fields = {})
        project_engine.new_entity project_engine.root_universe, type, fields: fields
      end

      def remove_entity_from_universe(entity)
        project_engine.root_universe.delete entity
      end

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
power_stencil-0.4.1 lib/power_stencil/system_entity_definitions/entity_project_common.rb
power_stencil-0.4.0 lib/power_stencil/system_entity_definitions/entity_project_common.rb
power_stencil-0.3.9 lib/power_stencil/system_entity_definitions/entity_project_common.rb
power_stencil-0.3.8 lib/power_stencil/system_entity_definitions/entity_project_common.rb
power_stencil-0.3.7 lib/power_stencil/system_entity_definitions/entity_project_common.rb