refinerycms-inquiries 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b141298d3052862d6c2dbc8719fd30a91df8dcf1
4
- data.tar.gz: bbbd8afac935fa871659f90a234f4e4d0e82a8ad
3
+ metadata.gz: d9ddb0e6c028b0f09330b4acbaf76bc8ceed1d9d
4
+ data.tar.gz: 486b3df780a2b9784ba0a1fa464037a1900ceb2e
5
5
  SHA512:
6
- metadata.gz: be78da9454e6c8f16872794bbd104470b15b40ea0ba81dbec578986a0776010cc73f36e6521299c1d935a589949547f8495449005afb9732635dcc34f555b8df
7
- data.tar.gz: 2aec759304d347d9d96c08aaefb0391538c29122dc582c1644c9033a6b1dc8082e5e159200d157db0902c9903b4bff78aeccbe4bc36303eb6652c188051842fb
6
+ metadata.gz: fd919f169f626caf18e06f165b91618e89b6713087024976ea929e2c1f6b6b83961b8bbacf9b2e44a1a57b8cdbfc8e7e9747b14f8370a33a025b253f08750ba5
7
+ data.tar.gz: d04451a99c47567cdbe5fd275b685a917316236fcec87b8691ec1dd1051c87699ec8e9a3371985d1a1200c85c89614d4887610bb53bed08ebec3316a06cda0fc
checksums.yaml.gz.sig ADDED
@@ -0,0 +1 @@
1
+ (��:�[mg�
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ S��H1yO��8�2�*�[b,3X9^���jj
2
+ �-�}�RҦ'<�ͣ��<Q�ʡZ}a�KG;w�;�[��;�h�MV�A&�8(�k�unFٸ��͐&�qll�=m�4�q�2N���_3|� Uc��{��#��حHU?ǶH�eX�W�1x/K�@\�w�wPfj䚅�b��a�V�h�^x(���Q�+Y��������I5��S��� �������\*Kv��Q1E�Z�+#�ڠI�N^E�+�?D��gM
data/Gemfile CHANGED
@@ -2,11 +2,11 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'refinerycms', github: 'refinery/refinerycms'
6
- gem 'refinerycms-settings', github: 'refinery/refinerycms-settings'
5
+ gem 'refinerycms', ["~> 3.0", ">= 3.0.3"]
6
+ gem 'refinerycms-settings', "~> 3.0"
7
7
 
8
8
  group :test do
9
- gem 'refinerycms-testing', github: 'refinery/refinerycms'
9
+ gem 'refinerycms-testing', ["~> 3.0", ">= 3.0.3"]
10
10
  gem 'capybara-email', '~> 2.4.0'
11
11
  gem 'poltergeist'
12
12
  end
@@ -29,8 +29,8 @@ if !ENV['TRAVIS'] || ENV['DB'] == 'postgresql'
29
29
  end
30
30
 
31
31
  # Refinery/rails should pull in the proper versions of these
32
- gem 'sass-rails', '~> 4.0.0'
33
- gem 'coffee-rails', '~> 4.0.0'
32
+ gem 'sass-rails'
33
+ gem 'coffee-rails'
34
34
 
35
35
  # Load local gems according to Refinery developer preference.
36
36
  if File.exist? local_gemfile = File.expand_path('../.gemfile', __FILE__)
@@ -1,3 +1,5 @@
1
+ require 'refinery/inquiries/spam_filter'
2
+
1
3
  module Refinery
2
4
  module Inquiries
3
5
  class InquiriesController < ::ApplicationController
@@ -15,23 +17,7 @@ module Refinery
15
17
  def create
16
18
  @inquiry = Inquiry.new(inquiry_params)
17
19
 
18
- if @inquiry.save
19
- if @inquiry.ham? || Inquiries.send_notifications_for_inquiries_marked_as_spam
20
- begin
21
- InquiryMailer.notification(@inquiry, request).deliver_now
22
- rescue
23
- logger.warn "There was an error delivering an inquiry notification.\n#{$!}\n"
24
- end
25
-
26
- if Setting.send_confirmation?
27
- begin
28
- InquiryMailer.confirmation(@inquiry, request).deliver_now
29
- rescue
30
- logger.warn "There was an error delivering an inquiry confirmation:\n#{$!}\n"
31
- end
32
- end
33
- end
34
-
20
+ if inquiry_saved_and_validated?
35
21
  redirect_to refinery.thank_you_inquiries_inquiries_path
36
22
  else
37
23
  render action: 'new'
@@ -58,6 +44,15 @@ module Refinery
58
44
  [:name, :phone, :message, :email]
59
45
  end
60
46
 
47
+ def inquiry_saved_and_validated?
48
+ if @inquiry.valid?
49
+ @filter = SpamFilter.new(@inquiry, request)
50
+ @filter.call
51
+
52
+ @filter.valid?
53
+ end
54
+ end
55
+
61
56
  end
62
57
  end
63
58
  end
@@ -5,7 +5,7 @@ module Refinery
5
5
  module Inquiries
6
6
  class Inquiry < Refinery::Core::BaseModel
7
7
 
8
- if Inquiries.config.filter_spam
8
+ if Inquiries.filter_spam
9
9
  filters_spam message_field: :message,
10
10
  email_field: :email,
11
11
  author_field: :name,
@@ -21,6 +21,9 @@ module Refinery
21
21
 
22
22
  default_scope { order('created_at DESC') }
23
23
 
24
+ scope :ham, -> { where(spam: false) }
25
+ scope :spam, -> { where(spam: true) }
26
+
24
27
  def self.latest(number = 7, include_spam = false)
25
28
  include_spam ? limit(number) : ham.limit(number)
26
29
  end
@@ -4,11 +4,13 @@
4
4
  :object => inquiry,
5
5
  :include_object_name => true
6
6
  } %>
7
+
7
8
  <div class="field">
8
9
  <%= f.label :name, :class => 'placeholder-fallback required' %>
9
10
  <%= f.text_field :name, :class => 'text', :required => 'required',
10
11
  :placeholder => (t('name', :scope => 'activerecord.attributes.refinery/inquiries/inquiry') if Refinery::Inquiries.show_placeholders) %>
11
12
  </div>
13
+
12
14
  <div class="field">
13
15
  <%= f.label :email, :class => 'placeholder-fallback required' %>
14
16
  <%= f.email_field :email, :class => 'text email', :required => 'required',
@@ -28,6 +30,16 @@
28
30
  <%= f.text_area :message, :rows => 8, :required => 'required',
29
31
  :placeholder => (t('message', :scope => 'activerecord.attributes.refinery/inquiries/inquiry') if Refinery::Inquiries.show_placeholders) %>
30
32
  </div>
33
+
34
+ <% if Refinery::Inquiries.recaptcha_site_key.present? %>
35
+ <% content_for :javascripts do %>
36
+ <script src='https://www.google.com/recaptcha/api.js'></script>
37
+ <% end %>
38
+ <div class='field captcha'>
39
+ <div class="g-recaptcha" data-sitekey="<%= Refinery::Inquiries.recaptcha_site_key %>"></div>
40
+ </div>
41
+ <% end %>
42
+
31
43
  <div class="actions">
32
44
  <%= f.submit t('.send') %>
33
45
  <%= link_to t('.privacy_policy'), "/privacy-policy", :id => "privacy_link" if Refinery::Inquiries.show_contact_privacy_link %>
data/certs/parndt.pem ADDED
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDhjCCAm6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBNMQ0wCwYDVQQDDARnZW1z
3
+ MREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixkARkWBWFybmR0MRIwEAYK
4
+ CZImiZPyLGQBGRYCaW8wHhcNMTYwNjEwMDMwNjQyWhcNMTcwNjEwMDMwNjQyWjBN
5
+ MQ0wCwYDVQQDDARnZW1zMREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixk
6
+ ARkWBWFybmR0MRIwEAYKCZImiZPyLGQBGRYCaW8wggEiMA0GCSqGSIb3DQEBAQUA
7
+ A4IBDwAwggEKAoIBAQDMLLiiRX/NrRDQxcNO/bPNe51IhKeyACDjTTx0VGCG696t
8
+ qdD23FjUrAYuQTW5P7Auh9qdcCnvPHJSwf31m+EGTshy/hcNYz2k/mrbwAfdytv3
9
+ GAR+sFnMYtWvVQNeHBWXIaYMiSDP0WtbT6QqQx3SuA6ZpXNXD1dbm64MzHgMHqXP
10
+ uHnLf2s0VCnTLorPH2J6CO5Y+Sx+IBqJi9/nO2oEEIXQCQRLgRevHk+TovDisW5V
11
+ OMEPX7fo29R5J2T7mjkNLGJ5Ae1KiU9A60LsMco37HMWE8DM90pg1ues5tg6MfJT
12
+ yuX4N0rJWdIC5ciHDsyJ4pi21s8fdUulk0YmJALDAgMBAAGjcTBvMAkGA1UdEwQC
13
+ MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSqXg48+kmcdOxIrkZhhgSV1flD1jAa
14
+ BgNVHREEEzARgQ9nZW1zQHAuYXJuZHQuaW8wGgYDVR0SBBMwEYEPZ2Vtc0BwLmFy
15
+ bmR0LmlvMA0GCSqGSIb3DQEBBQUAA4IBAQBSSS4nOXpPPMdAK4ApGHxbzS+/u77p
16
+ V8gLBJX4hKMpbMNmdI+n6YsqvG6kMljgYBamucfrAkKdmHWn9ydST3o8RQAcYxS8
17
+ bz49gD3c4Nm4P6eEVKFmebO9/MoiM7rMb0lk/xH1drtey/9ulohrg8Dz+BoQJ+9T
18
+ m2lJzojOU7w461lPVZtKlDlseu68KvEQ2AdUBBa1b6w3S/EFkcdhErOT7dyQpePI
19
+ +wsbjPvdIWsjWQMn6MasZYIVTnenwP2jg+z9HSNxW0NL2vZx8VabpsWGWfrb+koj
20
+ rE1h12GTgwaC3r9FOkdnSpClgPYAzTTCJ8kD74qO2zC9pGegrUXdWFM6
21
+ -----END CERTIFICATE-----
@@ -5,6 +5,8 @@ en:
5
5
  title: Inquiries
6
6
  description: Provides a contact form and stores inquiries
7
7
  inquiries:
8
+ spam_filter:
9
+ captcha_invalid: Sorry, we could not verify that you aren't a robot
8
10
  config:
9
11
  from_name: "%{name} - %{site_name}"
10
12
  inquiries:
@@ -5,6 +5,8 @@ fr:
5
5
  title: Requêtes
6
6
  description: Fournit un formulaire de contact et gère les demandes de contacts.
7
7
  inquiries:
8
+ spam_filter:
9
+ captcha_invalid: "Désolé, nous ne pouvons pas vérifier que vous n'êtes pas un robot"
8
10
  config:
9
11
  from_name: "%{name} - %{site_name}"
10
12
  inquiries:
@@ -21,4 +21,7 @@ Refinery::Inquiries.configure do |config|
21
21
 
22
22
  # Toggle the spam filter
23
23
  # config.filter_spam = <%= Refinery::Inquiries.filter_spam.inspect %>
24
+
25
+ # Toggle recaptcha support with your recaptcha "Site key"
26
+ # config.recaptcha_site_key = <%= Refinery::Inquiries.recaptcha_site_key.inspect %>
24
27
  end
@@ -8,7 +8,7 @@ module Refinery
8
8
  config_accessor :send_notifications_for_inquiries_marked_as_spam
9
9
  config_accessor :from_name
10
10
  config_accessor :post_path, :page_path_new, :page_path_thank_you
11
- config_accessor :filter_spam
11
+ config_accessor :filter_spam, :recaptcha_site_key
12
12
 
13
13
  self.show_contact_privacy_link = true
14
14
  self.show_phone_number_field = true
@@ -19,5 +19,10 @@ module Refinery
19
19
  self.page_path_new = "/contact"
20
20
  self.page_path_thank_you = "/contact/thank_you"
21
21
  self.filter_spam = true
22
+ self.recaptcha_site_key = nil
23
+
24
+ def self.filter_spam
25
+ config.filter_spam && config.recaptcha_site_key.blank?
26
+ end
22
27
  end
23
28
  end
@@ -0,0 +1,100 @@
1
+ require 'httpclient'
2
+ require 'uri'
3
+
4
+ module Refinery
5
+ module Inquiries
6
+ class SpamFilter
7
+ def initialize(inquiry, request)
8
+ @inquiry = inquiry
9
+ @request = request
10
+ @params = request.params
11
+ end
12
+
13
+ def call
14
+ if recaptcha?
15
+ if recaptcha_validated?
16
+ @valid = true
17
+ @inquiry.save
18
+ else
19
+ @inquiry.errors.add(:base, ::I18n.t(:captcha_invalid, scope: "refinery.inquiries.spam_filter"))
20
+ end
21
+ elsif simple_filter?
22
+ @inquiry.save
23
+ @valid = simple_filter_validated?
24
+ end
25
+
26
+ if notify?
27
+ send_notification_email!
28
+ send_confirmation_email!
29
+ end
30
+ end
31
+
32
+ def valid?
33
+ @valid == true
34
+ end
35
+
36
+ def notify?
37
+ if valid?
38
+ if simple_filter?
39
+ @inquiry.ham? || Inquiries.send_notifications_for_inquiries_marked_as_spam
40
+ else
41
+ true
42
+ end
43
+ end
44
+ end
45
+
46
+ def recaptcha_validated?
47
+ return true unless recaptcha?
48
+ # avoid doing a second request if we already have a result.
49
+ return @recaptcha_validated unless @recaptcha_validated.nil?
50
+
51
+ @recaptcha_validated = recaptcha_success?
52
+ end
53
+
54
+ private
55
+
56
+ def recaptcha?
57
+ Inquiries.recaptcha_site_key.present?
58
+ end
59
+
60
+ GOOGLE_SITEVERIFY_URL = "https://www.google.com/recaptcha/api/siteverify".freeze
61
+ def recaptcha_success?
62
+ http = HTTPClient.new
63
+ response = http.get(
64
+ GOOGLE_SITEVERIFY_URL,
65
+ secret: Rails.application.secrets.recaptcha_secret_key,
66
+ response: @params["g-recaptcha-response"]
67
+ )
68
+ JSON.parse(response.body)["success"] == true
69
+ end
70
+
71
+ def simple_filter?
72
+ Inquiries.filter_spam
73
+ end
74
+
75
+ def simple_filter_validated?
76
+ return true unless simple_filter?
77
+
78
+ @inquiry.ham?
79
+ end
80
+
81
+ def send_notification_email!
82
+ begin
83
+ InquiryMailer.notification(@inquiry, @request).deliver_now
84
+ rescue
85
+ Rails.logger.warn "There was an error delivering an inquiry notification.\n#{$!}\n"
86
+ end
87
+ end
88
+
89
+ def send_confirmation_email!
90
+ if Setting.send_confirmation?
91
+ begin
92
+ InquiryMailer.confirmation(@inquiry, @request).deliver_now
93
+ rescue
94
+ Rails.logger.warn "There was an error delivering an inquiry confirmation:\n#{$!}\n"
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
data/readme.md CHANGED
@@ -48,6 +48,29 @@ To do this, include it in your `application.css` manifest file and insert:
48
48
  //= require refinery/inquiries/inquiries
49
49
  ```
50
50
 
51
+ ## How do I enable reCAPTCHA support?
52
+
53
+ Note: enabling this feature disables the built in spam filtering.
54
+
55
+ Just add your reCAPTCHA "Site key" in `config/initializers/refinery/inquiries.rb`:
56
+
57
+ ```ruby
58
+ config.recaptcha_site_key = "do NOT put your secret key here"
59
+ ```
60
+
61
+ Inside `config/secrets.yml`, the file for application secrets in Rails applications,
62
+ place the secret key:
63
+
64
+ ```yml
65
+ development:
66
+ recaptcha_secret_key: "This IS your secret key"
67
+
68
+ production:
69
+ recaptcha_secret_key: <%= ENV["RECAPTCHA_SECRET_KEY"] %>
70
+ ```
71
+
72
+ Note: This expects you to set your secret key via `ENV` in your production environment.
73
+
51
74
  ## How do I set up email to be sent from GMail, SendGrid or other service?
52
75
 
53
76
  Inquiries uses `actionmailer` under the hood so you can refer to [Rails Action Mailer guide](http://guides.rubyonrails.org/action_mailer_basics.html). For example to use GMail see [Action Mailer Configuration for GMail](http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration-for-gmail) guide.
@@ -62,7 +85,7 @@ Go into your 'Inquiries' tab in the Refinery admin area and click on "Edit confi
62
85
 
63
86
  ## Help! How do I send emails from no-reply@domain.com.au instead of no-reply@com.au?
64
87
 
65
- Simply set the following in config/application.rb:
88
+ Simply set the following in `config/application.rb`:
66
89
 
67
90
  ```ruby
68
91
  config.action_dispatch.tld_length = 2
@@ -1,21 +1,27 @@
1
1
  # Encoding: UTF-8
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = %q{refinerycms-inquiries}
5
- s.version = %q{3.0.1}
6
- s.summary = %q{Inquiry handling functionality for the Refinery CMS project.}
7
- s.description = %q{Inquiry handling functionality extracted from Refinery CMS to allow you to have a contact form and manage inquiries in the Refinery backend.}
8
- s.homepage = %q{http://refinerycms.com}
9
- s.email = %q{info@refinerycms.com}
10
- s.authors = ['Uģis Ozols', 'Philip Arndt', 'Rob Yurkowski']
11
- s.require_paths = %w(lib)
12
- s.license = %q{MIT}
4
+ s.name = %q{refinerycms-inquiries}
5
+ s.version = %q{3.1.0}
6
+ s.summary = %q{Inquiry handling functionality for the Refinery CMS project.}
7
+ s.description = %q{Inquiry handling functionality extracted from Refinery CMS to allow you to have a contact form and manage inquiries in the Refinery backend.}
8
+ s.homepage = %q{http://refinerycms.com}
9
+ s.email = %q{info@refinerycms.com}
10
+ s.authors = ['Uģis Ozols', 'Philip Arndt', 'Rob Yurkowski']
11
+ s.require_paths = %w(lib)
12
+ s.license = %q{MIT}
13
13
 
14
- s.files = `git ls-files`.split("\n")
15
- s.test_files = `git ls-files -- spec/*`.split("\n")
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- spec/*`.split("\n")
16
16
 
17
17
  s.add_dependency 'refinerycms-core', '~> 3.0.0'
18
18
  s.add_dependency 'refinerycms-settings', '~> 3.0.0'
19
19
  s.add_dependency 'filters_spam', '~> 0.2'
20
20
  s.add_dependency 'actionmailer', '~> 4.2.4'
21
+ s.add_dependency 'httpclient'
22
+
23
+ s.cert_chain = [File.expand_path("../certs/parndt.pem", __FILE__)]
24
+ if $0 =~ /gem\z/ && ARGV.include?("build") && ARGV.include?(__FILE__)
25
+ s.signing_key = File.expand_path("~/.ssh/gem-private_key.pem")
26
+ end
21
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-inquiries
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uģis Ozols
@@ -9,8 +9,30 @@ authors:
9
9
  - Rob Yurkowski
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2016-02-01 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIDhjCCAm6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBNMQ0wCwYDVQQDDARnZW1z
16
+ MREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixkARkWBWFybmR0MRIwEAYK
17
+ CZImiZPyLGQBGRYCaW8wHhcNMTYwNjEwMDMwNjQyWhcNMTcwNjEwMDMwNjQyWjBN
18
+ MQ0wCwYDVQQDDARnZW1zMREwDwYKCZImiZPyLGQBGRYBcDEVMBMGCgmSJomT8ixk
19
+ ARkWBWFybmR0MRIwEAYKCZImiZPyLGQBGRYCaW8wggEiMA0GCSqGSIb3DQEBAQUA
20
+ A4IBDwAwggEKAoIBAQDMLLiiRX/NrRDQxcNO/bPNe51IhKeyACDjTTx0VGCG696t
21
+ qdD23FjUrAYuQTW5P7Auh9qdcCnvPHJSwf31m+EGTshy/hcNYz2k/mrbwAfdytv3
22
+ GAR+sFnMYtWvVQNeHBWXIaYMiSDP0WtbT6QqQx3SuA6ZpXNXD1dbm64MzHgMHqXP
23
+ uHnLf2s0VCnTLorPH2J6CO5Y+Sx+IBqJi9/nO2oEEIXQCQRLgRevHk+TovDisW5V
24
+ OMEPX7fo29R5J2T7mjkNLGJ5Ae1KiU9A60LsMco37HMWE8DM90pg1ues5tg6MfJT
25
+ yuX4N0rJWdIC5ciHDsyJ4pi21s8fdUulk0YmJALDAgMBAAGjcTBvMAkGA1UdEwQC
26
+ MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSqXg48+kmcdOxIrkZhhgSV1flD1jAa
27
+ BgNVHREEEzARgQ9nZW1zQHAuYXJuZHQuaW8wGgYDVR0SBBMwEYEPZ2Vtc0BwLmFy
28
+ bmR0LmlvMA0GCSqGSIb3DQEBBQUAA4IBAQBSSS4nOXpPPMdAK4ApGHxbzS+/u77p
29
+ V8gLBJX4hKMpbMNmdI+n6YsqvG6kMljgYBamucfrAkKdmHWn9ydST3o8RQAcYxS8
30
+ bz49gD3c4Nm4P6eEVKFmebO9/MoiM7rMb0lk/xH1drtey/9ulohrg8Dz+BoQJ+9T
31
+ m2lJzojOU7w461lPVZtKlDlseu68KvEQ2AdUBBa1b6w3S/EFkcdhErOT7dyQpePI
32
+ +wsbjPvdIWsjWQMn6MasZYIVTnenwP2jg+z9HSNxW0NL2vZx8VabpsWGWfrb+koj
33
+ rE1h12GTgwaC3r9FOkdnSpClgPYAzTTCJ8kD74qO2zC9pGegrUXdWFM6
34
+ -----END CERTIFICATE-----
35
+ date: 2016-12-31 00:00:00.000000000 Z
14
36
  dependencies:
15
37
  - !ruby/object:Gem::Dependency
16
38
  name: refinerycms-core
@@ -68,6 +90,20 @@ dependencies:
68
90
  - - "~>"
69
91
  - !ruby/object:Gem::Version
70
92
  version: 4.2.4
93
+ - !ruby/object:Gem::Dependency
94
+ name: httpclient
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
71
107
  description: Inquiry handling functionality extracted from Refinery CMS to allow you
72
108
  to have a contact form and manage inquiries in the Refinery backend.
73
109
  email: info@refinerycms.com
@@ -103,6 +139,7 @@ files:
103
139
  - bin/rake
104
140
  - bin/rspec
105
141
  - bin/spring
142
+ - certs/parndt.pem
106
143
  - config/locales/bg.yml
107
144
  - config/locales/cs.yml
108
145
  - config/locales/da.yml
@@ -132,6 +169,7 @@ files:
132
169
  - lib/refinery/inquiries.rb
133
170
  - lib/refinery/inquiries/configuration.rb
134
171
  - lib/refinery/inquiries/engine.rb
172
+ - lib/refinery/inquiries/spam_filter.rb
135
173
  - lib/refinerycms-inquiries.rb
136
174
  - license.md
137
175
  - readme.md
@@ -164,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
202
  version: '0'
165
203
  requirements: []
166
204
  rubyforge_project:
167
- rubygems_version: 2.5.1
205
+ rubygems_version: 2.5.2
168
206
  signing_key:
169
207
  specification_version: 4
170
208
  summary: Inquiry handling functionality for the Refinery CMS project.
metadata.gz.sig ADDED
Binary file