Class: Parse::Event
- Inherits:
-
Object
show all
- Includes:
- Util
- Defined in:
- lib/parse/event.rb,
lib/parse/event/error.rb,
lib/parse/event/app_opened.rb
Defined Under Namespace
Classes: AppOpened, Error
Constant Summary
collapse
- @@event_class_vs_class_table =
{}
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Util
#string_keyed_hash
Constructor Details
#initialize(hash = {}) ⇒ Event
Returns a new instance of Event.
48
49
50
51
52
53
|
# File 'lib/parse/event.rb', line 48
def initialize hash={}
hash = string_keyed_hash hash
@at = hash.delete 'at'
@at = ParseDate.parse @at if @at.is_a?(String)
@dimensions = hash.dup
end
|
Class Attribute Details
.event_class_name ⇒ Object
Returns the value of attribute event_class_name.
14
15
16
|
# File 'lib/parse/event.rb', line 14
def event_class_name
@event_class_name
end
|
.parse_client ⇒ Object
Returns the value of attribute parse_client.
14
15
16
|
# File 'lib/parse/event.rb', line 14
def parse_client
@parse_client
end
|
Instance Attribute Details
Returns the value of attribute at.
46
47
48
|
# File 'lib/parse/event.rb', line 46
def at
@at
end
|
#dimensions ⇒ Object
Returns the value of attribute dimensions.
46
47
48
|
# File 'lib/parse/event.rb', line 46
def dimensions
@dimensions
end
|
Class Method Details
.create(event_class_name, mod = ::Object) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/parse/event.rb', line 20
def create event_class_name, mod=::Object
raise 'already defined' if mod.const_defined? event_class_name
if RESERVED_EVENT_CLASS.has_key? event_class_name.to_s
eval RESERVED_EVENT_CLASS[event_class_name.to_s]
else
klass = Class.new(Parse::Event)
klass.event_class_name = event_class_name.to_sym
mod.const_set event_class_name, klass
register_event_class klass
end
end
|
.fire(hash = {}) ⇒ Object
41
42
43
|
# File 'lib/parse/event.rb', line 41
def fire hash={}
self.new(hash).fire
end
|
.register_event_class(event_class) ⇒ Object
16
17
18
|
# File 'lib/parse/event.rb', line 16
def register_event_class event_class
@@event_class_vs_class_table[event_class.event_class_name] = event_class
end
|
Instance Method Details
#event_class_name ⇒ Object
65
66
67
|
# File 'lib/parse/event.rb', line 65
def event_class_name
self.class.event_class_name
end
|
55
56
57
58
59
|
# File 'lib/parse/event.rb', line 55
def fire
body = @dimensions
body['at'] = @at if @at
parse_client.call_api :post, "events/#{event_class_name}", body.to_json
end
|
#parse_client ⇒ Object
61
62
63
|
# File 'lib/parse/event.rb', line 61
def parse_client
self.class.parse_client
end
|