Class: Cinch::Ban
- Inherits:
-
Object
- Object
- Cinch::Ban
- Defined in:
- lib/cinch/ban.rb
Overview
This class represents channel bans.
Instance Attribute Summary collapse
-
#by ⇒ User?
readonly
The user who created the ban.
-
#created_at ⇒ Time
readonly
-
#extended ⇒ Boolean
readonly
Whether this is an extended ban (as used by for example Freenode).
-
#mask ⇒ Mask, String
readonly
Instance Method Summary collapse
-
#initialize(mask, by, at) ⇒ Ban
constructor
A new instance of Ban.
-
#match(user) ⇒ Boolean
(also: #=~)
True if the ban matches
user. -
#to_s ⇒ String
Constructor Details
#initialize(mask, by, at) ⇒ Ban
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/cinch/ban.rb', line 25 def initialize(mask, by, at) @by, @created_at = by, at if mask =~ /^[\$~]/ @extended = true @mask = mask else @extended = false @mask = Mask.from(mask) end end |
Instance Attribute Details
#by ⇒ User? (readonly)
The user who created the ban. Might be nil on networks that do not strictly follow the RFCs, for example IRCnet in some(?) cases.
14 15 16 |
# File 'lib/cinch/ban.rb', line 14 def by @by end |
#created_at ⇒ Time (readonly)
17 18 19 |
# File 'lib/cinch/ban.rb', line 17 def created_at @created_at end |
#extended ⇒ Boolean (readonly)
20 21 22 |
# File 'lib/cinch/ban.rb', line 20 def extended @extended end |
Instance Method Details
#match(user) ⇒ Boolean Also known as: =~
Returns true if the ban matches user.
39 40 41 42 |
# File 'lib/cinch/ban.rb', line 39 def match(user) raise UnsupportedFeature, "extended bans are not supported yet" if @extended @mask =~ user end |
#to_s ⇒ String
46 47 48 |
# File 'lib/cinch/ban.rb', line 46 def to_s @mask.to_s end |