Sha256: 711f89f2cda2693cc71d32c78fbc98ebde7b799f813e1150220da17218da9fe7

Contents?: true

Size: 768 Bytes

Versions: 66

Compression:

Stored size: 768 Bytes

Contents

module FastlaneCore
  class UI
    class << self
      def current
        require_relative 'implementations/shell'
        @current ||= Shell.new
      end
    end

    def self.method_missing(method_sym, *args, &_block)
      # not using `responds` because we don't care about methods like .to_s and so on
      require_relative 'interface'
      interface_methods = FastlaneCore::Interface.instance_methods - Object.instance_methods
      UI.user_error!("Unknown method '#{method_sym}', supported #{interface_methods}") unless interface_methods.include?(method_sym)

      self.current.send(method_sym, *args)
    end
  end
end

# Import all available implementations
Dir[File.dirname(__FILE__) + '/implementations/*.rb'].each do |file|
  require_relative file
end

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
fastlane-2.75.0 fastlane_core/lib/fastlane_core/ui/ui.rb
fastlane-2.75.0.beta.20180109010003 fastlane_core/lib/fastlane_core/ui/ui.rb
fastlane-2.74.1 fastlane_core/lib/fastlane_core/ui/ui.rb
fastlane-2.74.0 fastlane_core/lib/fastlane_core/ui/ui.rb
fastlane-2.74.0.beta.20180108010004 fastlane_core/lib/fastlane_core/ui/ui.rb
fastlane-2.74.0.beta.20180107010004 fastlane_core/lib/fastlane_core/ui/ui.rb