Sha256: 1d0e07afa561c94f5d4383d97dddc351c715d3b55d608465685cf7c0d1f6f6ac

Contents?: true

Size: 1.01 KB

Versions: 14

Compression:

Stored size: 1.01 KB

Contents

module StateMachine
  module YARD
    module Handlers
      # Handles and processes nodes
      class Base < ::YARD::Handlers::Ruby::Base
        private
          # Extracts the value from the node as either a string or symbol
          def extract_node_name(ast)
            case ast.type
            when :symbol_literal
              ast.jump(:ident).source.to_sym
            when :string_literal
              ast.jump(:tstring_content).source
            else
              nil
            end
          end
          
          # Extracts the values from the node as either strings or symbols.
          # If the node isn't an array, it'll be converted to an array.
          def extract_node_names(ast, convert_to_array = true)
            if [nil, :array].include?(ast.type)
              ast.children.map {|child| extract_node_name(child)}
            else
              node_name = extract_node_name(ast)
              convert_to_array ? [node_name] : node_name
            end
          end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 9 rubygems

Version Path
state_machine_updated_for_ruby_3_2-2.0.0 lib/state_machine/yard/handlers/base.rb
telvue_state_machine-1.2.3 lib/state_machine/yard/handlers/base.rb
telvue_state_machine-1.2.2 lib/state_machine/yard/handlers/base.rb
state_machine_deuxito-0.0.1 lib/state_machine/yard/handlers/base.rb
telvue_state_machine-1.2.1 lib/state_machine/yard/handlers/base.rb
cm-state_machine-1.2.0.1 lib/state_machine/yard/handlers/base.rb
spree-state_machine-2.0.0.beta4 lib/state_machine/yard/handlers/base.rb
spree-state_machine-2.0.0.beta3 lib/state_machine/yard/handlers/base.rb
spree-state_machine-2.0.0.beta2 lib/state_machine/yard/handlers/base.rb
spree-state_machine-2.0.0.beta1 lib/state_machine/yard/handlers/base.rb
culturecode-state_machine-1.2.1 lib/state_machine/yard/handlers/base.rb
automat-1.2.0 lib/state_machine/yard/handlers/base.rb
glebtv_state_machine-1.3.0 lib/state_machine/yard/handlers/base.rb
state_machine-1.2.0 lib/state_machine/yard/handlers/base.rb