isimud 0.7.0 → 1.3.1
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 +4 -4
- data/.gitignore +1 -0
- data/.rspec +1 -2
- data/.ruby-version +1 -1
- data/.yardoc/checksums +10 -10
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +63 -73
- data/LICENSE.txt +19 -0
- data/README.md +51 -3
- data/Rakefile +5 -0
- data/doc/Isimud/BunnyClient.html +882 -179
- data/doc/Isimud/Client.html +236 -18
- data/doc/Isimud/Event.html +211 -95
- data/doc/Isimud/EventListener.html +325 -307
- data/doc/Isimud/EventObserver/ClassMethods.html +14 -14
- data/doc/Isimud/EventObserver.html +418 -36
- data/doc/Isimud/Generators/ConfigGenerator.html +2 -2
- data/doc/Isimud/Generators/InitializerGenerator.html +2 -2
- data/doc/Isimud/Generators.html +2 -2
- data/doc/Isimud/Logging.html +3 -3
- data/doc/Isimud/ModelWatcher/ClassMethods.html +3 -3
- data/doc/Isimud/ModelWatcher.html +2 -2
- data/doc/Isimud/Railtie.html +2 -2
- data/doc/Isimud/TestClient/Queue.html +374 -71
- data/doc/Isimud/TestClient.html +169 -161
- data/doc/Isimud.html +80 -76
- data/doc/_index.html +5 -2
- data/doc/file.LICENSE.html +73 -0
- data/doc/file.README.html +131 -7
- data/doc/file_list.html +3 -0
- data/doc/index.html +131 -7
- data/doc/method_list.html +183 -105
- data/doc/top-level-namespace.html +2 -2
- data/isimud.gemspec +18 -16
- data/lib/isimud/bunny_client.rb +85 -32
- data/lib/isimud/client.rb +23 -7
- data/lib/isimud/event.rb +11 -14
- data/lib/isimud/event_listener.rb +123 -65
- data/lib/isimud/event_observer.rb +70 -10
- data/lib/isimud/model_watcher.rb +1 -1
- data/lib/isimud/test_client.rb +54 -26
- data/lib/isimud/version.rb +1 -1
- data/lib/isimud.rb +1 -1
- data/spec/internal/app/models/company.rb +8 -10
- data/spec/internal/app/models/user.rb +11 -1
- data/spec/internal/db/schema.rb +5 -0
- data/spec/isimud/bunny_client_spec.rb +21 -9
- data/spec/isimud/client_spec.rb +40 -0
- data/spec/isimud/event_listener_spec.rb +50 -22
- data/spec/isimud/event_observer_spec.rb +107 -16
- data/spec/isimud/model_watcher_spec.rb +18 -23
- data/spec/isimud/test_client_spec.rb +43 -8
- data/spec/isimud_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- metadata +19 -35
- checksums.yaml.gz.sig +0 -0
- data/certs/gfeil.pem +0 -21
- data/release +0 -31
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -2
@@ -2,6 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Isimud::ModelWatcher do
|
4
4
|
let(:client) { Isimud.client }
|
5
|
+
let(:exchange) { Isimud.model_watcher_exchange }
|
5
6
|
|
6
7
|
describe '.watch_attributes' do
|
7
8
|
context 'default' do
|
@@ -35,7 +36,6 @@ describe Isimud::ModelWatcher do
|
|
35
36
|
|
36
37
|
|
37
38
|
messages = Array.new
|
38
|
-
exchange = Isimud::ModelWatcher::DEFAULT_EXCHANGE
|
39
39
|
routing_key = 'test_schema.User.create'
|
40
40
|
|
41
41
|
Isimud.client.bind('model_watcher_spec_create', exchange, routing_key) do |payload|
|
@@ -50,7 +50,6 @@ describe Isimud::ModelWatcher do
|
|
50
50
|
context 'with default attributes' do
|
51
51
|
it 'sends a create message with default attributes' do
|
52
52
|
messages = Array.new
|
53
|
-
exchange = Isimud::ModelWatcher::DEFAULT_EXCHANGE
|
54
53
|
routing_key = 'test_schema.Company.create'
|
55
54
|
|
56
55
|
Isimud.client.bind('model_watcher_spec_create_company', exchange, routing_key) do |payload|
|
@@ -59,7 +58,7 @@ describe Isimud::ModelWatcher do
|
|
59
58
|
company = Company.new(name: 'Google', url: 'http://google.com')
|
60
59
|
company.save!
|
61
60
|
message = JSON.parse(messages.first)
|
62
|
-
expect(message['attributes'].keys).to eql(%w(name description url user_count active created_at updated_at))
|
61
|
+
expect(message['attributes'].keys).to eql(%w(name description url user_count active exchange_routing_keys points_per_user total_points created_at updated_at))
|
63
62
|
end
|
64
63
|
|
65
64
|
end
|
@@ -71,7 +70,7 @@ describe Isimud::ModelWatcher do
|
|
71
70
|
last_name: 'Feil',
|
72
71
|
encrypted_password: "itsasecret",
|
73
72
|
email: 'george.feil@keas.com')
|
74
|
-
user.
|
73
|
+
expect(user).to receive(:isimud_synchronize?).and_return(false)
|
75
74
|
messages = Array.new
|
76
75
|
Isimud.client.bind('model_watcher_spec_create', Isimud::ModelWatcher::DEFAULT_EXCHANGE, '*') do |payload|
|
77
76
|
messages << payload
|
@@ -107,7 +106,7 @@ describe Isimud::ModelWatcher do
|
|
107
106
|
before(:all) do
|
108
107
|
@messages = Array.new
|
109
108
|
Isimud.client.bind('model_watcher_spec_update',
|
110
|
-
Isimud
|
109
|
+
Isimud.model_watcher_exchange,
|
111
110
|
'test_schema.User.update') do |payload|
|
112
111
|
@messages << payload
|
113
112
|
end
|
@@ -143,32 +142,28 @@ describe Isimud::ModelWatcher do
|
|
143
142
|
end
|
144
143
|
|
145
144
|
describe 'when destroying an instance' do
|
146
|
-
before(:
|
145
|
+
before(:each) do
|
147
146
|
@messages = Array.new
|
147
|
+
@user = User.create!(first_name: 'Geo',
|
148
|
+
last_name: 'Feil',
|
149
|
+
encrypted_password: "itsasecret",
|
150
|
+
email: 'george.feil@keas.com')
|
148
151
|
Isimud.client.bind('model_watcher_spec_destroy',
|
149
|
-
|
152
|
+
exchange,
|
150
153
|
'test_schema.User.destroy') do |payload|
|
151
154
|
@messages << payload
|
152
155
|
end
|
153
156
|
end
|
154
|
-
before(:each) do
|
155
|
-
@messages.clear
|
156
|
-
end
|
157
157
|
|
158
|
-
let!(:user) { User.create!(first_name: 'Geo',
|
159
|
-
last_name: 'Feil',
|
160
|
-
encrypted_password: "itsasecret",
|
161
|
-
email: 'george.feil@keas.com') }
|
162
158
|
it 'sends a destroy message' do
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
end
|
159
|
+
@user.destroy
|
160
|
+
expected_message = {schema: 'test_schema',
|
161
|
+
type: 'User',
|
162
|
+
action: :destroy,
|
163
|
+
id: @user.id,
|
164
|
+
timestamp: @user.updated_at.utc,
|
165
|
+
attributes: {:key => @user.key, :login_count => @user.login_count}}.to_json
|
166
|
+
expect(@messages).to include(expected_message)
|
172
167
|
end
|
173
168
|
end
|
174
169
|
|
@@ -1,28 +1,63 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Isimud::TestClient do
|
4
|
-
let(:client) { Isimud::TestClient.new
|
4
|
+
let(:client) { Isimud::TestClient.new }
|
5
5
|
let!(:connection) { client.connect }
|
6
|
+
let!(:keys) { %w(foo.bar baz.*.argle) }
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
@called = false
|
10
|
+
@proc = Proc.new { @called = true }
|
11
|
+
end
|
6
12
|
|
7
13
|
after(:each) do
|
8
14
|
client.close
|
9
15
|
end
|
10
16
|
|
11
17
|
describe '#initialize' do
|
12
|
-
it 'sets up
|
18
|
+
it 'sets up an empty set of queues' do
|
19
|
+
expect( client.queues ).to be_empty
|
20
|
+
end
|
13
21
|
end
|
14
22
|
|
15
|
-
describe '
|
16
|
-
|
17
|
-
|
23
|
+
describe 'queues and bindings' do
|
24
|
+
before do
|
25
|
+
client.bind('queue_name', 'exchange_name', *keys, &@proc)
|
26
|
+
end
|
27
|
+
let!(:queue) { client.find_queue('queue_name') }
|
18
28
|
|
19
|
-
it '
|
29
|
+
it 'binds routing keys to the queue' do
|
30
|
+
expect( queue.bindings ).to eql('exchange_name' => Set.new(keys))
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'removes a binding from the queue' do
|
34
|
+
queue.unbind('exchange_name', routing_key: 'foo.bar')
|
35
|
+
expect( queue.bindings ).to eql('exchange_name' => Set.new(['baz.*.argle']))
|
36
|
+
end
|
37
|
+
end
|
20
38
|
|
21
|
-
|
39
|
+
describe '#unbind' do
|
40
|
+
before do
|
41
|
+
client.bind('queue_name', 'exchange_name', *keys, &@proc)
|
42
|
+
end
|
22
43
|
end
|
23
44
|
|
24
45
|
describe '#publish' do
|
25
|
-
|
46
|
+
before do
|
47
|
+
@dont_call = false
|
48
|
+
@dont_call_proc = Proc.new { @dont_call = true }
|
49
|
+
client.bind('queue_name', 'exchange_name', *keys, &@proc)
|
50
|
+
client.bind('other_queue', 'exchange_name', 'no.match.*', &@dont_call_proc)
|
51
|
+
client.publish('exchange_name', 'baz.1.argle', {abc: 'do re me'})
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'calls proc for the matching queue' do
|
55
|
+
expect(@called).to be_truthy
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'does not call proc for non matching queue' do
|
59
|
+
expect(@dont_call).to be_falsey
|
60
|
+
end
|
26
61
|
end
|
27
62
|
|
28
63
|
end
|
data/spec/isimud_spec.rb
CHANGED
@@ -12,7 +12,7 @@ describe Isimud do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'creates a new TestClient client' do
|
15
|
-
Isimud.client.
|
15
|
+
expect( Isimud.client ).to be_a Isimud::TestClient
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -33,7 +33,7 @@ describe Isimud do
|
|
33
33
|
|
34
34
|
describe '.model_watcher_enabled?' do
|
35
35
|
it 'is true by default' do
|
36
|
-
Isimud.
|
36
|
+
expect(Isimud).to be_model_watcher_enabled
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'is true if enable_model_watcher is explicitly set' do
|
data/spec/spec_helper.rb
CHANGED
@@ -12,7 +12,9 @@ Isimud.client_type = :test
|
|
12
12
|
Isimud.logger = Logger.new(STDOUT)
|
13
13
|
Isimud.logger.level = Logger::DEBUG
|
14
14
|
Isimud.log_level = :debug
|
15
|
+
Isimud.listener_error_limit = 50
|
15
16
|
Isimud.enable_model_watcher = true
|
17
|
+
Isimud.model_watcher_exchange = 'isimud.test.events'
|
16
18
|
Isimud.model_watcher_schema = 'test_schema'
|
17
19
|
Isimud::EventObserver.observed_models = Array.new
|
18
20
|
Isimud::EventObserver.observed_mutex = Mutex.new
|
metadata
CHANGED
@@ -1,37 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isimud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- George Feil
|
8
8
|
- Brian Jenkins
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
-----BEGIN CERTIFICATE-----
|
14
|
-
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRQwEgYDVQQDDAtnZW9y
|
15
|
-
Z2UuZmVpbDEUMBIGCgmSJomT8ixkARkWBGtlYXMxEzARBgoJkiaJk/IsZAEZFgNj
|
16
|
-
b20wHhcNMTYwODA5MjEwNDU1WhcNMTcwODA5MjEwNDU1WjBBMRQwEgYDVQQDDAtn
|
17
|
-
ZW9yZ2UuZmVpbDEUMBIGCgmSJomT8ixkARkWBGtlYXMxEzARBgoJkiaJk/IsZAEZ
|
18
|
-
FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDFBKCoLQgCUv1
|
19
|
-
86ykJOCtnWhQ12Eymfnu5btV3DKMMLxjUDG18vy1Clhw04afp36Rc+oMvP1VxYeH
|
20
|
-
lRWdLtnWy2DAu2dxeFlWvacAegDcmQSw9vfyS7yD8zoLhJGeIflJ3eenTa+nRiQ2
|
21
|
-
DBPL1qRdfSrBNBXVlTYvs/PGE0SLJPtil8oRsifqk7ETPCUx5gRSxzzp0JykjrUd
|
22
|
-
cIu2u06Dv5GyDVwJu5/m4wLJSc2Bmore7rmOctBSNYtXTcMGVQOfskhncLNeE56V
|
23
|
-
R7byYxJ92HQt4svMjbK0hN+27asFpXaVU9ZeNQeEOOsgq8ecdypAWjwlOaH580K5
|
24
|
-
aH24zkstAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
25
|
-
BBSXpvM46ec2Ds6ErCpZkXFZtsEh7TAfBgNVHREEGDAWgRRnZW9yZ2UuZmVpbEBr
|
26
|
-
ZWFzLmNvbTAfBgNVHRIEGDAWgRRnZW9yZ2UuZmVpbEBrZWFzLmNvbTANBgkqhkiG
|
27
|
-
9w0BAQUFAAOCAQEAEXuMNAP35/nzBGj5aodPKIgH2Bvda9IF8OC4sDmQsRsUQzDw
|
28
|
-
wRi3rWoNzUU+QexdZqhLXSwGuPNgMgmPKaOu09LjpKKbem9VDicUEhNDL27CYMJZ
|
29
|
-
1oO1kEqjbZW60HZcfDNrw8Q6ARBRhKXpPJsbYrR2QRzx1P0oVkFtmc9Qu4gvFy3c
|
30
|
-
hIevyUPfcaBRWNfXCQnyFXZcHqcTywEgNyXTJZ6zUNZSHIQPzLOyzqa+muVO8Ob/
|
31
|
-
wSKk31gq6KY7rgi11mcLvVzwSuwZFqnonAmu/uin3cbXcOUkqNsyzZ0LQLXNKiwi
|
32
|
-
k0RgrsSNtQ8hcsVSQla0Ot+X3WpFI4ZuIfSLFA==
|
33
|
-
-----END CERTIFICATE-----
|
34
|
-
date: 2016-09-19 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-01-14 00:00:00.000000000 Z
|
35
13
|
dependencies:
|
36
14
|
- !ruby/object:Gem::Dependency
|
37
15
|
name: activerecord
|
@@ -39,28 +17,28 @@ dependencies:
|
|
39
17
|
requirements:
|
40
18
|
- - ">="
|
41
19
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
20
|
+
version: 4.1.4
|
43
21
|
type: :runtime
|
44
22
|
prerelease: false
|
45
23
|
version_requirements: !ruby/object:Gem::Requirement
|
46
24
|
requirements:
|
47
25
|
- - ">="
|
48
26
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
27
|
+
version: 4.1.4
|
50
28
|
- !ruby/object:Gem::Dependency
|
51
29
|
name: activesupport
|
52
30
|
requirement: !ruby/object:Gem::Requirement
|
53
31
|
requirements:
|
54
32
|
- - ">="
|
55
33
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
34
|
+
version: 4.1.4
|
57
35
|
type: :runtime
|
58
36
|
prerelease: false
|
59
37
|
version_requirements: !ruby/object:Gem::Requirement
|
60
38
|
requirements:
|
61
39
|
- - ">="
|
62
40
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
41
|
+
version: 4.1.4
|
64
42
|
- !ruby/object:Gem::Dependency
|
65
43
|
name: bunny
|
66
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,9 +68,13 @@ dependencies:
|
|
90
68
|
- !ruby/object:Gem::Version
|
91
69
|
version: 0.10.6
|
92
70
|
description: |
|
93
|
-
Isimud is an AMQP message publishing and consumption gem intended for Rails applications.
|
94
|
-
|
95
|
-
|
71
|
+
Isimud is an AMQP message publishing and consumption gem that is intended for managing asynchronous event queues in Rails applications. It consists of the following components:
|
72
|
+
|
73
|
+
* A [Bunny](http://rubybunny.info) based client interface for publishing and receiving messages using AMQP.
|
74
|
+
* A test client which mocks most client operations and allows for synchronous delivery and processing of messages for unit tests.
|
75
|
+
* A Model Watcher mixin for ActiveRecord that automatically sends messages whenever an ActiveRecord instance is created, modified, or destroyed.
|
76
|
+
* An Event Observer mixin for registering ActiveRecord models and instances with the EventListener for receiving messages.
|
77
|
+
* An Event Listener daemon process which manages queues and dispatches messages for Event Observers.
|
96
78
|
email:
|
97
79
|
- george.feil@keas.com
|
98
80
|
- bonkydog@bonkydog.com
|
@@ -109,9 +91,9 @@ files:
|
|
109
91
|
- ".yardoc/proxy_types"
|
110
92
|
- Gemfile
|
111
93
|
- Gemfile.lock
|
94
|
+
- LICENSE.txt
|
112
95
|
- README.md
|
113
96
|
- Rakefile
|
114
|
-
- certs/gfeil.pem
|
115
97
|
- config.ru
|
116
98
|
- config/tddium.yml
|
117
99
|
- doc/Isimud.html
|
@@ -135,6 +117,7 @@ files:
|
|
135
117
|
- doc/css/common.css
|
136
118
|
- doc/css/full_list.css
|
137
119
|
- doc/css/style.css
|
120
|
+
- doc/file.LICENSE.html
|
138
121
|
- doc/file.README.html
|
139
122
|
- doc/file_list.html
|
140
123
|
- doc/frames.html
|
@@ -161,7 +144,6 @@ files:
|
|
161
144
|
- lib/rails/generators/isimud/initializer_generator.rb
|
162
145
|
- lib/rails/generators/isimud/templates/initializer.rb
|
163
146
|
- lib/rails/generators/isimud/templates/isimud.yml
|
164
|
-
- release
|
165
147
|
- spec/internal/app/models/admin.rb
|
166
148
|
- spec/internal/app/models/company.rb
|
167
149
|
- spec/internal/app/models/user.rb
|
@@ -171,6 +153,7 @@ files:
|
|
171
153
|
- spec/internal/log/.gitignore
|
172
154
|
- spec/internal/public/favicon.ico
|
173
155
|
- spec/isimud/bunny_client_spec.rb
|
156
|
+
- spec/isimud/client_spec.rb
|
174
157
|
- spec/isimud/event_listener_spec.rb
|
175
158
|
- spec/isimud/event_observer_spec.rb
|
176
159
|
- spec/isimud/event_spec.rb
|
@@ -198,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
181
|
version: '0'
|
199
182
|
requirements: []
|
200
183
|
rubyforge_project:
|
201
|
-
rubygems_version: 2.5.1
|
184
|
+
rubygems_version: 2.4.5.1
|
202
185
|
signing_key:
|
203
186
|
specification_version: 4
|
204
187
|
summary: AMQP Messaging and Event Processing
|
@@ -212,6 +195,7 @@ test_files:
|
|
212
195
|
- spec/internal/log/.gitignore
|
213
196
|
- spec/internal/public/favicon.ico
|
214
197
|
- spec/isimud/bunny_client_spec.rb
|
198
|
+
- spec/isimud/client_spec.rb
|
215
199
|
- spec/isimud/event_listener_spec.rb
|
216
200
|
- spec/isimud/event_observer_spec.rb
|
217
201
|
- spec/isimud/event_spec.rb
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data/certs/gfeil.pem
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRQwEgYDVQQDDAtnZW9y
|
3
|
-
Z2UuZmVpbDEUMBIGCgmSJomT8ixkARkWBGtlYXMxEzARBgoJkiaJk/IsZAEZFgNj
|
4
|
-
b20wHhcNMTYwODA5MjEwNDU1WhcNMTcwODA5MjEwNDU1WjBBMRQwEgYDVQQDDAtn
|
5
|
-
ZW9yZ2UuZmVpbDEUMBIGCgmSJomT8ixkARkWBGtlYXMxEzARBgoJkiaJk/IsZAEZ
|
6
|
-
FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDFBKCoLQgCUv1
|
7
|
-
86ykJOCtnWhQ12Eymfnu5btV3DKMMLxjUDG18vy1Clhw04afp36Rc+oMvP1VxYeH
|
8
|
-
lRWdLtnWy2DAu2dxeFlWvacAegDcmQSw9vfyS7yD8zoLhJGeIflJ3eenTa+nRiQ2
|
9
|
-
DBPL1qRdfSrBNBXVlTYvs/PGE0SLJPtil8oRsifqk7ETPCUx5gRSxzzp0JykjrUd
|
10
|
-
cIu2u06Dv5GyDVwJu5/m4wLJSc2Bmore7rmOctBSNYtXTcMGVQOfskhncLNeE56V
|
11
|
-
R7byYxJ92HQt4svMjbK0hN+27asFpXaVU9ZeNQeEOOsgq8ecdypAWjwlOaH580K5
|
12
|
-
aH24zkstAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
13
|
-
BBSXpvM46ec2Ds6ErCpZkXFZtsEh7TAfBgNVHREEGDAWgRRnZW9yZ2UuZmVpbEBr
|
14
|
-
ZWFzLmNvbTAfBgNVHRIEGDAWgRRnZW9yZ2UuZmVpbEBrZWFzLmNvbTANBgkqhkiG
|
15
|
-
9w0BAQUFAAOCAQEAEXuMNAP35/nzBGj5aodPKIgH2Bvda9IF8OC4sDmQsRsUQzDw
|
16
|
-
wRi3rWoNzUU+QexdZqhLXSwGuPNgMgmPKaOu09LjpKKbem9VDicUEhNDL27CYMJZ
|
17
|
-
1oO1kEqjbZW60HZcfDNrw8Q6ARBRhKXpPJsbYrR2QRzx1P0oVkFtmc9Qu4gvFy3c
|
18
|
-
hIevyUPfcaBRWNfXCQnyFXZcHqcTywEgNyXTJZ6zUNZSHIQPzLOyzqa+muVO8Ob/
|
19
|
-
wSKk31gq6KY7rgi11mcLvVzwSuwZFqnonAmu/uin3cbXcOUkqNsyzZ0LQLXNKiwi
|
20
|
-
k0RgrsSNtQ8hcsVSQla0Ot+X3WpFI4ZuIfSLFA==
|
21
|
-
-----END CERTIFICATE-----
|
data/release
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'colored'
|
4
|
-
require 'digest/sha2'
|
5
|
-
require File.expand_path('lib/isimud/version.rb')
|
6
|
-
|
7
|
-
def run!(command)
|
8
|
-
puts "running #{command}".yellow
|
9
|
-
system(command) || abort("Command #{command} failed, terminating!")
|
10
|
-
end
|
11
|
-
|
12
|
-
gem_name = 'isimud'
|
13
|
-
gem_version = "#{gem_name}-#{Isimud::VERSION}.gem"
|
14
|
-
built_gem_path = "pkg/#{gem_version}"
|
15
|
-
puts "Building #{gem_name} version #{Isimud::VERSION}".cyan
|
16
|
-
run! "gem build #{gem_name}.gemspec"
|
17
|
-
run! "mv #{gem_version} #{built_gem_path}"
|
18
|
-
|
19
|
-
puts 'Adding and committing checksum'.cyan
|
20
|
-
checksum = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
|
21
|
-
checksum_path = "checksum/#{gem_name}-#{Isimud::VERSION}.gem.sha512"
|
22
|
-
File.open(checksum_path, 'w') { |f| f.write(checksum) }
|
23
|
-
run! "git add #{checksum_path}"
|
24
|
-
run! "git commit -m 'added checksum for #{gem_version}' && git push origin"
|
25
|
-
|
26
|
-
puts 'Publishing to RubyGems'.cyan
|
27
|
-
run! "gem push #{built_gem_path}"
|
28
|
-
|
29
|
-
puts 'Testing install'.cyan
|
30
|
-
run! "gem install #{gem_name} -v #{Isimud::VERSION} -P MediumSecurity"
|
31
|
-
Contact GitHub API Training Shop Blog About
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED