Sha256: f4191aab005acdb70a1688e96f644cd30166d3905baf3c6f7702de0fd9b05e87
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
module TerraspaceBundler class Mod extend PropsExtension props :name, :source, :url, :subfolder, :type, :export_to attr_reader :props, :version, :ref, :tag, :branch def initialize(props={}) @props = props.symbolize_keys # These props are used for version comparing by VersionComparer @version, @ref, @tag, @branch = @props[:version], @props[:ref], @props[:tag], @props[:branch] end def sha # sha will already be set if coming from Terrafile.lock # sha will be lazily fetch set if coming from Terrafile @props[:sha] ||= fetch_sha end def checkout_version v = detected_version v = "v#{v}" if type == "registry" && @version && !v.starts_with?("v") v end # use url instead of source because for registry modules, the repo name is different def repo url_words[-1] end def org url_words[-2] # second to last word end def full_repo "#{org}/#{repo}" end private def fetch_sha downloader = Downloader.new(self) downloader.run downloader.sha end # support variety of options, prefer version def detected_version @version || @ref || @tag || @branch end def url_words url.split('/') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
terraspace-bundler-0.2.0 | lib/terraspace_bundler/mod.rb |