Sha256: c710599eaf5af2bacffbece762950f2943f1da791500f992651de965305ada69

Contents?: true

Size: 515 Bytes

Versions: 10

Compression:

Stored size: 515 Bytes

Contents

require "expressir/model"

module Expressir
  module Express
    # @abstract
    class ModelVisitor
      def visit(node)
        node.class.model_attrs.each do |variable|
          value = node.send(variable)

          if value.is_a? Array
            value.each do |value|
              if value.is_a? Model::ModelElement
                visit(value)
              end
            end
          elsif value.is_a? Model::ModelElement
            visit(value)
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
expressir-2.1.10 lib/expressir/express/model_visitor.rb
expressir-2.1.9 lib/expressir/express/model_visitor.rb
expressir-2.1.8 lib/expressir/express/model_visitor.rb
expressir-2.1.7 lib/expressir/express/model_visitor.rb
expressir-2.1.6 lib/expressir/express/model_visitor.rb
expressir-2.1.5 lib/expressir/express/model_visitor.rb
expressir-2.1.4 lib/expressir/express/model_visitor.rb
expressir-2.1.3 lib/expressir/express/model_visitor.rb
expressir-2.1.2 lib/expressir/express/model_visitor.rb
expressir-2.1.1 lib/expressir/express/model_visitor.rb