Sha256: 4b12e4e121469207eda50cfed91c27edea0b8a270127448196c99bd2b181d392

Contents?: true

Size: 1017 Bytes

Versions: 1

Compression:

Stored size: 1017 Bytes

Contents

require 'docman/taggers/tagger'

module Docman
  class ComponentsTagger < Docman::Taggers::Tagger

    register_tagger :components

    def execute
      tag = ''
      time = Time.now.strftime("%Y-%m-%d-%H-%M-%S")
      state = @caller['state']
      if @caller.docroot_config.structure['root']['type'] == 'root'
        tag_parts = []
        tag_parts << "#{state}--#{time}"
        @caller.build_results.each { |component_name, component_build_result|
          unless component_name == 'master'
            tag_parts << "#{component_name}:#{component_build_result['version']}"
          end
        }
        tag = tag_parts.join('--')
      else
        if @caller.build_results['master']['version_type'] == 'tag'
          tag = "#{state}--#{@caller.build_results['master']['version']}"
        else
          tag = "#{state}--#{time}--#{@caller.build_results['master']['version']}"
        end
      end
      tag_sliced = tag.slice(0, 250).slice(/^(.+)[^a-zA-Z0-9]*$/, 1)
      tag_sliced
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
docman-0.0.90 lib/docman/taggers/components_tagger.rb