Module: Ranking::SetMethods
- Included in:
- Ranking
- Defined in:
- lib/ranking/set_methods.rb
Instance Method Summary collapse
- #&(enum) ⇒ Object
- #-(enum) ⇒ Object
- #==(other) ⇒ Object
- #^(other) ⇒ Object
- #clear ⇒ Object
- #collect ⇒ Object
- #delete(object) ⇒ Object
- #delete?(object) ⇒ Boolean
- #delete_if(&block) ⇒ Object
- #divide(&block) ⇒ Object
- #each(&block) ⇒ Object
- #flatten ⇒ Object
- #inspect ⇒ Object
- #keep_if(&block) ⇒ Object
- #merge(enum) ⇒ Object
- #reject!(&block) ⇒ Object
- #replace(enum) ⇒ Object
- #select!(&block) ⇒ Object
- #to_a ⇒ Object
- #|(enum) ⇒ Object
Instance Method Details
#&(enum) ⇒ Object
2 3 4 |
# File 'lib/ranking/set_methods.rb', line 2 def &(enum) raise NotImplementedError end |
#-(enum) ⇒ Object
10 11 12 |
# File 'lib/ranking/set_methods.rb', line 10 def -(enum) raise NotImplementedError end |
#==(other) ⇒ Object
14 15 16 |
# File 'lib/ranking/set_methods.rb', line 14 def ==(other) other.kind_of?(Ranking) and other.scores == scores and super(other) end |
#^(other) ⇒ Object
18 19 20 |
# File 'lib/ranking/set_methods.rb', line 18 def ^(other) raise NotImplementedError end |
#clear ⇒ Object
22 23 24 25 |
# File 'lib/ranking/set_methods.rb', line 22 def clear @scores = Hash.new(0) super end |
#collect ⇒ Object
27 28 29 |
# File 'lib/ranking/set_methods.rb', line 27 def collect raise NotImplementedError end |
#delete(object) ⇒ Object
31 32 33 34 |
# File 'lib/ranking/set_methods.rb', line 31 def delete(object) scores.delete(object) super object end |
#delete?(object) ⇒ Boolean
36 37 38 39 |
# File 'lib/ranking/set_methods.rb', line 36 def delete?(object) scores.delete(object) super object end |
#delete_if(&block) ⇒ Object
41 42 43 |
# File 'lib/ranking/set_methods.rb', line 41 def delete_if(&block) raise NotImplementedError end |
#divide(&block) ⇒ Object
45 46 47 |
# File 'lib/ranking/set_methods.rb', line 45 def divide(&block) raise NotImplementedError end |
#each(&block) ⇒ Object
49 50 51 |
# File 'lib/ranking/set_methods.rb', line 49 def each(&block) to_a.each(&block) end |
#flatten ⇒ Object
53 54 55 |
# File 'lib/ranking/set_methods.rb', line 53 def flatten raise NotImplementedError end |
#inspect ⇒ Object
57 58 59 |
# File 'lib/ranking/set_methods.rb', line 57 def inspect "<Ranking: #{to_a.map(&:inspect).join(', ')}>" end |
#keep_if(&block) ⇒ Object
61 62 63 |
# File 'lib/ranking/set_methods.rb', line 61 def keep_if(&block) raise NotImplementedError end |
#merge(enum) ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/ranking/set_methods.rb', line 65 def merge(enum) if enum.kind_of?(Ranking) scores.merge!(enum.scores) end super enum end |
#reject!(&block) ⇒ Object
73 74 75 |
# File 'lib/ranking/set_methods.rb', line 73 def reject!(&block) raise NotImplementedError end |
#replace(enum) ⇒ Object
77 78 79 |
# File 'lib/ranking/set_methods.rb', line 77 def replace(enum) raise NotImplementedError end |
#select!(&block) ⇒ Object
81 82 83 |
# File 'lib/ranking/set_methods.rb', line 81 def select!(&block) raise NotImplementedError end |
#to_a ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'lib/ranking/set_methods.rb', line 85 def to_a super.sort do |a,b| if scores[a] == scores[b] a <=> b else scores[b] <=> scores[a] end end end |
#|(enum) ⇒ Object
6 7 8 |
# File 'lib/ranking/set_methods.rb', line 6 def |(enum) dup.merge(enum) end |