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.
17 18 19 20 21 22 23 24 25 |
# File 'lib/stalkerr/session.rb', line 17 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
51 52 53 54 |
# File 'lib/stalkerr/session.rb', line 51 def on_disconnected super kill_all end |
#on_join(m) ⇒ Object
41 42 43 44 |
# File 'lib/stalkerr/session.rb', line 41 def on_join(m) super create_worker(m.params) end |
#on_part(m) ⇒ Object
46 47 48 49 |
# File 'lib/stalkerr/session.rb', line 46 def on_part(m) super kill @threads[m.params.first] end |
#on_user(m) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/stalkerr/session.rb', line 27 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
9 10 11 |
# File 'lib/stalkerr/session.rb', line 9 def server_name 'Stalkerr' end |