nodevent 3.1.2 → 3.1.3

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.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ .idea
data/.rvmrc ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
+ # development environment upon cd'ing into the directory
5
+
6
+ # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
7
+ # Only full ruby name is supported here, for short names use:
8
+ # echo "rvm use 1.9.3" > .rvmrc
9
+ environment_id="ruby-1.9.3-p194@nodevent-gem"
10
+
11
+ # Uncomment the following lines if you want to verify rvm version per project
12
+ # rvmrc_rvm_version="1.14.5 (stable)" # 1.10.1 seams as a safe start
13
+ # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
+ # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
+ # return 1
16
+ # }
17
+
18
+ # First we attempt to load the desired environment directly from the environment
19
+ # file. This is very fast and efficient compared to running through the entire
20
+ # CLI and selector. If you want feedback on which environment was used then
21
+ # insert the word 'use' after --create as this triggers verbose mode.
22
+ if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
23
+ && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
24
+ then
25
+ \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
26
+ [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
27
+ \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
28
+ if [[ $- == *i* ]] # check for interactive shells
29
+ then echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
30
+ else echo "Using: $GEM_HOME" # don't use colors in non-interactive shells
31
+ fi
32
+ else
33
+ # If the environment file has not yet been created, use the RVM CLI to select.
34
+ rvm --create use "$environment_id" || {
35
+ echo "Failed to create RVM environment '${environment_id}'."
36
+ return 1
37
+ }
38
+ fi
data/Gemfile CHANGED
@@ -4,3 +4,5 @@ source 'https://rubygems.org'
4
4
  #gemspec
5
5
  gem 'rspec'
6
6
  gem 'rails'
7
+ gem 'redis'
8
+ gem 'httparty'
data/Gemfile.lock ADDED
@@ -0,0 +1,102 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ actionmailer (3.2.6)
5
+ actionpack (= 3.2.6)
6
+ mail (~> 2.4.4)
7
+ actionpack (3.2.6)
8
+ activemodel (= 3.2.6)
9
+ activesupport (= 3.2.6)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ journey (~> 1.0.1)
13
+ rack (~> 1.4.0)
14
+ rack-cache (~> 1.2)
15
+ rack-test (~> 0.6.1)
16
+ sprockets (~> 2.1.3)
17
+ activemodel (3.2.6)
18
+ activesupport (= 3.2.6)
19
+ builder (~> 3.0.0)
20
+ activerecord (3.2.6)
21
+ activemodel (= 3.2.6)
22
+ activesupport (= 3.2.6)
23
+ arel (~> 3.0.2)
24
+ tzinfo (~> 0.3.29)
25
+ activeresource (3.2.6)
26
+ activemodel (= 3.2.6)
27
+ activesupport (= 3.2.6)
28
+ activesupport (3.2.6)
29
+ i18n (~> 0.6)
30
+ multi_json (~> 1.0)
31
+ arel (3.0.2)
32
+ builder (3.0.0)
33
+ diff-lcs (1.1.3)
34
+ erubis (2.7.0)
35
+ hike (1.2.1)
36
+ httparty (0.9.0)
37
+ multi_json (~> 1.0)
38
+ multi_xml
39
+ i18n (0.6.0)
40
+ journey (1.0.4)
41
+ json (1.7.5)
42
+ mail (2.4.4)
43
+ i18n (>= 0.4.0)
44
+ mime-types (~> 1.16)
45
+ treetop (~> 1.4.8)
46
+ mime-types (1.19)
47
+ multi_json (1.0.4)
48
+ multi_xml (0.5.1)
49
+ polyglot (0.3.3)
50
+ rack (1.4.1)
51
+ rack-cache (1.2)
52
+ rack (>= 0.4)
53
+ rack-ssl (1.3.2)
54
+ rack
55
+ rack-test (0.6.1)
56
+ rack (>= 1.0)
57
+ rails (3.2.6)
58
+ actionmailer (= 3.2.6)
59
+ actionpack (= 3.2.6)
60
+ activerecord (= 3.2.6)
61
+ activeresource (= 3.2.6)
62
+ activesupport (= 3.2.6)
63
+ bundler (~> 1.0)
64
+ railties (= 3.2.6)
65
+ railties (3.2.6)
66
+ actionpack (= 3.2.6)
67
+ activesupport (= 3.2.6)
68
+ rack-ssl (~> 1.3.2)
69
+ rake (>= 0.8.7)
70
+ rdoc (~> 3.4)
71
+ thor (>= 0.14.6, < 2.0)
72
+ rake (0.9.2.2)
73
+ rdoc (3.12)
74
+ json (~> 1.4)
75
+ redis (3.0.1)
76
+ rspec (2.11.0)
77
+ rspec-core (~> 2.11.0)
78
+ rspec-expectations (~> 2.11.0)
79
+ rspec-mocks (~> 2.11.0)
80
+ rspec-core (2.11.1)
81
+ rspec-expectations (2.11.2)
82
+ diff-lcs (~> 1.1.3)
83
+ rspec-mocks (2.11.1)
84
+ sprockets (2.1.3)
85
+ hike (~> 1.2)
86
+ rack (~> 1.0)
87
+ tilt (~> 1.1, != 1.3.0)
88
+ thor (0.15.4)
89
+ tilt (1.3.3)
90
+ treetop (1.4.10)
91
+ polyglot
92
+ polyglot (>= 0.3.1)
93
+ tzinfo (0.3.33)
94
+
95
+ PLATFORMS
96
+ ruby
97
+
98
+ DEPENDENCIES
99
+ httparty
100
+ rails
101
+ redis
102
+ rspec
@@ -0,0 +1,56 @@
1
+
2
+ module NoDevent
3
+ class NetPublisher
4
+ include HTTParty
5
+
6
+ # HTTParty settings
7
+ headers 'ContentType' => 'application/json' ,'Accept' => 'application/json'
8
+
9
+ format :json
10
+ default_timeout 5
11
+
12
+ HOSTNAME="nodevent.com"
13
+
14
+ attr_accessor :namespace
15
+ attr_accessor :secret
16
+ attr_accessor :api_key
17
+
18
+ def initialize(opts)
19
+ self.api_key = opts["spigot.io"]["api_key"]
20
+ self.namespace = opts["namespace"]
21
+ self.secret = opts["secret"]
22
+
23
+ unless self.namespace
24
+ resp = JSON.parse generate_namespace.body
25
+ self.namespace = "/" + resp["id"]
26
+ self.secret = resp["secret"]
27
+ end
28
+ end
29
+
30
+ def publish(where, message)
31
+ req = {
32
+ :body => {
33
+ :api_key => api_key,
34
+ :event => message[:event],
35
+ :room => message[:room],
36
+ :message => message[:message]
37
+ }
38
+ }
39
+ self.class.post("http://#{HOSTNAME}/namespaces#{where}/emit",req)
40
+
41
+ end
42
+
43
+ def generate_namespace
44
+ require "socket"
45
+ hostname = Socket.gethostname
46
+ suffix = " (#{Rails.env})" if defined?(Rails)
47
+ req = {
48
+ :body => {
49
+ :api_key => api_key,
50
+ :namespace => {"name" => "#{hostname}#{suffix}"}
51
+ }
52
+ }
53
+ self.class.post("http://#{HOSTNAME}/namespaces",req)
54
+ end
55
+ end
56
+ end
@@ -1,3 +1,3 @@
1
1
  module Nodevent
2
- VERSION = "3.1.2"
2
+ VERSION = "3.1.3"
3
3
  end
data/lib/nodevent.rb CHANGED
@@ -1,7 +1,10 @@
1
1
  require 'digest/sha2'
2
2
  require 'json'
3
+ require 'redis'
4
+ require 'nodevent/net_publisher'
3
5
 
4
6
  module NoDevent
7
+
5
8
  def self.included(base)
6
9
  raise "No longer supported, Please include NoDevent::Base instead"
7
10
  end
@@ -58,10 +61,22 @@ module NoDevent
58
61
  ActionView::Base.send :include, Helper if defined?(ActionView::Base)
59
62
 
60
63
  module Emitter
61
- @@config = nil
62
64
  class << self
63
65
  def config= obj
66
+ @@config = nil
67
+ @@publisher = nil
64
68
  @@config = config.merge(obj)
69
+ if @@config.keys.include?("redis")
70
+ r_config = @@config["redis"]
71
+
72
+ @@publisher = Redis.new(:host => r_config["host"], :port => r_config["port"], :db => r_config["db"])
73
+ end
74
+
75
+ if @@config.keys.include?("api_key")
76
+ @@publisher = NoDevent::NetPublisher.new(config)
77
+ config["namespace"] = @@publisher.namespace
78
+ config["secret"] = @@publisher.secret
79
+ end
65
80
  end
66
81
 
67
82
  def config
@@ -72,10 +87,13 @@ module NoDevent
72
87
  @@config
73
88
  end
74
89
 
90
+ def publisher
91
+ @@publisher || $redis
92
+ end
93
+
75
94
  def emit(room, name, message)
76
95
  room = NoDevent::Emitter.room(room)
77
-
78
- $redis.publish(@@config["namespace"],
96
+ publisher.publish(config["namespace"],
79
97
  { :room => room,
80
98
  :event => name,
81
99
  :message => message}.to_json)
@@ -91,7 +109,7 @@ module NoDevent
91
109
  def room_key(obj, expires)
92
110
  r = room(obj)
93
111
  ts = (expires.to_f*1000).to_i
94
- hash = (Digest::SHA2.new << obj.to_s << ts.to_s<< @@config["secret"]).to_s
112
+ hash = (Digest::SHA2.new << r << ts.to_s<< config["secret"]).to_s
95
113
  "#{hash}:#{ts}"
96
114
  end
97
115
  end
data/nodevent.gemspec CHANGED
@@ -16,4 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Nodevent::VERSION
17
17
 
18
18
  gem.add_dependency('redis', '>= 2.0.0')
19
+ gem.add_dependency('httparty', '>= 0.9.0')
19
20
  end
data/spec/base_spec.rb CHANGED
@@ -17,149 +17,202 @@ class ModelMock < ActiveRecord::Base
17
17
  end
18
18
  end
19
19
 
20
- NoDevent::Emitter.config = {
21
- "host" => "http://thehost",
22
- "namespace" => "/nodevent",
23
- "secret" => "asdf"
24
- }
25
-
26
20
  describe NoDevent do
27
- describe "the class" do
28
-
29
- it { ModelMock.room.should == "ModelMock" }
30
-
31
- it "should emit to the right room" do
32
- $redis.should_receive(:publish).with("/nodevent",
33
- {
34
- :room => "ModelMock",
35
- :event => 'theevent',
36
- :message => 'themessage'}.to_json)
37
-
38
- ModelMock.emit('theevent', 'themessage')
21
+ describe "#publisher" do
22
+ subject {NoDevent::Emitter.publisher }
23
+ describe "with a redis publisher" do
24
+ before do
25
+ NoDevent::Emitter.config = {
26
+ "host" => "http://thehost",
27
+ "namespace" => "/nodevent",
28
+ "secret" => "asdf",
29
+ "redis" => {"host" => "localhost", "port" => 6379, "db" => 1}
30
+ }
31
+ end
32
+ it { should be_an_instance_of(Redis)}
33
+ it { should_not == $redis}
39
34
  end
40
-
41
- it "should create a key from the right room" do
42
- t = Time.now
43
- ts = (t.to_f*1000).to_i
44
- ModelMock.room_key(t).should ==
45
- (Digest::SHA2.new << "ModelMock" << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
35
+
36
+ describe "without a publisher" do
37
+ before do
38
+ NoDevent::Emitter.config = {
39
+ "host" => "http://thehost",
40
+ "namespace" => "/nodevent",
41
+ "secret" => "asdf"
42
+ }
43
+ end
44
+ it { should be_an_instance_of($redis.class)}
45
+ it { should == $redis}
46
+
46
47
  end
47
-
48
- describe "with a custom room name" do
49
- before do
50
- ModelMock.stub(:room => "otherRoom")
48
+
49
+ describe "with an api_key" do
50
+ before do
51
+ NoDevent::Emitter.config = {
52
+ "host" => "http://thehost",
53
+ "namespace" => "/nodevent",
54
+ "secret" => "asdf",
55
+ "api_key"=> "bar",
56
+ }
57
+ end
58
+ it { should be_an_instance_of(NoDevent::NetPublisher)}
59
+ it { should_not == $redis}
60
+ end
61
+ end
62
+ describe ".config=" do
63
+ describe "the class" do
64
+ before do
65
+ NoDevent::Emitter.config = {
66
+ "host" => "http://thehost",
67
+ "namespace" => "/nodevent",
68
+ "secret" => "asdf",
69
+ "redis" => {:host => "localhost", :port => 6379, :db => 1}
70
+ }
51
71
  end
52
-
53
- it { ModelMock.room.should == "otherRoom" }
54
-
72
+
73
+ it { ModelMock.room.should == "ModelMock" }
74
+
55
75
  it "should emit to the right room" do
56
- $redis.should_receive(:publish).with("/nodevent",
76
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
57
77
  {
58
- :room => "otherRoom",
59
- :event => 'theevent',
78
+ :room => "ModelMock",
79
+ :event => 'theevent',
60
80
  :message => 'themessage'}.to_json)
61
-
81
+
62
82
  ModelMock.emit('theevent', 'themessage')
63
83
  end
64
-
84
+
65
85
  it "should create a key from the right room" do
66
86
  t = Time.now
67
87
  ts = (t.to_f*1000).to_i
68
- ModelMock.room_key(t).should ==
69
- (Digest::SHA2.new << ModelMock.room << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
70
- end
71
- end
72
- end
73
-
74
- describe "an instance of the class" do
75
- let(:instance) {ModelMock.new( 'theparam') }
76
-
77
- it { instance.room.should == "ModelMock_theparam" }
78
- it "should emit to the right room" do
79
- $redis.should_receive(:publish).with("/nodevent",
80
- {
81
- :room => "ModelMock_theparam",
82
- :event => 'theevent',
83
- :message => 'themessage'}.to_json)
84
-
85
- instance.emit('theevent', 'themessage')
86
- end
87
-
88
- describe "#nodevent_create" do
89
- it "should emit to the right room" do
90
- $redis.should_receive(:publish).with("/nodevent",
91
- {
92
- :room => "ModelMock",
93
- :event => 'create',
94
- :message => instance}.to_json)
95
- instance.nodevent_create
96
-
88
+ ModelMock.room_key(t).should ==
89
+ (Digest::SHA2.new << "ModelMock" << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
97
90
  end
98
- end
99
- describe "#nodevent_update" do
100
- it "should emit to the right room" do
101
- $redis.should_receive(:publish).with("/nodevent",
102
- {
103
- :room => "ModelMock_theparam",
104
- :event => 'update',
105
- :message => instance}.to_json)
106
- instance.nodevent_update
107
-
91
+
92
+ describe "with a custom room name" do
93
+ before do
94
+ ModelMock.stub(:room => "otherRoom")
95
+ end
96
+
97
+ it { ModelMock.room.should == "otherRoom" }
98
+
99
+ it "should emit to the right room" do
100
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
101
+ {
102
+ :room => "otherRoom",
103
+ :event => 'theevent',
104
+ :message => 'themessage'}.to_json)
105
+
106
+ ModelMock.emit('theevent', 'themessage')
107
+ end
108
+
109
+ it "should create a key from the right room" do
110
+ t = Time.now
111
+ ts = (t.to_f*1000).to_i
112
+ ModelMock.room_key(t).should ==
113
+ (Digest::SHA2.new << ModelMock.room << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
114
+ end
108
115
  end
109
116
  end
110
117
 
111
- it "should create a key from the right room" do
112
- t = Time.now
113
- ts = (t.to_f*1000).to_i
114
- instance.room_key(t).should ==
115
- (Digest::SHA2.new << instance.room << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
116
- end
117
-
118
- describe "with a custom room name" do
119
- before do
120
- instance.stub(:room => "otherRoom")
118
+ describe "an instance of the class" do
119
+ before do
120
+ NoDevent::Emitter.config = {
121
+ "host" => "http://thehost",
122
+ "namespace" => "/nodevent",
123
+ "secret" => "asdf",
124
+ "redis" => {:host => "localhost", :port => 6379, :db => 1}
125
+ }
121
126
  end
122
-
123
- it { instance.room.should == "otherRoom" }
124
-
127
+ let(:instance) {ModelMock.new( 'theparam') }
128
+
129
+ it { instance.room.should == "ModelMock_theparam" }
125
130
  it "should emit to the right room" do
126
- $redis.should_receive(:publish).with("/nodevent",
131
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
127
132
  {
128
- :room => "otherRoom",
129
- :event => 'theevent',
133
+ :room => "ModelMock_theparam",
134
+ :event => 'theevent',
130
135
  :message => 'themessage'}.to_json)
131
-
136
+
132
137
  instance.emit('theevent', 'themessage')
133
138
  end
134
-
135
- it "should create a key from the right room" do
136
- t = Time.now
137
- ts = (t.to_f*1000).to_i
138
- instance.room_key(t).should ==
139
- (Digest::SHA2.new << "otherRoom" << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
140
- end
139
+
141
140
  describe "#nodevent_create" do
142
141
  it "should emit to the right room" do
143
- $redis.should_receive(:publish).with("/nodevent",
144
- {
145
- :room => instance.class.room,
146
- :event => 'create',
147
- :message => instance}.to_json)
142
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
143
+ {
144
+ :room => "ModelMock",
145
+ :event => 'create',
146
+ :message => instance}.to_json)
148
147
  instance.nodevent_create
149
-
148
+
150
149
  end
151
150
  end
152
151
  describe "#nodevent_update" do
153
152
  it "should emit to the right room" do
154
- $redis.should_receive(:publish).with("/nodevent",
155
- {
156
- :room => instance.room,
157
- :event => 'update',
158
- :message => instance}.to_json)
153
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
154
+ {
155
+ :room => "ModelMock_theparam",
156
+ :event => 'update',
157
+ :message => instance}.to_json)
159
158
  instance.nodevent_update
160
-
159
+
160
+ end
161
+ end
162
+
163
+ it "should create a key from the right room" do
164
+ t = Time.now
165
+ ts = (t.to_f*1000).to_i
166
+ instance.room_key(t).should ==
167
+ (Digest::SHA2.new << instance.room << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
168
+ end
169
+
170
+ describe "with a custom room name" do
171
+ before do
172
+ instance.stub(:room => "otherRoom")
173
+ end
174
+
175
+ it { instance.room.should == "otherRoom" }
176
+
177
+ it "should emit to the right room" do
178
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
179
+ {
180
+ :room => "otherRoom",
181
+ :event => 'theevent',
182
+ :message => 'themessage'}.to_json)
183
+
184
+ instance.emit('theevent', 'themessage')
161
185
  end
162
- end
186
+
187
+ it "should create a key from the right room" do
188
+ t = Time.now
189
+ ts = (t.to_f*1000).to_i
190
+ instance.room_key(t).should ==
191
+ (Digest::SHA2.new << "otherRoom" << ts.to_s << NoDevent::Emitter.config["secret"]).to_s + ":" + ts.to_s
192
+ end
193
+ describe "#nodevent_create" do
194
+ it "should emit to the right room" do
195
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
196
+ {
197
+ :room => instance.class.room,
198
+ :event => 'create',
199
+ :message => instance}.to_json)
200
+ instance.nodevent_create
201
+
202
+ end
203
+ end
204
+ describe "#nodevent_update" do
205
+ it "should emit to the right room" do
206
+ NoDevent::Emitter.publisher.should_receive(:publish).with("/nodevent",
207
+ {
208
+ :room => instance.room,
209
+ :event => 'update',
210
+ :message => instance}.to_json)
211
+ instance.nodevent_update
212
+
213
+ end
214
+ end
215
+ end
163
216
  end
164
- end
165
- end
217
+ end
218
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe ::NoDevent::NetPublisher do
4
+ let(:net_publisher) {NoDevent::NetPublisher.new(params)}
5
+ subject { net_publisher }
6
+
7
+ pending "a running service" do
8
+ context "without a namespace" do
9
+ let(:params) do
10
+ {
11
+ "spigot.io" => {"api_key" => "f2343b5d54557ee368a37a5d77ccd0c6"}
12
+ }
13
+ end
14
+ it "does something" do
15
+ subject.namespace.should be_present
16
+ end
17
+ context "#publish" do
18
+ subject {net_publisher.publish(net_publisher.namespace, {:room => "the_room", :event => "the_event", :message => "the_message"})}
19
+ it {should be_success}
20
+ end
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nodevent
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-15 00:00:00.000000000 Z
12
+ date: 2012-10-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 2.0.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: httparty
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.9.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.9.0
30
46
  description: Write a gem description
31
47
  email:
32
48
  - cconstan@gmail.com
@@ -34,16 +50,21 @@ executables: []
34
50
  extensions: []
35
51
  extra_rdoc_files: []
36
52
  files:
53
+ - .gitignore
54
+ - .rvmrc
37
55
  - .travis.yml
38
56
  - Gemfile
57
+ - Gemfile.lock
39
58
  - LICENSE
40
59
  - README.md
41
60
  - Rakefile
42
61
  - lib/nodevent.rb
62
+ - lib/nodevent/net_publisher.rb
43
63
  - lib/nodevent/version.rb
44
64
  - nodevent.gemspec
45
65
  - spec/base_spec.rb
46
66
  - spec/emitter_spec.rb
67
+ - spec/net_publisher_spec.rb
47
68
  - spec/spec_helper.rb
48
69
  homepage: https://github.com/cconstantine/NoDevent-gem
49
70
  licenses: []
@@ -65,11 +86,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
86
  version: '0'
66
87
  requirements: []
67
88
  rubyforge_project:
68
- rubygems_version: 1.8.21
89
+ rubygems_version: 1.8.24
69
90
  signing_key:
70
91
  specification_version: 3
71
92
  summary: Write a gem summary
72
93
  test_files:
73
94
  - spec/base_spec.rb
74
95
  - spec/emitter_spec.rb
96
+ - spec/net_publisher_spec.rb
75
97
  - spec/spec_helper.rb