Class: Kennel::Filter
- Inherits:
-
Object
- Object
- Kennel::Filter
- Defined in:
- lib/kennel/filter.rb
Constant Summary collapse
- ID_SEPARATOR =
":"
Instance Attribute Summary collapse
-
#project_filter ⇒ Object
readonly
Returns the value of attribute project_filter.
Instance Method Summary collapse
- #filter_parts(parts) ⇒ Object
- #filter_projects(projects) ⇒ Object
- #filtering? ⇒ Boolean
- #filters_project_id?(project_id) ⇒ Boolean
- #filters_tracking_id?(tracking_id) ⇒ Boolean
-
#initialize ⇒ Filter
constructor
A new instance of Filter.
Constructor Details
#initialize ⇒ Filter
Returns a new instance of Filter.
8 9 10 11 12 |
# File 'lib/kennel/filter.rb', line 8 def initialize # read early so we fail fast on invalid user input @tracking_id_filter = read_tracking_id_filter_from_env @project_filter = read_project_filter_from_env end |
Instance Attribute Details
#project_filter ⇒ Object (readonly)
Returns the value of attribute project_filter.
6 7 8 |
# File 'lib/kennel/filter.rb', line 6 def project_filter @project_filter end |
Instance Method Details
#filter_parts(parts) ⇒ Object
18 19 20 |
# File 'lib/kennel/filter.rb', line 18 def filter_parts(parts) filter_resources(parts, :tracking_id, tracking_id_filter, "resources", "TRACKING_ID") end |
#filter_projects(projects) ⇒ Object
14 15 16 |
# File 'lib/kennel/filter.rb', line 14 def filter_projects(projects) filter_resources(projects, :kennel_id, project_filter, "projects", "PROJECT") end |
#filtering? ⇒ Boolean
22 23 24 |
# File 'lib/kennel/filter.rb', line 22 def filtering? !project_filter.nil? end |
#filters_project_id?(project_id) ⇒ Boolean
26 27 28 |
# File 'lib/kennel/filter.rb', line 26 def filters_project_id?(project_id) !filtering? || project_filter.include?(project_id) end |
#filters_tracking_id?(tracking_id) ⇒ Boolean
30 31 32 33 34 35 36 |
# File 'lib/kennel/filter.rb', line 30 def filters_tracking_id?(tracking_id) return true unless filtering? return tracking_id_filter.include?(tracking_id) if tracking_id_filter project_id = tracking_id.split(ID_SEPARATOR, 2).first project_filter.include?(project_id) end |