Class: Termtter::Event
- Inherits:
-
Object
show all
- Defined in:
- lib/termtter/event.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name, params = {}) ⇒ Event
Returns a new instance of Event.
7
8
9
10
11
12
|
# File 'lib/termtter/event.rb', line 7
def initialize(name, params = {})
raise TypeError unless name.kind_of? Symbol
raise TypeError unless params.kind_of? Hash
@name = name
@params = ActiveRubytter.new(params)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
17
18
19
20
21
|
# File 'lib/termtter/event.rb', line 17
def method_missing(name, *args)
@name.__send__(name, *args)
rescue NoMethodError
@params.__send__(name, *args)
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
14
15
16
|
# File 'lib/termtter/event.rb', line 14
def name
@name
end
|
Instance Method Details
#==(b) ⇒ Object
Also known as:
===
44
45
46
|
# File 'lib/termtter/event.rb', line 44
def ==(b)
self.eql?(b)
end
|
#[](name) ⇒ Object
23
24
25
|
# File 'lib/termtter/event.rb', line 23
def [](name)
@params.__send__(:[], name)
end
|
#eql?(b) ⇒ Boolean
48
49
50
51
52
53
54
|
# File 'lib/termtter/event.rb', line 48
def eql?(b)
if b.kind_of? Event
@name == b.name
else
@name == b
end
end
|
#has_key?(key) ⇒ Boolean
31
32
33
|
# File 'lib/termtter/event.rb', line 31
def has_key?(key)
@params.to_hash.has_key?(key)
end
|
#hash ⇒ Object
27
28
29
|
# File 'lib/termtter/event.rb', line 27
def hash
@name.hash
end
|
#set_param(key, value) ⇒ Object
Also known as:
[]=
35
36
37
38
39
40
|
# File 'lib/termtter/event.rb', line 35
def set_param(key, value)
data = @params.to_hash
data[key] = value
@params.attributes = data
value
end
|