eventmapper 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d8b52b560b245651ae474b2f392a25943976cb0b
4
- data.tar.gz: a47890521c18c9a2f6cce1245f07844cedd2962c
2
+ SHA256:
3
+ metadata.gz: e01d9d8c4ae987212cdbfebdbdd18721ffafb42907998debd12975453187030e
4
+ data.tar.gz: 90a16305dfb6157fbdd8a5c19a0ae3a5537b7aa1f34dd09336f3bca0bb7bb498
5
5
  SHA512:
6
- metadata.gz: f6954f486eb9516a907457f4b0c522e2e1c72fdc3329578016f8d260abbb5dc780f98100ef65512ddee29d065adafc85622c78be80b7d8baf67262f779c1b8a3
7
- data.tar.gz: a8e54785cd70fa6a6c53f72db5c4a327cd75aae5c6782b4d8e374803bd9e7425b7c5a22efc87ce928e87fb53b530565c764d59e6699371a01385a3346efae1c2
6
+ metadata.gz: 8294acb739884b289b68c10a45021d779b7dd7f846ab569b224efacf47cd9278023d2334d9a2a84191b96600493ef4604a62b19b4d0a44453e0ca69409075b8e
7
+ data.tar.gz: 7553b571d7afc4f0cf37cbc146fb0fe5df39db9e320e23723d797bbefffba6042bcaa012196e7da5c40ed28340525a470345122cfe7018ff3199c68cde9a081a
@@ -1,45 +1,37 @@
1
1
  require 'eventmapper/version'
2
+ require 'pry'
2
3
 
3
4
  module EventMapper
5
+ attr_accessor :event_blocks
4
6
 
5
- def set_event_blocking(bool)
6
- @event_blocks = bool
7
+ def events
8
+ @events ||= Hash.new { |h, k| h[k] = [] }
7
9
  end
8
10
 
9
- def event_blocks?
10
- if @event_blocks.nil?
11
- @event_blocks = true
12
- else
13
- @event_blocks
14
- end
11
+ def events_sync?
12
+ @events_sync ||= true
15
13
  end
16
14
 
15
+ def events_sync=(bool)
16
+ @events_sync = bool
17
+ end
18
+
17
19
  def on(event, &block)
18
- if @events.nil?
19
- @events = { event => [block] }
20
- elsif @events[event].nil?
21
- @events[event] = [block]
22
- else
23
- @events[event] << block
24
- end
20
+ events[event] << block
25
21
  end
26
22
 
27
23
  def fire(event, *args)
28
- if @event_blocks.nil?
29
- @event_blocks = true
30
- end
31
-
32
24
  if args.empty?
33
- @events[event].each do |proc|
34
- if @event_blocks
25
+ events[event].each do |proc|
26
+ if events_sync?
35
27
  proc.call
36
28
  else
37
29
  Thread.new { proc.call }
38
30
  end
39
31
  end
40
32
  else
41
- @events[event].each do |proc|
42
- if @event_blocks
33
+ events[event].each do |proc|
34
+ if events_sync?
43
35
  proc.call *args
44
36
  else
45
37
  Thread.new { proc.call *args }
@@ -1,3 +1,3 @@
1
1
  module EventMapper
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventmapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caleb Albritton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-23 00:00:00.000000000 Z
11
+ date: 2018-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.2.2
108
+ rubygems_version: 2.7.3
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: EventMapper is just a small event library