Class: CqlRuby::FilterReader
- Inherits:
-
Object
- Object
- CqlRuby::FilterReader
- Defined in:
- lib/cql_ruby/filter_reader.rb
Overview
Reads and provides filters.
Accepted filters and syntax:
Type:
type:(,[name])* example: type:def,send
Constant Summary collapse
- NESTING_ALLOWED_TYPES =
%w[class module def block].freeze
Instance Attribute Summary collapse
-
#allowed_types ⇒ Object
readonly
Returns the value of attribute allowed_types.
-
#has_leaves ⇒ Object
readonly
Returns the value of attribute has_leaves.
-
#nest_under ⇒ Object
readonly
Returns the value of attribute nest_under.
-
#patterns ⇒ Object
readonly
Returns the value of attribute patterns.
Instance Method Summary collapse
-
#initialize(raw_filters) ⇒ FilterReader
constructor
A new instance of FilterReader.
- #restrict_children? ⇒ Boolean
- #restrict_nesting? ⇒ Boolean
- #restrict_pattern? ⇒ Boolean
- #restrict_types? ⇒ Boolean
Constructor Details
#initialize(raw_filters) ⇒ FilterReader
Returns a new instance of FilterReader.
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/cql_ruby/filter_reader.rb', line 77 def initialize(raw_filters) super() @allowed_types = [] @nest_under = [] @has_leaves = [] @patterns = [] parse_raw_filters(raw_filters) end |
Instance Attribute Details
#allowed_types ⇒ Object (readonly)
Returns the value of attribute allowed_types.
69 70 71 |
# File 'lib/cql_ruby/filter_reader.rb', line 69 def allowed_types @allowed_types end |
#has_leaves ⇒ Object (readonly)
Returns the value of attribute has_leaves.
73 74 75 |
# File 'lib/cql_ruby/filter_reader.rb', line 73 def has_leaves @has_leaves end |
#nest_under ⇒ Object (readonly)
Returns the value of attribute nest_under.
71 72 73 |
# File 'lib/cql_ruby/filter_reader.rb', line 71 def nest_under @nest_under end |
#patterns ⇒ Object (readonly)
Returns the value of attribute patterns.
75 76 77 |
# File 'lib/cql_ruby/filter_reader.rb', line 75 def patterns @patterns end |
Instance Method Details
#restrict_children? ⇒ Boolean
96 97 98 |
# File 'lib/cql_ruby/filter_reader.rb', line 96 def restrict_children? !@has_leaves.empty? end |
#restrict_nesting? ⇒ Boolean
92 93 94 |
# File 'lib/cql_ruby/filter_reader.rb', line 92 def restrict_nesting? !@nest_under.empty? end |
#restrict_pattern? ⇒ Boolean
100 101 102 |
# File 'lib/cql_ruby/filter_reader.rb', line 100 def restrict_pattern? !@patterns.empty? end |
#restrict_types? ⇒ Boolean
88 89 90 |
# File 'lib/cql_ruby/filter_reader.rb', line 88 def restrict_types? !@allowed_types.empty? end |