module ApiDef::Support::AttrArray

Public Class Methods

attr_array(*names) click to toggle source

Create method name with +@name+ for array storage

# File lib/api_def/support/attr_array.rb, line 8
      def self.attr_array(*names)
        names.flatten.each do |name|
          self.class_eval <<-EOF
          def #{name}
            @#{name} ||= []
          end
          EOF
        end
      end
included(mod) click to toggle source
# File lib/api_def/support/attr_array.rb, line 3
  def self.included(mod)

    mod.class_eval do

      # Create method +name+ with +@name+ for array storage
      def self.attr_array(*names)
        names.flatten.each do |name|
          self.class_eval <<-EOF
          def #{name}
            @#{name} ||= []
          end
          EOF
        end
      end

    end

  end