Sha256: d057319da88a8e7931a3f6dc4a8f4aa05d74839df399731ffb3a6902a9e3f72b
Contents?: true
Size: 842 Bytes
Versions: 3
Compression:
Stored size: 842 Bytes
Contents
module FastlaneCore class UI class << self attr_accessor(:ui_object) def ui_object require_relative 'implementations/shell' @ui_object ||= Shell.new end def 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.ui_object.send(method_sym, *args) end end end end # Import all available implementations Dir[File.dirname(__FILE__) + '/implementations/*.rb'].each do |file| require_relative file end
Version data entries
3 entries across 3 versions & 1 rubygems