Sha256: c86da3e33df11fda28ffbb4e835977a1dac2b5b3acde9b4836332a2353d4a205
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true module Grumlin class AnonymousStep attr_reader :name, :args, :previous_step # TODO: add other steps SUPPORTED_STEPS = %i[E V addE addV and as both bothE by coalesce count dedup drop elementMap emit fold from group groupCount has hasId hasLabel hasNot id in inE inV is label limit not or order out outE path project property range repeat select sideEffect skip tail to unfold union until valueMap values where with].freeze def initialize(name, *args, previous_step: nil) @name = name @previous_step = previous_step @args = args end SUPPORTED_STEPS.each do |step| define_method(step) do |*args| step(step, args) end end def step(name, args) self.class.new(name, *args, previous_step: self) end def inspect bytecode.inspect end alias to_s inspect def bytecode(no_return: false) @bytecode ||= Bytecode.new(self, no_return: no_return) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
grumlin-0.13.1 | lib/grumlin/anonymous_step.rb |
grumlin-0.13.0 | lib/grumlin/anonymous_step.rb |