Class: Microstation::Scan::Criteria
- Inherits:
-
Object
- Object
- Microstation::Scan::Criteria
- Defined in:
- lib/microstation/scan/criteria.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#ole_obj ⇒ Object
readonly
Returns the value of attribute ole_obj.
Class Method Summary collapse
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(app) ⇒ Criteria
constructor
A new instance of Criteria.
- #method_missing(method, *args) ⇒ Object
- #resolve ⇒ Object
Methods included from Range
#include_within_range, #range_from_points
Methods included from Subtype
#include_subtype, #reset_ole_subtypes, #reset_subtypes, #resolve_subtype_scans, #subtype_inclusions
Methods included from LineWeight
#include_lineweight, #lineweight_inclusions, #reset_lineweights, #reset_ole_lineweights, #resolve_lineweight_scans
Methods included from LineStyle
#include_linestyle, #linestyle_inclusions, #linestyles, #reset_linestyles, #reset_ole_linestyles, #resolve_linestyle_scans
Methods included from Color
#color_inclusions, #include_color, #reset_colors, #reset_ole_colors, #resolve_color_scans
Methods included from Level
#include_level, #level_inclusions, #reset_levels, #reset_ole_levels, #resolve_level_scans
Methods included from Type
#include_cell_header, #include_cells, #include_dimensions, #include_lines, #include_shared_cell, #include_solids, #include_tags, #include_text, #include_text_nodes, #include_textual, #include_type, #reset_ole_types, #reset_types, #resolve_type_scans, #type_inclusions
Methods included from Klass
#class_inclusions, #include_class, #reset_classes, #reset_ole_classes, #resolve_class_scans
Constructor Details
#initialize(app) ⇒ Criteria
Returns a new instance of Criteria.
47 48 49 50 51 |
# File 'lib/microstation/scan/criteria.rb', line 47 def initialize(app) @app = app @ole_obj = @app.create_ole_scan_criteria @app.load_constants unless defined? ::Microstation::MSD end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
68 69 70 |
# File 'lib/microstation/scan/criteria.rb', line 68 def method_missing(method, *args) @ole_obj.send(method, *args) end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
30 31 32 |
# File 'lib/microstation/scan/criteria.rb', line 30 def app @app end |
#ole_obj ⇒ Object (readonly)
Returns the value of attribute ole_obj.
30 31 32 |
# File 'lib/microstation/scan/criteria.rb', line 30 def ole_obj @ole_obj end |
Class Method Details
.create(name = nil, app) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/microstation/scan/criteria.rb', line 40 def self.create(name = nil, app) sc = new(app) name = "anon#{app.scanners.size + 1}" if name.nil? app.scanners[name] = sc sc end |
.create_scanner(name = nil, app, &block) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/microstation/scan/criteria.rb', line 32 def self.create_scanner(name = nil, app, &block) sc = create(name, app) return sc unless block (block.arity < 1) ? sc.instance_eval(&block) : block.call(sc) sc end |
Instance Method Details
#close ⇒ Object
63 64 65 66 |
# File 'lib/microstation/scan/criteria.rb', line 63 def close @app.scanners.delete(self) if @app @ole_obj = nil end |
#resolve ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/microstation/scan/criteria.rb', line 53 def resolve resolve_type_scans resolve_class_scans resolve_color_scans resolve_level_scans resolve_linestyle_scans resolve_lineweight_scans resolve_subtype_scans end |