reader_method(name, class_name, mapping, allow_nil) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/aggregations.rb, line 147
        def reader_method(name, class_name, mapping, allow_nil)
          mapping = (Array === mapping.first ? mapping : [ mapping ])

          allow_nil_condition = if allow_nil
            mapping.collect { |pair| "!read_attribute(\"#{pair.first}\").nil?"}.join(" && ")
          else
            "true"
          end

          module_eval "def \#{name}(force_reload = false)\nif (@\#{name}.nil? || force_reload) && \#{allow_nil_condition}\n@\#{name} = \#{class_name}.new(\#{mapping.collect { |pair| \"read_attribute(\\\"\#{pair.first}\\\")\"}.join(\", \")})\nend\nreturn @\#{name}\nend\n"
        end
Register or log in to add new notes.