Sha256: 4109ff1cfd73401743b53f4f896188daa40c18f236dc496cdf4ba5f21331c824

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

class Code
  class Object
    class Parameter < Object
      def initialize(*args, **_kargs, &)
        @raw = Dictionary.new(args.first)
      end

      def code_name
        String.new(raw.code_get(:name))
      end

      def code_regular?
        Boolean.new(raw.code_get(:regular?))
      end

      def code_keyword?
        Boolean.new(raw.code_get(:keyword?))
      end

      def code_regular_splat?
        Boolean.new(raw.code_get(:regular_splat?))
      end

      def code_keyword_splat?
        Boolean.new(raw.code_get(:keyword_splat?))
      end

      def code_default
        Code.new(raw.code_get(:default))
      end

      def code_evaluate(...)
        code_default.code_evaluate(...)
      end

      def regular?
        code_regular?.truthy?
      end

      def keyword?
        code_keyword?.truthy?
      end

      def regular_splat?
        code_regular_splat?.truthy?
      end

      def keyword_splat?
        code_keyword_splat?.truthy?
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
code-ruby-1.2.5 lib/code/object/parameter.rb
code-ruby-1.2.4 lib/code/object/parameter.rb
code-ruby-1.2.3 lib/code/object/parameter.rb
code-ruby-1.2.2 lib/code/object/parameter.rb
code-ruby-1.2.1 lib/code/object/parameter.rb