Sha256: ddfba619f0c327a7901d75bad9600b8c8921050e8917e9d9faf3949038e949a6

Contents?: true

Size: 632 Bytes

Versions: 1

Compression:

Stored size: 632 Bytes

Contents

module Clamp

  class Attribute

    attr_reader :description, :attribute_name, :default_value, :env_var

    def help_rhs
      rhs = description
      if defined?(@default_value)
        rhs += " (default: #{@default_value.inspect})"
      end
      if defined?(@env_var)
        rhs += " (env: #{@env_var.inspect})"
      end
      rhs
    end

    def help
      [help_lhs, help_rhs]
    end

    def ivar_name
      "@#{attribute_name}"
    end

    def read_method
      attribute_name
    end

    def default_method
      "default_#{read_method}"
    end

    def write_method
      "#{attribute_name}="
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jls-clamp-0.3.1 lib/clamp/attribute.rb