eventmapper 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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