Sha256: 61920ccc4553d3973078da95557e53a3c5d48ef51b5672ae2946602b5f827e67

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 KB

Contents

module Sbuilder

  ##
  # Mixer module to include to API loader plugins
  #
  # Implement:
  # - getter & setter for Snippet loader facade
  
  module SnippetLoaderPluginMixer

    ##
    # Sbuilder controller calls 'setFacade' when new API loader object
    # is contstructed. Sets instance variable '@facade'.
    #
    # @param [Sbuilder::ApiLoaderFacade] facace to Sbuilder  services
    
    def setSnippetFacade( facade )
      @snippetFacade = facade
    end

    # @return [Sbuilder::ApiLoaderFacade] snippetFacade to access Sbuilder servivices ( set in 'setFacade')
    def snippetFacade
      @snippetFacade
    end

    ##
    # A method available for plugin sub class, allowing sub class to
    # register metatype prio 
    def registerMetatype( metatype, desc )
      snippetFacade.registerMetatype( metatype, desc )
    end

    ##
    # @param [Hash] snippetsDefs defining snippets to
    # load. +snippetsDefs+ are passed un modified to plugin
    # implementation
    def registerSnippets( snippetsDefs )
      # call implementation in concrete class
      logger.info "#{__method__}, snippetsDefs=#{snippetsDefs}"
      doRegisterSnippets( snippetsDefs  )
    end
    

    # def validateProperties( hash, required_props, allowed_props )
    #   SnippetLoaderPlugin.validateProperties( hash, required_props, allowed_props )      
    # end

    def self.validateProperties( hash, required_props, allowed_props )
      Sbuilder::Utils::Validate.validateProperties( hash, required_props, allowed_props )      
    end

    

  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tla-sbuilder-0.3.9 lib/sbuilder/facade/snippet_loader_plugin_mixer.rb
tla-sbuilder-0.3.8 lib/sbuilder/facade/snippet_loader_plugin_mixer.rb
tla-sbuilder-0.3.7 lib/sbuilder/facade/snippet_loader_plugin_mixer.rb
tla-sbuilder-0.3.4 lib/sbuilder/facade/snippet_loader_plugin_mixer.rb