Module: Avro::Builder::DslOptions::ClassMethods
- Defined in:
- lib/avro/builder/dsl_options.rb
Instance Method Summary collapse
- #add_option_name(name) ⇒ Object
-
#dsl_option(name, dsl_name:) ⇒ Object
Defines a private writer with #dsl_name= to set an attribute stored in the instance variable @#name.
- #dsl_option_names ⇒ Object
Instance Method Details
#add_option_name(name) ⇒ Object
46 47 48 |
# File 'lib/avro/builder/dsl_options.rb', line 46 def add_option_name(name) dsl_option_names << name end |
#dsl_option(name, dsl_name:) ⇒ Object
Defines a private writer with #dsl_name= to set an attribute stored in the instance variable @#name.
27 28 29 30 31 32 33 34 35 |
# 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 ⇒ Object
37 38 39 40 41 42 43 44 |
# 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 |