keikokuc 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - "1.9.3"
5
+ - "1.9.2"
6
+ - rbx-19mode
7
+ - "1.8.7"
8
+
9
+ script: bundle exec rspec -b spec
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  Wrapper to the keikoku API
4
4
 
5
+ [![Build Status](https://secure.travis-ci.org/hgmnz/keikokuc.png)](http://travis-ci.org/hgmnz/keikokuc)
5
6
  [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/hgmnz/keikokuc)
6
7
 
7
8
  ## Installation
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
@@ -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: user,
111
- password: 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: 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: client, remote_id: attributes.delete(:id))
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
- # Allos notifications to be injected, useful in tests
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: user, password: password)
98
+ @client ||= Client.new(:user => user,
99
+ :password => password)
98
100
  end
99
101
  end
@@ -1,3 +1,3 @@
1
1
  module Keikokuc
2
- VERSION = "0.4"
2
+ VERSION = "0.5"
3
3
  end
@@ -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: 'abc'})
15
- client = Client.new(producer_api_key: 'abc')
16
- result, error = client.post_notification(message: 'hello',
17
- severity: 'info')
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: :srorre }))]
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: 'abc'})
35
- client = Client.new(producer_api_key: 'bad one')
36
- result, error = client.post_notification(message: 'hello',
37
- severity: 'info')
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: '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
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: 'harold@heroku.com', password: 'pass')
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: 'harold@heroku.com', password: 'pass')
80
- client = Client.new(user: 'harold@heroku.com', password: 'bad-pass')
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: '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', producer_api_key: 'abc')
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: 'harold@heroku.com', password: 'pass')
109
- client = Client.new(user: 'harold@heroku.com', password: 'bad-pass')
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: 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'
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: 2,
19
- target_name: 'rising-cloud-42',
20
- message: 'High OOM rates',
21
- url: 'https://devcenter.heroku.com/oom',
22
- severity: 'fatal'
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 = build(:notification_list, client: fake_client)
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: [user_notifications, nil])
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: now}, nil])
59
+ and_return([{:read_at => now}, nil])
60
60
  fake_client.should_receive(:read_notification).with(2).
61
- and_return([{read_at: now}, nil])
61
+ and_return([{:read_at => now}, nil])
62
62
 
63
- list = build(:notification_list, client: fake_client)
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: [user_notifications, nil])
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: now}, nil])
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 = build(:notification_list, client: fake_client)
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: [user_notifications, nil])
97
- notification_list = build(:notification_list, client: fake_client)
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 = build(:notification_list)
110
- list.notifications = [build(:notification, message: 'one'),
111
- build(:notification, message: 'two')]
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: 1 }, nil])
11
+ end.and_return([{ :id => 1 }, nil])
12
12
 
13
- notification = build(:notification, message: 'hello',
14
- account_email: 'harold@heroku.com',
15
- client: fake_client)
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: { attributes: { message: ['is not present'] }}},
29
+ and_return([{ :errors => { :attributes => { :message => ['is not present'] }}},
30
30
  Keikokuc::Client::InvalidNotification])
31
31
 
32
- notification = build(:notification, message: nil, client: fake_client)
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: 'foo')
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: Time.now}, nil])
54
+ and_return([{:read_at => Time.now}, nil])
54
55
 
55
- notification = Notification.new(remote_id: '1234', client: fake_client)
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: '1234', client: fake_client)
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 = build(:notification, read_at: nil)
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 = build(:notification, producer_api_key: 'fake-api-key')
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: :foo)
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: next_id}.merge(request_body))
34
+ notification = Notification.new({:id => next_id}.merge(request_body))
35
35
  @notifications << notification
36
- [200, { }, [Yajl::Encoder.encode({id: notification.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: current_user, read_at: Time.now})]]
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'
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: &70278490000460 !ruby/object:Gem::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: *70278490000460
24
+ version_requirements: *70352657568460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: yajl-ruby
27
- requirement: &70278489999820 !ruby/object:Gem::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: *70278489999820
35
+ version_requirements: *70352657568040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70278489999380 !ruby/object:Gem::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: *70278489999380
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: &70278489998500 !ruby/object:Gem::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: *70278489998500
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