safetynet 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c82ab26e4311dd4cee67b3512af96ce1a3cd871d
4
- data.tar.gz: f7d833205366907799b196294574314e756a7694
3
+ metadata.gz: 57f337694ba8a1c632ebd412fa2a41b0c1716240
4
+ data.tar.gz: bd90d9c563d912d0fc9dfeaee1aa9212df62617e
5
5
  SHA512:
6
- metadata.gz: 3413d6714950b1ea54811c4caae76bbb47c4ac0a2f14306f2e7700ede475fb99e9bfbf9510d8138c7df349208db86a745d121a71d67524c636d87c1ca7d10774
7
- data.tar.gz: ae9511d5345b41d51991862041bf39e420e479f38167b64428a7481bb6f0f3efe5e121e3bce988e8ef7be65de1f0bc5ce50d95feba68826b899d1836f42d3a50
6
+ metadata.gz: ec404eca84c9dfe6aae7e4366dbf8ec3aab19fa8587a6cb86302122b88e2722dd55ee867b9d6513524706675b4807dbd51f7251f0a044755cf35ceb26cc0ac1b
7
+ data.tar.gz: 439b4ba5a7f3b3b3cf38dc8e481da57785c0680bf6693039c904cc2c0dc9e154f8b821a6fd546be6c71ab1bc7227b8618bdf97937663387632cefc10248c090a
@@ -1,21 +1,19 @@
1
- require 'safetynet/version'
2
1
  require 'active_support/concern'
3
2
  require 'active_support/core_ext/numeric/time'
3
+ require 'safetynet/history'
4
+ require 'safetynet/notification_mailer'
4
5
 
5
6
  module Safetynet
6
7
  extend ActiveSupport::Concern
7
8
 
8
-
9
9
  # Saves a record for the current method
10
- def safe_safetynet_delivery(address, channel, method)
11
- options = self.class.safetynet_options
12
- log = Safetynet::History.new({
10
+ def save_safetynet_delivery(address, channel, method)
11
+ Safetynet::History.create({
13
12
  address: address,
14
13
  method: method,
15
14
  channel: channel.to_s,
16
15
  created_at: Time.now
17
16
  })
18
- log.save
19
17
  end
20
18
 
21
19
  # Returns true if delivery is permitted through the given channel
@@ -58,6 +56,7 @@ module Safetynet
58
56
  channel: channel,
59
57
  method: method
60
58
  })
59
+
61
60
  if timeframe != false
62
61
  count_query = count_query.where('created_at >= ?', Time.now - timeframe)
63
62
  end
@@ -69,14 +68,15 @@ module Safetynet
69
68
  end
70
69
 
71
70
  if permit_delivery
72
- safe_safetynet_delivery(address, channel, method)
71
+ save_safetynet_delivery(address, channel, method)
73
72
  else
74
- AdminMailer.delivery_denied_notification(address, channel, method, {
73
+ Safetynet::NotificationMailer.delivery_denied_notification(address, channel, method, {
75
74
  limit: limit,
76
75
  timeframe: timeframe,
77
76
  message: 'Safetynet has caught a method!'
78
77
  }).deliver
79
78
  end
79
+
80
80
  permit_delivery
81
81
  end
82
82
 
@@ -93,8 +93,8 @@ module Safetynet
93
93
 
94
94
  # Update the mail.to array with those who are whitelisted and permitted
95
95
  mail.to = mail.to.keep_if do |email|
96
- next true if is_whitelisted?(email) || !defined?(@user) || email == @user.email
97
- permit_delivery?(address, channel, method, limit, timeframe)
96
+ next true if is_whitelisted?(email)
97
+ permit_delivery?(email, channel, method, limit, timeframe)
98
98
  end
99
99
 
100
100
  permit_delivery = mail.to.any?
@@ -1,5 +1,10 @@
1
1
  require 'rails/engine'
2
2
  module Safetynet
3
3
  class Engine < Rails::Engine
4
+ # initializer 'safetynet.include_helpers' do
5
+ # ActiveSupport.on_load :active_record do
6
+ # ActiveRecord::Base.send :include, Safetynet
7
+ # end
8
+ # end
4
9
  end
5
10
  end
@@ -0,0 +1,5 @@
1
+ module Safetynet
2
+ class History < ActiveRecord::Base
3
+ self.table_name = :safetynet_histories
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ module Safetynet
2
+ class NotificationMailer < ActionMailer::Base
3
+ default from: "test@asdf.org"
4
+
5
+ def delivery_denied_notification(address, channel, method, properties)
6
+ mail_to = Rails.configuration.safetynet[:notification_email] || "asdf@asdf.org"
7
+ mail(from: mail_to, to: mail_to, subject: "test", body: "test")
8
+ end
9
+ end
10
+ end
@@ -0,0 +1 @@
1
+ delivery_denied_notification.rb
@@ -1,3 +1,3 @@
1
1
  module Safetynet
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safetynet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - arktisklada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2016-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,6 +128,9 @@ files:
114
128
  - lib/rails/generators/safetynet/templates/initializer.rb
115
129
  - lib/safetynet.rb
116
130
  - lib/safetynet/engine.rb
131
+ - lib/safetynet/history.rb
132
+ - lib/safetynet/notification_mailer.rb
133
+ - lib/safetynet/notification_mailer/untitled
117
134
  - lib/safetynet/version.rb
118
135
  - lib/tasks/safetynet_tasks.rake
119
136
  homepage: https://github.com/arktisklada/safetynet
@@ -136,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
153
  version: '0'
137
154
  requirements: []
138
155
  rubyforge_project:
139
- rubygems_version: 2.2.2
156
+ rubygems_version: 2.5.0
140
157
  signing_key:
141
158
  specification_version: 4
142
159
  summary: Stop communication problems before they happen