notificate 0.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 439b7d13b42b1e8ba4fa48fdf5e992d90ec15304
4
+ data.tar.gz: 7b54968bd0af5a57c847ad8802ba1abf84c81e59
5
+ SHA512:
6
+ metadata.gz: 417b1f76de6b9d664aedee54354399a8bb97c59edbb8bc9e01df7c373ca0cbbd62777e3ba7a4fd5e62f6b735c0469c94954fb5fb2c74641b1765e32cf3c18fea
7
+ data.tar.gz: 0b6a918889b6f9d7bb8b41a77a3821fb9a832c144935446df10a08df667dab6d9f33ae020f6e8dc9d51f41456d91cc9d034069286d4adfcd99d978de37d7d54b
Binary file
Binary file
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,8 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'minitest' do
5
+ watch(%r|^test/(.*)\/?(.*)_test\.rb|)
6
+ watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "test/#{m[1]}#{m[2]}_test.rb" }
7
+ watch(%r|^test/test_helper\.rb|) { "test" }
8
+ end
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 James Newton <james@Zaphyous.com>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,29 @@
1
+ # Howell::Rails
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'howell-rails'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install howell-rails
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
@@ -0,0 +1,11 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << 'test'
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = false
8
+ t.warning = true
9
+ end
10
+
11
+ task :default => :test
@@ -0,0 +1,7 @@
1
+ module Notificate::Rails::Configuration
2
+ attr_reader :options
3
+
4
+ def configure(opts = {})
5
+ @options = Notificate::ObjectifiedHash.new(opts)
6
+ end
7
+ end
@@ -0,0 +1,34 @@
1
+ module Notificate::Rails::Controller
2
+ def self.included(klass)
3
+ klass.extend ControllerMethods
4
+ end
5
+
6
+ def rails_data
7
+ {
8
+ environment: ::Notificate::Rails.options.environment,
9
+ root: ::Notificate::Rails.options.project_root
10
+ }
11
+ end
12
+
13
+ def notify_notificate(exception)
14
+ ::Notificate::ExceptionCatcher.notify(exception, rails_data)
15
+ end
16
+
17
+ def _notificate_around_filter
18
+ begin
19
+ yield
20
+ rescue Object => error
21
+ handler = error.respond_to?(:original_exception) ? error.original_exception : error
22
+
23
+ notify_notificate(error) unless handler_for_rescue(handler)
24
+
25
+ raise
26
+ end
27
+ end
28
+
29
+ module ControllerMethods
30
+ def enable_notificate_notifications(options = {})
31
+ prepend_around_filter :_notificate_around_filter, options
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,28 @@
1
+ module Notificate::Rails
2
+ class Rack
3
+ def initialize(app)
4
+ @app = app
5
+ end
6
+
7
+ def call(env)
8
+ @env = env
9
+
10
+ begin
11
+ result = @app.call(env)
12
+ rescue ::Exception => ex
13
+ @env['notificate.notified'] = ::Notificate::ExceptionCatcher.notify(ex, rack_data)
14
+
15
+ raise ex
16
+ end
17
+
18
+ result
19
+ end
20
+
21
+ def rack_data
22
+ {
23
+ environment: ::Notificate::Rails.options.environment,
24
+ root: ::Notificate::Rails.options.project_root
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,20 @@
1
+ class Notificate::Rails::Railtie < Rails::Railtie
2
+ initializer 'notificate.configure_rails_initialization' do |app|
3
+ Notificate::Rails.configure(
4
+ environment: Rails.env.to_s,
5
+ project_root: Rails.root.to_s
6
+ )
7
+
8
+ if app.respond_to?(:config) and app.config.respond_to?(:middleware)
9
+ require 'notificate-rails/rack'
10
+
11
+ if defined?(ActionDispatch::DebugExceptions)
12
+ app.config.middleware.insert_after ActionDispatch::DebugExceptions, Notificate::Rails::Rack
13
+ elsif defined?(ActionDispatch::ShowExceptions)
14
+ app.config.middleware.insert_after ActionDispatch::ShowExceptions, Notificate::Rails::Rack
15
+ else
16
+ app.config.middleware.insert 0, Notificate::Rails::Rack
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,5 @@
1
+ module Notificate
2
+ module Rails
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,31 @@
1
+ module Notificate; end
2
+
3
+ require 'json'
4
+ require 'httparty'
5
+ require 'notificate-rails/version'
6
+ require 'notificate/objectified_hash'
7
+ require 'notificate/configuration'
8
+ require 'notificate/notice'
9
+ require 'notificate/exception_catcher'
10
+
11
+ module Notificate
12
+ extend Configuration
13
+
14
+ def self.notice(message)
15
+ payload = { body: { payload: { message: message } }.to_json }
16
+
17
+ Notice.new(payload, :application)
18
+ end
19
+ end
20
+
21
+ if defined?(Rails)
22
+ require 'notificate-rails/configuration'
23
+ require 'notificate-rails/railtie'
24
+ require 'notificate-rails/controller'
25
+
26
+ module Notificate::Rails
27
+ extend Configuration
28
+
29
+ include Controller
30
+ end
31
+ end
@@ -0,0 +1,14 @@
1
+ module Notificate::Configuration
2
+ attr_reader :options
3
+
4
+ def configure(opts = {})
5
+ opts[:protocol] ||= :https
6
+ opts[:port] ||= 80
7
+
8
+ @options = Notificate::ObjectifiedHash.new(opts)
9
+ end
10
+
11
+ def request_path
12
+ "#{options.protocol}://#{options.hostname}:#{options.port}/#{options.endpoint}#{options.params}"
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ module Notificate::ExceptionCatcher
2
+ def self.notify(exception, data)
3
+ payload = { body: { payload: { exception: exception.to_s, data: data } }.to_json }
4
+
5
+ ::Notificate::Notice.new(payload, :exception)
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ class Notificate::Notice
2
+ include ::HTTParty
3
+
4
+ def initialize(message, message_type)
5
+ @defaults = { headers: { 'Content-Type' => 'application/json'} }
6
+
7
+ case message_type
8
+ when :application
9
+ app_notice(message)
10
+ when :exception
11
+ exception_notice(message)
12
+ end
13
+ end
14
+
15
+ def app_notice(payload)
16
+ self.class.post(Notificate.request_path, payload.merge(@defaults))
17
+ end
18
+
19
+ def exception_notice(payload)
20
+ self.class.post(Notificate.request_path, payload.merge(@defaults))
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ class Notificate::ObjectifiedHash
2
+ def initialize(hash)
3
+ @data = hash.inject({}) do |data, (key, value)|
4
+ value = self.new(value) if value.is_a? Hash
5
+
6
+ data[key.to_s] = value
7
+ data
8
+ end
9
+ end
10
+
11
+ def method_missing(key)
12
+ @data.key?(key.to_s) ? @data[key.to_s] : nil
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'notificate-rails/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'notificate'
8
+ spec.version = Notificate::Rails::VERSION
9
+ spec.authors = ['James Newton']
10
+ spec.email = ['james@Zaphyous.com']
11
+ spec.description = %q{Send notices to howell throughout rails applications}
12
+ spec.summary = %q{Send notices to howell throughout rails applications}
13
+ spec.homepage = 'https://github.com/zaphyous/notificate'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_dependency 'httparty'
22
+ spec.add_dependency 'json'
23
+
24
+ spec.add_development_dependency 'bundler', '~> 1.3'
25
+ spec.add_development_dependency 'rake'
26
+ spec.add_development_dependency 'minitest'
27
+ spec.add_development_dependency 'minitest-colorize'
28
+ spec.add_development_dependency 'guard-minitest'
29
+ spec.add_development_dependency 'webmock'
30
+ spec.add_development_dependency 'rails'
31
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class NotificateRailsConfigurationTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ Notificate::Rails.configure(
6
+ environment: 'production',
7
+ project_root: File.expand_path(File.dirname(__FILE__) + '../../../'),
8
+ )
9
+ end
10
+
11
+ def test_environment
12
+ assert_equal Notificate::Rails.options.environment, 'production'
13
+ end
14
+
15
+ def test_project_root
16
+ assert_equal Notificate::Rails.options.project_root, File.expand_path(File.dirname(__FILE__) + '../../..')
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class NotificateConfigurationTest < MiniTest::Unit::TestCase
4
+ def setup
5
+ notificate_config
6
+ end
7
+
8
+ def test_hostname
9
+ assert_equal Notificate.options.hostname, 'example.com'
10
+ end
11
+
12
+ def test_endpoint
13
+ assert_equal Notificate.options.endpoint, 'app_notices'
14
+ end
15
+
16
+ def test_params
17
+ assert_equal Notificate.options.params, '?channel=zaphyous'
18
+ end
19
+
20
+ def test_port
21
+ assert_equal Notificate.options.port, 1234
22
+ end
23
+
24
+ def test_request_path
25
+ assert_equal Notificate.request_path, 'http://example.com:1234/app_notices?channel=zaphyous'
26
+ end
27
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ # TODO:
4
+ # * Add a test to check the content of what is being sent in a notice
5
+ class NotificateNoticeTest < MiniTest::Unit::TestCase
6
+ def setup
7
+ notificate_config
8
+
9
+ @stub_notice = stub_request(:post, Notificate.request_path)
10
+ end
11
+
12
+ def test_notices_going_to_endpoint
13
+ Notificate.notice 'Testing'
14
+
15
+ assert_requested @stub_notice
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest-colorize'
3
+ require 'webmock/minitest'
4
+ require 'rails'
5
+ require 'notificate'
6
+
7
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
8
+
9
+ def notificate_config(opts = {})
10
+ Notificate.configure(
11
+ protocol: opts[:protocol] || 'http',
12
+ hostname: opts[:hostname] || 'example.com',
13
+ endpoint: opts[:endpoint] || 'app_notices',
14
+ params: opts[:params] || '?channel=zaphyous',
15
+ port: opts[:port] || 1234
16
+ )
17
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: notificate
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - James Newton
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ4wDAYDVQQDDAVqYW1l
14
+ czEYMBYGCgmSJomT8ixkARkWCFphcGh5b3VzMRMwEQYKCZImiZPyLGQBGRYDY29t
15
+ MB4XDTEzMDQwNTIxMzEzOVoXDTE0MDQwNTIxMzEzOVowPzEOMAwGA1UEAwwFamFt
16
+ ZXMxGDAWBgoJkiaJk/IsZAEZFghaYXBoeW91czETMBEGCgmSJomT8ixkARkWA2Nv
17
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOh7OtTl+UmXxZh2pbmv
18
+ J6ed/K2X5XtZvxQBEaEMtnfmgHcWbQY6akcAO68Kau4/jLbkq6yolAzMG48WEnj1
19
+ SrL28103hyZAhLcBTPLkGgark3GsK6TFsuoStBMAmA1y8aToBSKSP+eksjGMj7LJ
20
+ AfRKNfBokbXttjcaM1iqwYEXsLiJ4DHUDV4fWEEqCtDq8T9UKniDzDDRnLiiv4W8
21
+ KTyx7ZXvfwFRUJdNLjafnyVFFscru4eYAxKIBRJ890EBNMwIQwwc6i7p1xCpBILw
22
+ gQNSk2bNbL9QS3qaF0mmFduQpS3yi5zSfm+b/BMTmVhdRpJl5L3V2mJSK57JIaES
23
+ zN0CAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFKf6
24
+ AvzYWNq1vKs1A98HazUOXGebMB0GA1UdEQQWMBSBEmphbWVzQFphcGh5b3VzLmNv
25
+ bTAdBgNVHRIEFjAUgRJqYW1lc0BaYXBoeW91cy5jb20wDQYJKoZIhvcNAQEFBQAD
26
+ ggEBACo8Gb2O/KyIccN1X0vShC6PMzpo7IdyVs+naFqU3de8+vazLUxLHgi8yqg5
27
+ Ue4FdR++juHJCCAPJghrYi0/RlNR7+ZVhgM9/MFO283DaYyHW1+CRXp7KKlbcyUS
28
+ +2iqTVsjDNu4RCpjDZd0p7iqGk11+tpaWpnEvgCCGjnhox/Mmu2tjpxYP4z3RpDZ
29
+ IPJIx8Whh1iM5GGR2jt7O6PY7sYUBv5v85T0RTNY1xTUIwzZy1sjLMqgcZBlFF/8
30
+ IdasO+EybhhmNT32weebimCM21ychbBqkWzJGPlIfqgvmOMbQc/TwQcwkYPgoX6l
31
+ QdB79NrQet5m6RR7qA5joVvZhZA=
32
+ -----END CERTIFICATE-----
33
+ date: 2013-05-01 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: httparty
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: json
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: bundler
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '1.3'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '1.3'
77
+ - !ruby/object:Gem::Dependency
78
+ name: rake
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: minitest
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ name: minitest-colorize
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ - !ruby/object:Gem::Dependency
120
+ name: guard-minitest
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ - !ruby/object:Gem::Dependency
134
+ name: webmock
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ type: :development
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - '>='
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ - !ruby/object:Gem::Dependency
148
+ name: rails
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ description: Send notices to howell throughout rails applications
162
+ email:
163
+ - james@Zaphyous.com
164
+ executables: []
165
+ extensions: []
166
+ extra_rdoc_files: []
167
+ files:
168
+ - .gitignore
169
+ - Gemfile
170
+ - Guardfile
171
+ - LICENSE.txt
172
+ - README.md
173
+ - Rakefile
174
+ - lib/notificate-rails/configuration.rb
175
+ - lib/notificate-rails/controller.rb
176
+ - lib/notificate-rails/rack.rb
177
+ - lib/notificate-rails/railtie.rb
178
+ - lib/notificate-rails/version.rb
179
+ - lib/notificate.rb
180
+ - lib/notificate/configuration.rb
181
+ - lib/notificate/exception_catcher.rb
182
+ - lib/notificate/notice.rb
183
+ - lib/notificate/objectified_hash.rb
184
+ - notificate.gemspec
185
+ - test/lib/notificate-rails/configuration_test.rb
186
+ - test/lib/notificate/configuration_test.rb
187
+ - test/lib/notificate/notice_test.rb
188
+ - test/test_helper.rb
189
+ homepage: https://github.com/zaphyous/notificate
190
+ licenses:
191
+ - MIT
192
+ metadata: {}
193
+ post_install_message:
194
+ rdoc_options: []
195
+ require_paths:
196
+ - lib
197
+ required_ruby_version: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ required_rubygems_version: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ requirements: []
208
+ rubyforge_project:
209
+ rubygems_version: 2.0.3
210
+ signing_key:
211
+ specification_version: 4
212
+ summary: Send notices to howell throughout rails applications
213
+ test_files:
214
+ - test/lib/notificate-rails/configuration_test.rb
215
+ - test/lib/notificate/configuration_test.rb
216
+ - test/lib/notificate/notice_test.rb
217
+ - test/test_helper.rb
Binary file