Method: Microstation::ModelTrait#scan_model

Defined in:
lib/microstation/model_trait.rb

#scan_model(criteria = nil) { ... } ⇒ Object

Scan the model with

Parameters:

  • criteria (Scan::Criteria) (defaults to: nil)
    • the criteria to scan

Yields:

  • the item



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/microstation/model_trait.rb', line 156

def scan_model(criteria = nil)
  #    binding.pry

  criteria ||= create_scanner(:nullscanner)
  scan_result = ole_run_scan(criteria)
  return [] unless scan_result
  #   binding.pry

  scan_enum = ::Microstation::Enumerator.new(scan_result, app)
  result = []
  if block_given?
    scan_enum.each do |item|
      yield item
    end
  else
    scan_enum.each do |item|
      result << item
    end
  end

  return result unless block_given?
end