Sha256: f093d6b175cafa2dee0b98d2dc93d04f63bfbc413770ff11cfa0d56dc3ad826c
Contents?: true
Size: 760 Bytes
Versions: 15
Compression:
Stored size: 760 Bytes
Contents
# frozen_string_literal: true class Code class Object class RubyFunction < Function attr_reader :raw def initialize(raw) @raw = raw end def self.name "RubyFunction" end # TODO: fix / refactor def code_call(args:, globals:) regular_arguments = args .select(&:regular?) .map(&:value) .map { |argument| Ruby.from_code(argument) } keyword_arguments = args .select(&:keyword?) .map do |argument| [argument.name.to_sym, Ruby.from_code(argument.value)] end .to_h Ruby.to_code(raw.call(*regular_arguments, **keyword_arguments)) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems