module Avro::Builder::DslOptions::ClassMethods

Public Instance Methods

add_option_name(name) click to toggle source
# File lib/avro/builder/dsl_options.rb, line 46
def add_option_name(name)
  dsl_option_names << name
end
dsl_option(name, dsl_name:) click to toggle source

Defines a private writer with #{dsl_name}= to set an attribute stored in the instance variable @#{name}.

# File lib/avro/builder/dsl_options.rb, line 27
def dsl_option(name, dsl_name:)
  add_option_name(name)
  add_attribute_name(dsl_name)
  aliased_writer = "#{dsl_name}="
  define_method(aliased_writer) do |value|
    instance_variable_set("@#{name}", value)
  end
  private(aliased_writer)
end
dsl_option_names() click to toggle source
# File lib/avro/builder/dsl_options.rb, line 37
def dsl_option_names
  @dsl_option_names ||=
    if superclass.respond_to?(:dsl_option_names)
      superclass.dsl_option_names.dup
    else
      Set.new
    end
end