Sha256: e1f0c768c8d93f6ad3a9f3138d86faba22c0861df8deae056e49d11936284881

Contents?: true

Size: 1.88 KB

Versions: 15

Compression:

Stored size: 1.88 KB

Contents

module Fastlane
  module Actions
    class PemAction < Action
      def self.run(params)
        require 'pem'
        require 'pem/options'
        require 'pem/manager'

        begin
          FastlaneCore::UpdateChecker.start_looking_for_update('pem') unless Helper.is_test?

          success_block = params[:new_profile]

          PEM.config = params

          if Helper.is_test?
            profile_path = './test.pem'
          else
            profile_path = PEM::Manager.start
          end

          if profile_path
            success_block.call(File.expand_path(profile_path)) if success_block
          end
        ensure
          FastlaneCore::UpdateChecker.show_update_status('pem', PEM::VERSION)
        end
      end

      def self.description
        "Makes sure a valid push profile is active and creates a new one if needed"
      end

      def self.details
        [
          "Additionally to the available options, you can also specify a block that only gets executed if a new",
          "profile was created. You can use it to upload the new profile to your server.",
          "Use it like this: ",
          "pem(",
          "  new_profile: Proc.new do ",
          "    # your upload code",
          "  end",
          ")"
        ].join("\n")
      end

      def self.available_options
        require 'pem'
        require 'pem/options'

        unless @options
          @options = PEM::Options.available_options
          @options << FastlaneCore::ConfigItem.new(key: :new_profile,
                                       env_name: "",
                                       description: "Block that is called if there is a new profile", 
                                       optional: true,
                                       is_string: false)
        end
        @options
      end

      def self.is_supported?(platform)
        platform == :ios
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
fastlane-1.4.0 lib/fastlane/actions/pem.rb
fastlane-1.3.2 lib/fastlane/actions/pem.rb
fastlane-1.3.1 lib/fastlane/actions/pem.rb
fastlane-1.3.0 lib/fastlane/actions/pem.rb
fastlane-1.2.3 lib/fastlane/actions/pem.rb
fastlane-1.2.2 lib/fastlane/actions/pem.rb
fastlane-1.2.1 lib/fastlane/actions/pem.rb
fastlane-1.2.0 lib/fastlane/actions/pem.rb
fastlane-1.1.0 lib/fastlane/actions/pem.rb
fastlane-1.0.2 lib/fastlane/actions/pem.rb
fastlane-1.0.1 lib/fastlane/actions/pem.rb
fastlane-1.0.0 lib/fastlane/actions/pem.rb
fastlane-0.13.0 lib/fastlane/actions/pem.rb
fastlane-0.12.5 lib/fastlane/actions/pem.rb
fastlane-0.12.4 lib/fastlane/actions/pem.rb