class Mutiny::Subjects::SubjectSet
Attributes
subjects[R]
Public Class Methods
new(subjects)
click to toggle source
# File lib/mutiny/subjects/subject_set.rb, line 9 def initialize(subjects) @subjects = subjects end
Public Instance Methods
[](index)
click to toggle source
# File lib/mutiny/subjects/subject_set.rb, line 17 def [](index) subjects.detect { |s| s.name == index } end
eql?(other)
click to toggle source
# File lib/mutiny/subjects/subject_set.rb, line 28 def eql?(other) is_a?(other.class) && other.subjects == subjects end
Also aliased as: ==
names()
click to toggle source
# File lib/mutiny/subjects/subject_set.rb, line 13 def names @names ||= map(&:name).sort end
per_file()
click to toggle source
Returns a new SubjectSet
which contains only one subject per source file For source files that contain more than one subject (i.e., Ruby module), the subjects are ordered by name alphabetically and only the first is used
# File lib/mutiny/subjects/subject_set.rb, line 24 def per_file self.class.new(group_by(&:path).values.map { |subjects| subjects.sort_by(&:name).first }) end