refinerycms-inquiries 3.0.1 → 3.1.0

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: 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