Class: Stalkerr::Session
- Inherits:
-
Net::IRC::Server::Session
- Object
- Net::IRC::Server::Session
- Stalkerr::Session
- Defined in:
- lib/stalkerr/session.rb
Instance Method Summary collapse
-
#initialize(*args) ⇒ Session
constructor
A new instance of Session.
- #on_disconnected ⇒ Object
- #on_join(m) ⇒ Object
- #on_part(m) ⇒ Object
- #on_user(m) ⇒ Object
- #server_name ⇒ Object
- #server_version ⇒ Object
Constructor Details
#initialize(*args) ⇒ Session
Returns a new instance of Session.
20 21 22 23 24 25 26 27 28 |
# File 'lib/stalkerr/session.rb', line 20 def initialize(*args) super @debug = args.last.debug @channels = @threads = @targets = {} Dir["#{File.dirname(__FILE__)}/target/*.rb"].each do |path| name = File.basename(path, '.rb') @channels.merge!(name.to_sym => "##{name}") end end |
Instance Method Details
#on_disconnected ⇒ Object
54 55 56 57 |
# File 'lib/stalkerr/session.rb', line 54 def on_disconnected super kill_all end |
#on_join(m) ⇒ Object
44 45 46 47 |
# File 'lib/stalkerr/session.rb', line 44 def on_join(m) super create_worker(m.params) end |
#on_part(m) ⇒ Object
49 50 51 52 |
# File 'lib/stalkerr/session.rb', line 49 def on_part(m) super kill @threads[m.params.first] end |
#on_user(m) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/stalkerr/session.rb', line 30 def on_user(m) super @real, *@opts = @real.split(/\s+/) @opts = OpenStruct.new @opts.inject({}) { |r, i| key, value = i.split("=", 2) r.update key => case value when nil then true when /\A\d+\z/ then value.to_i when /\A(?:\d+\.\d*|\.\d+)\z/ then value.to_f else value end } end |
#server_name ⇒ Object
12 13 14 |
# File 'lib/stalkerr/session.rb', line 12 def server_name 'Stalkerr' end |