keikokuc 0.4 → 0.5
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/.travis.yml +9 -0
- data/README.md +1 -0
- data/keikokuc.gemspec +0 -2
- data/lib/keikokuc/client.rb +2 -2
- data/lib/keikokuc/notification.rb +1 -2
- data/lib/keikokuc/notification_list.rb +5 -3
- data/lib/keikokuc/version.rb +1 -1
- data/spec/keikoku/client_spec.rb +25 -22
- data/spec/keikoku/notification_list_spec.rb +23 -23
- data/spec/keikoku/notification_spec.rb +15 -13
- data/spec/spec_helper.rb +2 -3
- data/spec/support/factories.rb +19 -0
- data/spec/support/fake_keikoku.rb +3 -3
- metadata +12 -22
- data/spec/factories.rb +0 -19
data/.travis.yml
ADDED
data/README.md
CHANGED
data/keikokuc.gemspec
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
require File.expand_path('../lib/keikokuc/version', __FILE__)
|
|
3
|
-
require 'factory_girl'
|
|
4
3
|
|
|
5
4
|
Gem::Specification.new do |gem|
|
|
6
5
|
gem.authors = ["Harold Giménez"]
|
|
@@ -19,6 +18,5 @@ Gem::Specification.new do |gem|
|
|
|
19
18
|
gem.add_dependency 'rest-client'
|
|
20
19
|
gem.add_dependency 'yajl-ruby'
|
|
21
20
|
gem.add_development_dependency 'rspec'
|
|
22
|
-
gem.add_development_dependency 'factory_girl'
|
|
23
21
|
gem.add_development_dependency 'sham_rack'
|
|
24
22
|
end
|
data/lib/keikokuc/client.rb
CHANGED
|
@@ -107,8 +107,8 @@ class Keikokuc::Client
|
|
|
107
107
|
private
|
|
108
108
|
def notifications_api # :nodoc:
|
|
109
109
|
@notifications_api ||= RestClient::Resource.new(api_url,
|
|
110
|
-
user
|
|
111
|
-
password
|
|
110
|
+
:user => user,
|
|
111
|
+
:password => password)
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
def api_url # :nodoc:
|
|
@@ -37,7 +37,6 @@ class Keikokuc::Notification
|
|
|
37
37
|
send("#{attribute}=", opts[attribute.to_sym])
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
|
-
@read = false
|
|
41
40
|
@client = opts[:client]
|
|
42
41
|
end
|
|
43
42
|
|
|
@@ -90,6 +89,6 @@ class Keikokuc::Notification
|
|
|
90
89
|
end
|
|
91
90
|
|
|
92
91
|
def client # :nodoc:
|
|
93
|
-
@client ||= Keikokuc::Client.new(producer_api_key
|
|
92
|
+
@client ||= Keikokuc::Client.new(:producer_api_key => producer_api_key)
|
|
94
93
|
end
|
|
95
94
|
end
|
|
@@ -46,7 +46,8 @@ class Keikokuc::NotificationList
|
|
|
46
46
|
result, error = client.get_notifications
|
|
47
47
|
if error.nil?
|
|
48
48
|
@notifications = result.map do |attributes|
|
|
49
|
-
attributes.merge!(client
|
|
49
|
+
attributes.merge!(:client => client,
|
|
50
|
+
:remote_id => attributes.delete(:id))
|
|
50
51
|
Keikokuc::Notification.new(attributes)
|
|
51
52
|
end
|
|
52
53
|
end
|
|
@@ -87,13 +88,14 @@ class Keikokuc::NotificationList
|
|
|
87
88
|
|
|
88
89
|
# Internal: assigns notifications
|
|
89
90
|
#
|
|
90
|
-
#
|
|
91
|
+
# Allows notifications to be injected, useful in tests
|
|
91
92
|
def notifications=(new_notification)
|
|
92
93
|
@notifications = new_notification
|
|
93
94
|
end
|
|
94
95
|
|
|
95
96
|
private
|
|
96
97
|
def client # :nodoc:
|
|
97
|
-
@client ||= Client.new(user
|
|
98
|
+
@client ||= Client.new(:user => user,
|
|
99
|
+
:password => password)
|
|
98
100
|
end
|
|
99
101
|
end
|
data/lib/keikokuc/version.rb
CHANGED
data/spec/keikoku/client_spec.rb
CHANGED
|
@@ -11,17 +11,17 @@ module Keikokuc
|
|
|
11
11
|
|
|
12
12
|
it 'publishes a new notification' do
|
|
13
13
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
14
|
-
fake_keikoku.register_publisher({api_key
|
|
15
|
-
client = Client.new(producer_api_key
|
|
16
|
-
result, error = client.post_notification(message
|
|
17
|
-
severity
|
|
14
|
+
fake_keikoku.register_publisher({:api_key => 'abc'})
|
|
15
|
+
client = Client.new(:producer_api_key => 'abc')
|
|
16
|
+
result, error = client.post_notification(:message => 'hello',
|
|
17
|
+
:severity => 'info')
|
|
18
18
|
expect(result[:id]).not_to be_nil
|
|
19
19
|
expect(error).to be_nil
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
it 'handles invalid notifications' do
|
|
23
23
|
ShamRack.at('keikoku.herokuapp.com', 443) do |env|
|
|
24
|
-
[422, {}, StringIO.new(Yajl::Encoder.encode({ errors
|
|
24
|
+
[422, {}, StringIO.new(Yajl::Encoder.encode({ :errors => :srorre }))]
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
response, error = Client.new.post_notification({})
|
|
@@ -31,10 +31,10 @@ module Keikokuc
|
|
|
31
31
|
|
|
32
32
|
it 'handles authentication failures' do
|
|
33
33
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
34
|
-
fake_keikoku.register_publisher({api_key
|
|
35
|
-
client = Client.new(producer_api_key
|
|
36
|
-
result, error = client.post_notification(message
|
|
37
|
-
severity
|
|
34
|
+
fake_keikoku.register_publisher({:api_key => 'abc'})
|
|
35
|
+
client = Client.new(:producer_api_key => 'bad one')
|
|
36
|
+
result, error = client.post_notification(:message => 'hello',
|
|
37
|
+
:severity => 'info')
|
|
38
38
|
expect(result[:id]).to be_nil
|
|
39
39
|
expect(error).to eq Client::Unauthorized
|
|
40
40
|
end
|
|
@@ -52,12 +52,12 @@ module Keikokuc
|
|
|
52
52
|
|
|
53
53
|
it 'gets all notifications for a user' do
|
|
54
54
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
55
|
-
fake_keikoku.register_publisher(api_key
|
|
56
|
-
fake_keikoku.register_user(email
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
fake_keikoku.register_publisher(:api_key => 'abc')
|
|
56
|
+
fake_keikoku.register_user(:email => 'harold@heroku.com', :password => 'pass')
|
|
57
|
+
build_notification(:account_email => 'harold@heroku.com', :message => 'find me!', :producer_api_key => 'abc').publish
|
|
58
|
+
build_notification(:account_email => 'another@heroku.com', :producer_api_key => 'abc').publish
|
|
59
59
|
|
|
60
|
-
client = Client.new(user
|
|
60
|
+
client = Client.new(:user => 'harold@heroku.com', :password => 'pass')
|
|
61
61
|
|
|
62
62
|
notifications, error = client.get_notifications
|
|
63
63
|
|
|
@@ -76,8 +76,8 @@ module Keikokuc
|
|
|
76
76
|
|
|
77
77
|
it 'handles authentication failures' do
|
|
78
78
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
79
|
-
fake_keikoku.register_user(email
|
|
80
|
-
client = Client.new(user
|
|
79
|
+
fake_keikoku.register_user(:email => 'harold@heroku.com', :password => 'pass')
|
|
80
|
+
client = Client.new(:user => 'harold@heroku.com', :password => 'bad-pass')
|
|
81
81
|
|
|
82
82
|
response, error = client.get_notifications
|
|
83
83
|
|
|
@@ -90,10 +90,11 @@ module Keikokuc
|
|
|
90
90
|
include_context 'client specs'
|
|
91
91
|
it 'marks the notification as read' do
|
|
92
92
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
93
|
-
fake_keikoku.register_publisher(api_key
|
|
94
|
-
fake_keikoku.register_user(email
|
|
95
|
-
client = Client.new(user
|
|
96
|
-
notification =
|
|
93
|
+
fake_keikoku.register_publisher(:api_key => 'abc')
|
|
94
|
+
fake_keikoku.register_user(:email => 'harold@heroku.com', :password => 'pass')
|
|
95
|
+
client = Client.new(:user => 'harold@heroku.com', :password => 'pass')
|
|
96
|
+
notification = build_notification(:account_email => 'harold@heroku.com',
|
|
97
|
+
:producer_api_key => 'abc')
|
|
97
98
|
notification.publish or raise "Notification publish error"
|
|
98
99
|
|
|
99
100
|
response, error = client.read_notification(notification.remote_id)
|
|
@@ -105,8 +106,10 @@ module Keikokuc
|
|
|
105
106
|
|
|
106
107
|
it 'handles authentication errors' do
|
|
107
108
|
ShamRack.mount(fake_keikoku, "keikoku.herokuapp.com", 443)
|
|
108
|
-
fake_keikoku.register_user(email
|
|
109
|
-
|
|
109
|
+
fake_keikoku.register_user(:email => 'harold@heroku.com',
|
|
110
|
+
:password => 'pass')
|
|
111
|
+
client = Client.new(:user => 'harold@heroku.com',
|
|
112
|
+
:password => 'bad-pass')
|
|
110
113
|
response, error = client.read_notification(1)
|
|
111
114
|
expect(response).to be_empty
|
|
112
115
|
expect(error).to eq(Client::Unauthorized)
|
|
@@ -8,18 +8,18 @@ module Keikokuc
|
|
|
8
8
|
let(:user_notifications) do
|
|
9
9
|
[
|
|
10
10
|
{
|
|
11
|
-
id
|
|
12
|
-
target_name
|
|
13
|
-
message
|
|
14
|
-
url
|
|
15
|
-
severity
|
|
11
|
+
:id => 1,
|
|
12
|
+
:target_name => 'flying-monkey-123',
|
|
13
|
+
:message => 'Database HEROKU_POSTGRESQL_BROWN is over row limits',
|
|
14
|
+
:url => 'https://devcenter.heroku.com/how-to-fix-problem',
|
|
15
|
+
:severity => 'info'
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
id
|
|
19
|
-
target_name
|
|
20
|
-
message
|
|
21
|
-
url
|
|
22
|
-
severity
|
|
18
|
+
:id => 2,
|
|
19
|
+
:target_name => 'rising-cloud-42',
|
|
20
|
+
:message => 'High OOM rates',
|
|
21
|
+
:url => 'https://devcenter.heroku.com/oom',
|
|
22
|
+
:severity => 'fatal'
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
end
|
|
@@ -31,7 +31,7 @@ module Keikokuc
|
|
|
31
31
|
it 'finds all notifications for the current user' do
|
|
32
32
|
fake_client.should_receive(:get_notifications).
|
|
33
33
|
and_return([user_notifications, nil])
|
|
34
|
-
list =
|
|
34
|
+
list = build_notification_list(:client => fake_client)
|
|
35
35
|
|
|
36
36
|
result = list.fetch
|
|
37
37
|
expect(result).to be_true
|
|
@@ -52,15 +52,15 @@ module Keikokuc
|
|
|
52
52
|
include_context 'with user notifications'
|
|
53
53
|
|
|
54
54
|
it 'marks all notifications as read' do
|
|
55
|
-
fake_client.stub(get_notifications
|
|
55
|
+
fake_client.stub(:get_notifications => [user_notifications, nil])
|
|
56
56
|
|
|
57
57
|
now = Time.now
|
|
58
58
|
fake_client.should_receive(:read_notification).with(1).
|
|
59
|
-
and_return([{read_at
|
|
59
|
+
and_return([{:read_at => now}, nil])
|
|
60
60
|
fake_client.should_receive(:read_notification).with(2).
|
|
61
|
-
and_return([{read_at
|
|
61
|
+
and_return([{:read_at => now}, nil])
|
|
62
62
|
|
|
63
|
-
list =
|
|
63
|
+
list = build_notification_list(:client => fake_client)
|
|
64
64
|
|
|
65
65
|
list.fetch or raise "error fetching"
|
|
66
66
|
|
|
@@ -73,15 +73,15 @@ module Keikokuc
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
it 'returns false if any notification fails to be marked as read' do
|
|
76
|
-
fake_client.stub(get_notifications
|
|
76
|
+
fake_client.stub(:get_notifications => [user_notifications, nil])
|
|
77
77
|
|
|
78
78
|
now = Time.now
|
|
79
79
|
fake_client.should_receive(:read_notification).with(1).
|
|
80
|
-
and_return([{read_at
|
|
80
|
+
and_return([{:read_at => now}, nil])
|
|
81
81
|
fake_client.should_receive(:read_notification).with(2).
|
|
82
82
|
and_return([[], :an_error])
|
|
83
83
|
|
|
84
|
-
list =
|
|
84
|
+
list = build_notification_list(:client => fake_client)
|
|
85
85
|
|
|
86
86
|
list.fetch or raise "error fetching"
|
|
87
87
|
|
|
@@ -93,8 +93,8 @@ module Keikokuc
|
|
|
93
93
|
include_context 'specs with a fake client'
|
|
94
94
|
include_context 'with user notifications'
|
|
95
95
|
it 'is true when there are no notifications' do
|
|
96
|
-
fake_client.stub(get_notifications
|
|
97
|
-
notification_list =
|
|
96
|
+
fake_client.stub(:get_notifications => [user_notifications, nil])
|
|
97
|
+
notification_list = build_notification_list(:client => fake_client)
|
|
98
98
|
|
|
99
99
|
expect(notification_list.empty?).to be_true
|
|
100
100
|
|
|
@@ -106,9 +106,9 @@ module Keikokuc
|
|
|
106
106
|
|
|
107
107
|
describe NotificationList, '#notifications=' do
|
|
108
108
|
it 'assigns notifications' do
|
|
109
|
-
list =
|
|
110
|
-
list.notifications = [
|
|
111
|
-
|
|
109
|
+
list = build_notification_list
|
|
110
|
+
list.notifications = [build_notification(:message => 'one'),
|
|
111
|
+
build_notification(:message => 'two')]
|
|
112
112
|
|
|
113
113
|
expect(list.map { |n| n.message }).to eq(%w[one two])
|
|
114
114
|
end
|
|
@@ -8,11 +8,11 @@ module Keikokuc
|
|
|
8
8
|
should_receive(:post_notification).with do |args|
|
|
9
9
|
expect(args[:message]).to eq('hello')
|
|
10
10
|
expect(args[:account_email]).to eq('harold@heroku.com')
|
|
11
|
-
end.and_return([{ id
|
|
11
|
+
end.and_return([{ :id => 1 }, nil])
|
|
12
12
|
|
|
13
|
-
notification =
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
notification = build_notification(:message => 'hello',
|
|
14
|
+
:account_email => 'harold@heroku.com',
|
|
15
|
+
:client => fake_client)
|
|
16
16
|
|
|
17
17
|
result = notification.publish
|
|
18
18
|
expect(result).to be_true
|
|
@@ -26,10 +26,11 @@ module Keikokuc
|
|
|
26
26
|
should_receive(:post_notification).with do |args|
|
|
27
27
|
expect(args[:message]).to be_nil
|
|
28
28
|
end.
|
|
29
|
-
and_return([{ errors
|
|
29
|
+
and_return([{ :errors => { :attributes => { :message => ['is not present'] }}},
|
|
30
30
|
Keikokuc::Client::InvalidNotification])
|
|
31
31
|
|
|
32
|
-
notification =
|
|
32
|
+
notification = build_notification(:message => nil,
|
|
33
|
+
:client => fake_client)
|
|
33
34
|
|
|
34
35
|
result = notification.publish
|
|
35
36
|
expect(result).to be_false
|
|
@@ -39,7 +40,7 @@ module Keikokuc
|
|
|
39
40
|
end
|
|
40
41
|
|
|
41
42
|
it 'stores attributes as instance vars' do
|
|
42
|
-
notification = Notification.new(message
|
|
43
|
+
notification = Notification.new(:message => 'foo')
|
|
43
44
|
expect(notification.message).to eq('foo')
|
|
44
45
|
end
|
|
45
46
|
end
|
|
@@ -50,9 +51,9 @@ module Keikokuc
|
|
|
50
51
|
|
|
51
52
|
fake_client.should_receive(:read_notification).
|
|
52
53
|
with('1234').
|
|
53
|
-
and_return([{read_at
|
|
54
|
+
and_return([{:read_at => Time.now}, nil])
|
|
54
55
|
|
|
55
|
-
notification = Notification.new(remote_id
|
|
56
|
+
notification = Notification.new(:remote_id => '1234', :client => fake_client)
|
|
56
57
|
|
|
57
58
|
result = notification.read
|
|
58
59
|
expect(result).to be_true
|
|
@@ -67,7 +68,8 @@ module Keikokuc
|
|
|
67
68
|
with('1234').
|
|
68
69
|
and_return([{}, :some_error])
|
|
69
70
|
|
|
70
|
-
notification = Notification.new(remote_id
|
|
71
|
+
notification = Notification.new(:remote_id => '1234',
|
|
72
|
+
:client => fake_client)
|
|
71
73
|
|
|
72
74
|
result = notification.read
|
|
73
75
|
expect(result).to be_false
|
|
@@ -79,7 +81,7 @@ module Keikokuc
|
|
|
79
81
|
|
|
80
82
|
describe Notification, '#read?' do
|
|
81
83
|
it 'is true if the read_at is known' do
|
|
82
|
-
notification =
|
|
84
|
+
notification = build_notification(:read_at => nil)
|
|
83
85
|
expect(notification.read?).to be_false
|
|
84
86
|
|
|
85
87
|
notification.read_at = Time.now
|
|
@@ -90,13 +92,13 @@ module Keikokuc
|
|
|
90
92
|
|
|
91
93
|
describe Notification, '#client' do
|
|
92
94
|
it 'defaults to a properly constructer Keikokuc::Client' do
|
|
93
|
-
notification =
|
|
95
|
+
notification = build_notification(:producer_api_key => 'fake-api-key')
|
|
94
96
|
expect(notification.client).to be_kind_of(Keikokuc::Client)
|
|
95
97
|
expect(notification.client.producer_api_key).to eq('fake-api-key')
|
|
96
98
|
end
|
|
97
99
|
|
|
98
100
|
it 'can be injected' do
|
|
99
|
-
notification = Notification.new(client
|
|
101
|
+
notification = Notification.new(:client => :foo)
|
|
100
102
|
expect(notification.client).to eq(:foo)
|
|
101
103
|
end
|
|
102
104
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -5,21 +5,20 @@
|
|
|
5
5
|
#
|
|
6
6
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
7
7
|
require 'keikokuc'
|
|
8
|
-
require 'factories'
|
|
9
8
|
require 'support/fake_keikoku'
|
|
9
|
+
require 'support/factories'
|
|
10
10
|
RSpec.configure do |config|
|
|
11
11
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
|
12
12
|
config.run_all_when_everything_filtered = true
|
|
13
13
|
config.filter_run :focus
|
|
14
14
|
|
|
15
|
+
config.include Factories
|
|
15
16
|
# Run specs in random order to surface order dependencies. If you find an
|
|
16
17
|
# order dependency and want to debug it, you can fix the order by providing
|
|
17
18
|
# the seed, which is printed after each run.
|
|
18
19
|
# --seed 1234
|
|
19
20
|
config.order = 'random'
|
|
20
21
|
|
|
21
|
-
config.include FactoryGirl::Syntax::Methods
|
|
22
|
-
|
|
23
22
|
config.expect_with :rspec do |c|
|
|
24
23
|
c.syntax = :expect
|
|
25
24
|
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Factories
|
|
2
|
+
def build_notification(opts = {})
|
|
3
|
+
defaults = {
|
|
4
|
+
:message => 'Your database is over limits',
|
|
5
|
+
:target_name => 'cloudy-skies-243',
|
|
6
|
+
:severity => 'info',
|
|
7
|
+
:account_email => 'harold@heroku.com'
|
|
8
|
+
}
|
|
9
|
+
Keikokuc::Notification.new(defaults.merge(opts))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def build_notification_list(opts = {})
|
|
13
|
+
defaults = {
|
|
14
|
+
:user => 'user@example.com',
|
|
15
|
+
:password => 'pass'
|
|
16
|
+
}
|
|
17
|
+
Keikokuc::NotificationList.new(defaults.merge(opts))
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -31,9 +31,9 @@ class FakeKeikoku
|
|
|
31
31
|
with_rack_env(env) do
|
|
32
32
|
if request_path == '/api/v1/notifications' && request_verb == 'POST'
|
|
33
33
|
if publisher_by_api_key(request_api_key)
|
|
34
|
-
notification = Notification.new({id
|
|
34
|
+
notification = Notification.new({:id => next_id}.merge(request_body))
|
|
35
35
|
@notifications << notification
|
|
36
|
-
[200, { }, [Yajl::Encoder.encode({id
|
|
36
|
+
[200, { }, [Yajl::Encoder.encode({:id => notification.id})]]
|
|
37
37
|
else
|
|
38
38
|
[401, { }, ["Not authorized"]]
|
|
39
39
|
end
|
|
@@ -50,7 +50,7 @@ class FakeKeikoku
|
|
|
50
50
|
notification.to_hash[:id].to_s == $1.to_s
|
|
51
51
|
end
|
|
52
52
|
notification.mark_read_by!(current_user)
|
|
53
|
-
[200, {}, [Yajl::Encoder.encode({read_by
|
|
53
|
+
[200, {}, [Yajl::Encoder.encode({:read_by => current_user, :read_at => Time.now})]]
|
|
54
54
|
else
|
|
55
55
|
[401, { }, ["Not authorized"]]
|
|
56
56
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: keikokuc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '0.
|
|
4
|
+
version: '0.5'
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-10-12 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rest-client
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70352657568460 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70352657568460
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: yajl-ruby
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70352657568040 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70352657568040
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rspec
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70352657567620 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,21 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
47
|
-
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: factory_girl
|
|
49
|
-
requirement: &70278489998960 !ruby/object:Gem::Requirement
|
|
50
|
-
none: false
|
|
51
|
-
requirements:
|
|
52
|
-
- - ! '>='
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
type: :development
|
|
56
|
-
prerelease: false
|
|
57
|
-
version_requirements: *70278489998960
|
|
46
|
+
version_requirements: *70352657567620
|
|
58
47
|
- !ruby/object:Gem::Dependency
|
|
59
48
|
name: sham_rack
|
|
60
|
-
requirement: &
|
|
49
|
+
requirement: &70352657567200 !ruby/object:Gem::Requirement
|
|
61
50
|
none: false
|
|
62
51
|
requirements:
|
|
63
52
|
- - ! '>='
|
|
@@ -65,7 +54,7 @@ dependencies:
|
|
|
65
54
|
version: '0'
|
|
66
55
|
type: :development
|
|
67
56
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70352657567200
|
|
69
58
|
description: Keikoku client
|
|
70
59
|
email:
|
|
71
60
|
- harold.gimenez@gmail.com
|
|
@@ -75,6 +64,7 @@ extra_rdoc_files: []
|
|
|
75
64
|
files:
|
|
76
65
|
- .gitignore
|
|
77
66
|
- .rspec
|
|
67
|
+
- .travis.yml
|
|
78
68
|
- Gemfile
|
|
79
69
|
- LICENSE
|
|
80
70
|
- README.md
|
|
@@ -86,11 +76,11 @@ files:
|
|
|
86
76
|
- lib/keikokuc/notification.rb
|
|
87
77
|
- lib/keikokuc/notification_list.rb
|
|
88
78
|
- lib/keikokuc/version.rb
|
|
89
|
-
- spec/factories.rb
|
|
90
79
|
- spec/keikoku/client_spec.rb
|
|
91
80
|
- spec/keikoku/notification_list_spec.rb
|
|
92
81
|
- spec/keikoku/notification_spec.rb
|
|
93
82
|
- spec/spec_helper.rb
|
|
83
|
+
- spec/support/factories.rb
|
|
94
84
|
- spec/support/fake_keikoku.rb
|
|
95
85
|
homepage: https://github.com/hgmnz/keikokuc
|
|
96
86
|
licenses: []
|
|
@@ -118,9 +108,9 @@ specification_version: 3
|
|
|
118
108
|
summary: Keikoku is an experimental notification system on Heroku. This gem interfaces
|
|
119
109
|
with the keikoku API to be used bynotification producers and consumers
|
|
120
110
|
test_files:
|
|
121
|
-
- spec/factories.rb
|
|
122
111
|
- spec/keikoku/client_spec.rb
|
|
123
112
|
- spec/keikoku/notification_list_spec.rb
|
|
124
113
|
- spec/keikoku/notification_spec.rb
|
|
125
114
|
- spec/spec_helper.rb
|
|
115
|
+
- spec/support/factories.rb
|
|
126
116
|
- spec/support/fake_keikoku.rb
|
data/spec/factories.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
FactoryGirl.define do
|
|
2
|
-
factory :notification, class: Keikokuc::Notification do
|
|
3
|
-
skip_create
|
|
4
|
-
|
|
5
|
-
message 'Your database is over limits'
|
|
6
|
-
target_name 'cloudy-skies-243'
|
|
7
|
-
severity 'info'
|
|
8
|
-
account_email 'harold@heroku.com'
|
|
9
|
-
|
|
10
|
-
initialize_with { new(attributes) }
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
factory :notification_list, class: Keikokuc::NotificationList do
|
|
14
|
-
user 'user@example.com'
|
|
15
|
-
password 'pass'
|
|
16
|
-
|
|
17
|
-
initialize_with { new(attributes) }
|
|
18
|
-
end
|
|
19
|
-
end
|