stellar/xdrgen

View on GitHub
lib/xdrgen/ast/definitions/union_arm_case.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Xdrgen::AST
  module Definitions
    class UnionArmCase < Base
      extend Memoist

      include Concerns::Named
      include Concerns::Contained

      def value_s
        value.text_value
      end

      memoize def union
        find_ancestors(Union).last
      end

      def name_short
        prefix = find_common_prefix(union.discriminant_type.members.map(&:name))
        value.name.delete_prefix(prefix)
      end
    end
  end
end