Module: Microstation::ScanTrait
- Included in:
- Drawing, ModelTrait
- Defined in:
- lib/microstation/scan_trait.rb,
lib/microstation/scan/scan_trait.rb
Instance Method Summary collapse
- #cells_criteria ⇒ Object
- #create_scanner(&block) ⇒ Object
- #graphics_criteria ⇒ Object
- #lines_criteria ⇒ Object
- #scan(criteria, &block) ⇒ Object
- #scan_cell_with_name(name, &block) ⇒ Object
- #scan_cells(&block) ⇒ Object
- #scan_graphical(&block) ⇒ Object
- #scan_lines(&block) ⇒ Object
- #scan_tags(&block) ⇒ Object
- #scan_text(&block) ⇒ Object
- #tags_criteria ⇒ Object
- #text_criteria ⇒ Object
Instance Method Details
#cells_criteria ⇒ Object
20 21 22 |
# File 'lib/microstation/scan_trait.rb', line 20 def cells_criteria app.scanners[:cells] || app.create_scanner(:cells) { include_cells } end |
#create_scanner(&block) ⇒ Object
4 5 6 |
# File 'lib/microstation/scan_trait.rb', line 4 def create_scanner(name, &block) app.create_scanner(name, &block) end |
#graphics_criteria ⇒ Object
12 13 14 |
# File 'lib/microstation/scan_trait.rb', line 12 def graphics_criteria app.scanners[:graphical] || app.create_scanner(:graphical) { ExcludeNonGraphical } end |
#lines_criteria ⇒ Object
24 25 26 |
# File 'lib/microstation/scan_trait.rb', line 24 def lines_criteria app.scanners[:lines] || app.create_scanner(:lines) { include_lines } end |
#scan(criteria, &block) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/microstation/scan/scan_trait.rb', line 20 def scan(criteria, &block) scan_result = ole_run_scan(criteria) return [] unless scan_result scan_enum = Microstation::Enumerator.new(scan_result) result = [] if block scan_enum.each(&block) else scan_enum.each do |item| result << item end end return result unless block end |
#scan_cell_with_name(name, &block) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/microstation/scan_trait.rb', line 48 def scan_cell_with_name(name, &block) sc = create_scanner sc.IncludeOnlyCell(name) sc.include_cell scan_model(sc, &block) end |
#scan_cells(&block) ⇒ Object
40 41 42 |
# File 'lib/microstation/scan_trait.rb', line 40 def scan_cells(&block) scan_model(cells_criteria, &block) end |
#scan_graphical(&block) ⇒ Object
28 29 30 |
# File 'lib/microstation/scan_trait.rb', line 28 def scan_graphical(&block) scan_model(graphic_criteria, &block) end |
#scan_lines(&block) ⇒ Object
44 45 46 |
# File 'lib/microstation/scan_trait.rb', line 44 def scan_lines(&block) scan_model(lines_criteria, &block) end |
#scan_tags(&block) ⇒ Object
36 37 38 |
# File 'lib/microstation/scan_trait.rb', line 36 def (&block) scan_model(, &block) end |
#scan_text(&block) ⇒ Object
32 33 34 |
# File 'lib/microstation/scan_trait.rb', line 32 def scan_text(&block) scan_model(text_criteria, &block) end |
#tags_criteria ⇒ Object
16 17 18 |
# File 'lib/microstation/scan_trait.rb', line 16 def app.scanners[:tags] || app.create_scanner(:tags) { } end |
#text_criteria ⇒ Object
8 9 10 |
# File 'lib/microstation/scan_trait.rb', line 8 def text_criteria app.scanners[:textual] || app.create_scanner(:textual) { include_textual } end |