Module: Ranking::SetMethods

Included in:
Ranking
Defined in:
lib/ranking/set_methods.rb

Instance Method Summary collapse

Instance Method Details

#&(enum) ⇒ Object

Raises:

  • (NotImplementedError)


2
3
4
# File 'lib/ranking/set_methods.rb', line 2

def &(enum)
  raise NotImplementedError
end

#-(enum) ⇒ Object

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/ranking/set_methods.rb', line 18

def ^(other)
  raise NotImplementedError
end

#clearObject



22
23
24
25
# File 'lib/ranking/set_methods.rb', line 22

def clear
  @scores = Hash.new(0)
  super
end

#collectObject

Raises:

  • (NotImplementedError)


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

Returns:

  • (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

Raises:

  • (NotImplementedError)


41
42
43
# File 'lib/ranking/set_methods.rb', line 41

def delete_if(&block)
  raise NotImplementedError
end

#divide(&block) ⇒ Object

Raises:

  • (NotImplementedError)


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

#flattenObject

Raises:

  • (NotImplementedError)


53
54
55
# File 'lib/ranking/set_methods.rb', line 53

def flatten
  raise NotImplementedError
end

#inspectObject



57
58
59
# File 'lib/ranking/set_methods.rb', line 57

def inspect
  "<Ranking: #{to_a.map(&:inspect).join(', ')}>"
end

#keep_if(&block) ⇒ Object

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


73
74
75
# File 'lib/ranking/set_methods.rb', line 73

def reject!(&block)
  raise NotImplementedError
end

#replace(enum) ⇒ Object

Raises:

  • (NotImplementedError)


77
78
79
# File 'lib/ranking/set_methods.rb', line 77

def replace(enum)
  raise NotImplementedError
end

#select!(&block) ⇒ Object

Raises:

  • (NotImplementedError)


81
82
83
# File 'lib/ranking/set_methods.rb', line 81

def select!(&block)
  raise NotImplementedError
end

#to_aObject



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