Sha256: 5c8b0ee1d571943ec2e0664ad0c228d1240bc22f47b4c04b4f2055dfcbee2057

Contents?: true

Size: 654 Bytes

Versions: 3

Compression:

Stored size: 654 Bytes

Contents

# frozen_string_literal: true

module RubyTerraform
  module Options
    class Name
      def initialize(name)
        @name = name
      end

      def without_prefix
        @name[0] == '-' ? @name[1..] : @name
      end

      def to_s
        "-#{without_prefix}"
      end

      def as_key
        snake_case.to_sym
      end

      def as_plural_key
        "#{snake_case}s".to_sym
      end

      def ==(other)
        to_s == other
      end

      def eql?(other)
        to_s == other
      end

      def hash
        to_s.hash
      end

      private

      def snake_case
        without_prefix.gsub('-', '_')
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-terraform-0.65.0.pre.11 lib/ruby_terraform/options/name.rb
ruby-terraform-0.65.0.pre.10 lib/ruby_terraform/options/name.rb
ruby-terraform-0.65.0.pre.9 lib/ruby_terraform/options/name.rb