Class: CqlRuby::FilterReader

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_typesObject (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_leavesObject (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_underObject (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

#patternsObject (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

Returns:

  • (Boolean)


96
97
98
# File 'lib/cql_ruby/filter_reader.rb', line 96

def restrict_children?
  !@has_leaves.empty?
end

#restrict_nesting?Boolean

Returns:

  • (Boolean)


92
93
94
# File 'lib/cql_ruby/filter_reader.rb', line 92

def restrict_nesting?
  !@nest_under.empty?
end

#restrict_pattern?Boolean

Returns:

  • (Boolean)


100
101
102
# File 'lib/cql_ruby/filter_reader.rb', line 100

def restrict_pattern?
  !@patterns.empty?
end

#restrict_types?Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/cql_ruby/filter_reader.rb', line 88

def restrict_types?
  !@allowed_types.empty?
end