• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MushroomObserver / mushroom-observer / 14145379140

29 Mar 2025 11:58AM UTC coverage: 84.27% (-9.7%) from 93.985%
14145379140

Pull #2808

github

nimmolo
Handle rss_log content filters with subqueries
Pull Request #2808: Convert Query to AR scopes

477 of 2306 new or added lines in 78 files covered. (20.69%)

1381 existing lines in 27 files now uncovered.

26562 of 31520 relevant lines covered (84.27%)

536.24 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/app/classes/query/scope_modules/lookup_objects.rb
1
# frozen_string_literal: true
2

3
# Helper methods to help parsing object instances from parameter strings.
NEW
4
module Query::ScopeModules::LookupObjects
×
NEW
5
  def lookup_external_sites_by_name(vals)
×
NEW
6
    lookup_objects_by_name(vals) do |name|
×
NEW
7
      ExternalSite.where(name: name)
×
NEW
8
    end
×
NEW
9
  end
×
10

NEW
11
  def lookup_herbaria_by_name(vals)
×
NEW
12
    lookup_objects_by_name(vals) do |name|
×
NEW
13
      Herbarium.where(name: name)
×
NEW
14
    end
×
NEW
15
  end
×
16

NEW
17
  def lookup_herbarium_records_by_name(vals)
×
NEW
18
    lookup_objects_by_name(vals) do |name|
×
NEW
19
      HerbariumRecord.where(id: name)
×
NEW
20
    end
×
NEW
21
  end
×
22

NEW
23
  def lookup_locations_by_name(vals)
×
NEW
24
    lookup_objects_by_name(vals) do |name|
×
NEW
25
      pattern = Location.clean_name(name).clean_pattern
×
NEW
26
      Location.where(Location[:name].matches(pattern))
×
NEW
27
    end
×
NEW
28
  end
×
29

NEW
30
  def lookup_projects_by_name(vals)
×
NEW
31
    lookup_objects_by_name(vals) do |name|
×
NEW
32
      Project.where(title: name)
×
NEW
33
    end
×
NEW
34
  end
×
35

NEW
36
  def lookup_lists_for_projects_by_name(vals)
×
NEW
37
    return unless vals
×
38

NEW
39
    project_ids = lookup_projects_by_name(vals)
×
NEW
40
    return [] if project_ids.empty?
×
41

NEW
42
    SpeciesList.joins(:project_species_lists).
×
NEW
43
      where(project_species_lists: { project_id: project_ids }).distinct.
×
NEW
44
      map(&:id)
×
NEW
45
  end
×
46

NEW
47
  def lookup_species_lists_by_name(vals)
×
NEW
48
    lookup_objects_by_name(vals) do |name|
×
NEW
49
      SpeciesList.where(title: name)
×
NEW
50
    end
×
NEW
51
  end
×
52

NEW
53
  def lookup_users_by_name(vals)
×
NEW
54
    lookup_objects_by_name(vals) do |name|
×
NEW
55
      User.where(login: User.remove_bracketed_name(name))
×
NEW
56
    end
×
NEW
57
  end
×
58

59
  # ------------------------------------------------------------------------
60

NEW
61
  private
×
62

NEW
63
  def lookup_objects_by_name(vals)
×
NEW
64
    return unless vals
×
65

NEW
66
    vals.map do |val|
×
NEW
67
      if /^\d+$/.match?(val.to_s)
×
NEW
68
        val
×
NEW
69
      else
×
NEW
70
        yield(val).map(&:id)
×
NEW
71
      end
×
NEW
72
    end.flatten.uniq.compact
×
NEW
73
  end
×
NEW
74
end
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc