Sha256: 6b56011774558b89d81bd2cf94ac3fb1e3e27db7cd2023f9e5faf45a25f3da4e

Contents?: true

Size: 939 Bytes

Versions: 8

Compression:

Stored size: 939 Bytes

Contents

require 'json/pure'
require 'puppet/face'
require 'puppet_blacksmith'

module DPL
  class Provider
    class PuppetForge < Provider
      require 'pathname'

      def modulefile
        @modulefile ||= Blacksmith::Modulefile.new
      end

      def forge
        @forge ||= Blacksmith::Forge.new(options[:username] || options[:user], options[:password], options[:url])
      end

      def build
        pmod = Puppet::Face['module', :current]
        pmod.build('./')
      end

      def needs_key?
        false
      end

      def check_app
        modulefile.metadata
      end

      def check_auth
        raise Error, "must supply a user" unless option(:user, :username)
        raise Error, "must supply a password" unless option(:password)
      end

      def push_app
        build
        log "Uploading to Puppet Forge #{forge.username}/#{modulefile.name}"
        forge.push!(modulefile.name)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dpl-puppet_forge-1.10.17.travis.6637.6 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.16 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.16.travis.6625.6 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.16.travis.6619.6 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.16.travis.5961.5 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.15 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.15.travis.5877.5 lib/dpl/provider/puppet_forge.rb
dpl-puppet_forge-1.10.14 lib/dpl/provider/puppet_forge.rb