ecm_contact2 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 382aa5e59b2d532b083936a45a9bf73fec885e52
4
+ data.tar.gz: 9279c9dbbde7383c38f9fdb5e534d23c105dfc99
5
+ SHA512:
6
+ metadata.gz: 0de2f5d29d7a151799876f26271b4dc2b35d46558e1dfe5e61dab20c5170751f4ac9149031dd28028223fbfcde5f3513872908a6ca97f293dba680802e9530fb
7
+ data.tar.gz: 9f3af967e49af7fbe0b76265f3e57f43335590c377817de05a5a602cccde68658394bd80317e7ccfd5ad7804a05e6223b560968fe19483a071c9ab416d9b33bd
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2012 Roberto Vásquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,37 @@
1
+ = ECM Contact 2
2
+
3
+ Easy contact form for rails 4.x.
4
+
5
+ = Installation
6
+
7
+ Add the gem to your bundle:
8
+
9
+ # Gemfile
10
+ gem 'ecm_contact2'
11
+
12
+ Install your bundle:
13
+
14
+ > bundle install
15
+
16
+ Run the generator:
17
+
18
+ > rails g ecm:contact:install
19
+
20
+ This will create an initializer file in config/initializers. You should configure
21
+ your recipients there.
22
+
23
+ Add the routes:
24
+
25
+ # config/routes.rb
26
+ Ecm::Contact::Routing.routes(self)
27
+
28
+ Add the locale files
29
+
30
+ > rails g ecm:contact:locales
31
+
32
+ = Usage
33
+
34
+ = License
35
+
36
+ This project rocks and uses MIT-LICENSE.
37
+
data/Rakefile ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'EcmContact'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+
24
+
25
+
26
+ Bundler::GemHelper.install_tasks
27
+
@@ -0,0 +1,30 @@
1
+ #ecm_contact_request abbr {
2
+ border-bottom: 0px;
3
+ }
4
+
5
+ #ecm_contact_request #ecm_contact_request_submit span.glyphicon {
6
+ margin-right: 5px;
7
+ }
8
+
9
+ #ecm_contact_request div.input, #ecm_contact_request div.textarea {
10
+ margin-bottom: 20px;
11
+ }
12
+
13
+ #ecm_contact_request label[for=ecm_contact_request_terms_of_service] {
14
+ display: inline-block;
15
+ margin-left: 10px;
16
+ margin-top: -17px;
17
+ }
18
+
19
+ #ecm_contact_request .boolean span.error {
20
+ margin-left: 20px;
21
+ display: block;
22
+ }
23
+
24
+ #ecm_contact_request label {
25
+ font-weight: normal;
26
+ }
27
+
28
+ #ecm_contact_request span.error {
29
+ color: red;
30
+ }
@@ -0,0 +1,18 @@
1
+ class Ecm::Contact::RequestsController < Ecm::Contact::Configuration.base_controller.constantize
2
+ def index
3
+ @title = I18n.t('ecm.contact.request.index.title')
4
+ @contact_request = Ecm::Contact::Request.new
5
+ end
6
+
7
+ def create
8
+ @title = I18n.t('ecm.contact.request.index.title')
9
+ @contact_request = Ecm::Contact::Request.new(params[:ecm_contact_request])
10
+
11
+ if @contact_request.deliver
12
+ redirect_to({ :action => 'index' }, :notice => lambda { I18n.t('ecm.contact.form.messages.delivered') }.call )
13
+ else
14
+ render :index
15
+ end
16
+ end
17
+ end
18
+
@@ -0,0 +1,28 @@
1
+ module Ecm
2
+ module Contact
3
+ class Request < MailForm::Base
4
+ attribute :name
5
+ attribute :email
6
+ attribute :phone
7
+ attribute :message
8
+ attribute :terms_of_service
9
+ attribute :nickname, :captcha => true
10
+
11
+ validates :email, :format => { :with => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i }, :presence => true # , :message => Proc.new { I18n.t("activerecord.errors.messages.invalid") }.call }
12
+ validates :message, :presence => true # { :message => Proc.new { I18n.t("activerecord.errors.messages.empty") }.call }
13
+ validates :name, :presence => true # { :message => Proc.new { I18n.t("activerecord.errors.messages.empty") }.call }
14
+ validates :terms_of_service, :acceptance => true # { :message => Proc.new { I18n.t("activerecord.errors.messages.accepted") }.call }
15
+
16
+ # Declare the e-mail headers. It accepts anything the mail method
17
+ # in ActionMailer accepts.
18
+ def headers
19
+ {
20
+ :subject => Proc.new { I18n.t('ecm.contact.request.subject', :application_name => Rails.application.class.to_s.split("::").first) }.call,
21
+ # :to => I18n.t('ecm.contact.request.recipients'),
22
+ :to => Ecm::Contact::Configuration.recipients[Rails.env],
23
+ :from => %("#{name}" <#{email}>)
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,17 @@
1
+ <div class="well">
2
+ <%= simple_form_for(@contact_request) do |f| %>
3
+ <%= f.input :nickname, :input_html => { :style => 'display:none' }, :label_html => { :style => 'display:none' } %>
4
+ <%= f.input :name, :input_html => { :class => Ecm::Contact::Configuration.input_name_css_classes } %>
5
+ <%= f.input :email, :input_html => { :class => Ecm::Contact::Configuration.input_email_css_classes } %>
6
+ <%= f.input :phone, :input_html => { :class => Ecm::Contact::Configuration.input_phone_css_classes } %>
7
+ <%= f.input :message, :as => :text, :input_html => { :class => Ecm::Contact::Configuration.input_message_css_classes } %>
8
+ <%= f.input :terms_of_service, :as => :boolean, :required => true, :input_html => { :class => Ecm::Contact::Configuration.input_terms_of_service_css_classes } %>
9
+
10
+ <div class="controls form-actions">
11
+ <%= button_tag(:type => 'submit', :class => 'input btn btn-primary', :id => 'ecm_contact_request_submit') do %>
12
+ <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
13
+ <%= t('helpers.submit.create', :model => f.object.class.model_name.human) %>
14
+ <% end %>
15
+ </div>
16
+ <% end %>
17
+ </div>
@@ -0,0 +1,39 @@
1
+ <h4 style="text-decoration:underline"><%= message.subject %></h4>
2
+
3
+ <% @resource.mail_form_attributes.each do |attribute, value|
4
+ next if value.blank? %>
5
+
6
+ <p><b><%= @resource.class.human_attribute_name(attribute) %>:</b>
7
+ <%= case value
8
+ when /\n/
9
+ raw(simple_format(h(value)))
10
+ when Time, DateTime, Date
11
+ I18n.l(value)
12
+ else
13
+ value
14
+ end
15
+ %></p>
16
+ <% end %>
17
+
18
+ <% unless @resource.class.mail_appendable.blank? %>
19
+ <br /><h4 style="text-decoration:underline"><%= I18n.t :title, :scope => [ :mail_form, :request ], :default => 'Request information' %></h4>
20
+
21
+ <% @resource.class.mail_appendable.each do |attribute|
22
+ value = @resource.request.send(attribute)
23
+
24
+ value = if value.is_a?(Hash) && !value.empty?
25
+ list = value.to_a.map{ |k,v| content_tag(:li, h("#{k}: #{v.inspect}")) }.join("\n")
26
+ content_tag(:ul, raw(list), :style => "list-style:none;")
27
+ elsif value.is_a?(String)
28
+ value
29
+ else
30
+ value.inspect
31
+ end
32
+ %>
33
+
34
+ <p><b><%= I18n.t attribute, :scope => [ :mail_form, :request ], :default => attribute.to_s.humanize %>:</b>
35
+ <%= value.include?("\n") ? simple_format(value) : value %></p>
36
+ <% end %>
37
+ <br />
38
+ <% end %>
39
+
@@ -0,0 +1,7 @@
1
+ <% content_for :title do %><%= I18n.t('ecm.contact.request.index.page_title') %><% end %>
2
+ <% content_for :meta_description do %><%= I18n.t('ecm.contact.request.index.meta_description') %><% end %>
3
+ <div id="ecm_contact_request">
4
+ <h2><%= Ecm::Contact::Request.model_name.human %></h2>
5
+
6
+ <%= render 'form' %>
7
+ </div>
@@ -0,0 +1 @@
1
+ <%= render @resource %>
@@ -0,0 +1,34 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+ require 'active_support/hash_with_indifferent_access'
4
+
5
+ module Ecm
6
+ module Contact
7
+ module Configuration
8
+ def configure
9
+ yield self
10
+ end
11
+ mattr_accessor :input_name_css_classes
12
+
13
+ mattr_accessor :input_email_css_classes
14
+
15
+ mattr_accessor :input_phone_css_classes
16
+
17
+ mattr_accessor :input_message_css_classes
18
+
19
+ mattr_accessor :input_terms_of_service_css_classes
20
+
21
+ mattr_accessor :recipients do
22
+ {}
23
+ end
24
+
25
+ mattr_accessor :base_controller do
26
+ 'ApplicationController'
27
+ end
28
+
29
+ def recipients=(recipients)
30
+ @@recipients = HashWithIndifferentAccess.new(recipients)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,9 @@
1
+ module Ecm
2
+ module Contact
3
+ class Engine < ::Rails::Engine
4
+ config.to_prepare do
5
+ Rails.application.config.assets.precompile += %w[ecm_contact.css]
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ module Ecm
2
+ module Contact
3
+ class Routing
4
+ def self.routes(router, options = {})
5
+ options.reverse_merge!(
6
+ { :contact_request_actions => [:index, :create] }
7
+ )
8
+
9
+ router.resources :ecm_contact_requests, :only => options[:contact_request_actions], :controller => 'ecm/contact/requests'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module Contact
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
6
+
@@ -0,0 +1,12 @@
1
+ require 'mail_form'
2
+ require 'simple_form'
3
+
4
+ require 'ecm/contact/engine'
5
+ require 'ecm/contact/routing'
6
+ require 'ecm/contact/configuration'
7
+
8
+ module Ecm
9
+ module Contact
10
+ extend Configuration
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ module Ecm
2
+ module Contact
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc "Generates the intializer"
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_intializer
10
+ copy_file "ecm_contact.rb", "config/initializers/ecm_contact.rb"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ Ecm::Contact.configure do |config|
2
+ # Configure your contact requiest recipients here.
3
+ #
4
+ # You can specify multiple recipients and multiple environments.
5
+ config.recipients = {
6
+ :development => %w[ info@development.example.com ],
7
+ :test => %w[ info@test.example.com ],
8
+ :production => %w[ info@production.example.com ]
9
+ }
10
+
11
+ # Configure your input field css classes here.
12
+ config.input_name_css_classes = 'form-control'
13
+ config.input_email_css_classes = 'form-control'
14
+ config.input_phone_css_classes = 'form-control'
15
+ config.input_message_css_classes = 'form-control'
16
+ config.input_terms_of_service_css_classes = ''
17
+
18
+ # set the base controller for the contact form
19
+ #
20
+ # Default: config.base_controller = 'ApplicationController'
21
+ #
22
+ config.base_controller = 'Frontend::ApplicationController'
23
+ end
@@ -0,0 +1,21 @@
1
+ module Ecm
2
+ module Contact
3
+ module Generators
4
+ class LocalesGenerator < Rails::Generators::Base
5
+ desc "Generates the locales"
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_intializer
10
+ copy_file "ecm.contact.de.yml", "config/locales/ecm.contact.de.yml"
11
+ copy_file "ecm.contact.en.yml", "config/locales/ecm.contact.en.yml"
12
+ copy_file "ecm.contact.request.de.yml", "config/locales/ecm.contact.request.de.yml"
13
+ copy_file "ecm.contact.request.en.yml", "config/locales/ecm.contact.request.en.yml"
14
+ copy_file "ecm.contact.routes.de.yml", "config/locales/ecm.contact.routes.de.yml"
15
+ copy_file "ecm.contact.routes.en.yml", "config/locales/ecm.contact.routes.en.yml"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,19 @@
1
+ de:
2
+ ecm:
3
+ contact:
4
+ form:
5
+ messages:
6
+ delivered: "Ihre Kontaktanfrage wurde versandt."
7
+ request:
8
+ index:
9
+ page_title: Kontaktanfrage
10
+ meta_description: Kontaktieren Sie uns über unser Kontaktformular
11
+ title: Kontaktanfrage
12
+ subject: "[%{application_name}] Neue Kontaktanfrage"
13
+ simple_form:
14
+ "yes": 'Ja'
15
+ "no": 'Nein'
16
+ required:
17
+ text: 'Pflichtfeld'
18
+ mark: '*'
19
+
@@ -0,0 +1,19 @@
1
+ en:
2
+ ecm:
3
+ contact:
4
+ form:
5
+ messages:
6
+ delivered: "Your contact request has been delivered."
7
+ request:
8
+ index:
9
+ page_title: Contact request
10
+ meta_description: Contact us
11
+ title: Contact request
12
+ subject: "[%{application_name}] New contact request"
13
+ simple_form:
14
+ "yes": 'Yes'
15
+ "no": 'No'
16
+ required:
17
+ text: 'required'
18
+ mark: '*'
19
+
@@ -0,0 +1,13 @@
1
+ de:
2
+ mail_form:
3
+ models:
4
+ ecm/contact/request: Kontaktanfrage
5
+ attributes:
6
+ ecm/contact/request:
7
+ email: E-Mail
8
+ name: Name
9
+ message: Nachricht
10
+ phone: Telefon
11
+ terms_of_service: Hiermit erlaube ich dem Seitenbetreiber die Nutzung meiner Daten zwecks Beantwortung dieser Kontaktanfrage.
12
+ request:
13
+ title: "Kontaktanfrage"
@@ -0,0 +1,13 @@
1
+ en:
2
+ mail_form:
3
+ models:
4
+ ecm/contact/request: contact request
5
+ attributes:
6
+ ecm/contact/request:
7
+ email: email
8
+ name: name
9
+ message: message
10
+ phone: phone
11
+ terms_of_service: I hereby allow the site owner to use my personal data for the purpose of answering this request.
12
+ request:
13
+ title: contact request
@@ -0,0 +1,3 @@
1
+ de:
2
+ routes:
3
+ ecm_contact_requests: kontakt
@@ -0,0 +1,3 @@
1
+ en:
2
+ routes:
3
+ ecm_contact_requests: contact
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ecm_contact do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,256 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_contact2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Roberto Vasquez Angel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 5.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 5.0.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: mail_form
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: simple_form
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: thin
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: yard
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: capybara
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec-rails
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '2.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: shoulda-matchers
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rb-inotify
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: 0.9.0
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: 0.9.0
145
+ - !ruby/object:Gem::Dependency
146
+ name: guard-rails
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: guard-rspec
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: guard-bundler
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: i18n_routing
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ description: Basic contact form.
202
+ email:
203
+ - roberto@vasquez-angel.de
204
+ executables: []
205
+ extensions: []
206
+ extra_rdoc_files: []
207
+ files:
208
+ - MIT-LICENSE
209
+ - README.rdoc
210
+ - Rakefile
211
+ - app/assets/stylesheets/ecm_contact.css
212
+ - app/controllers/ecm/contact/requests_controller.rb
213
+ - app/mail_forms/ecm/contact/request.rb
214
+ - app/views/ecm/contact/requests/_form.erb
215
+ - app/views/ecm/contact/requests/_request.erb
216
+ - app/views/ecm/contact/requests/index.html.erb
217
+ - app/views/mail_form/contact.erb
218
+ - lib/ecm/contact/configuration.rb
219
+ - lib/ecm/contact/engine.rb
220
+ - lib/ecm/contact/routing.rb
221
+ - lib/ecm/contact/version.rb
222
+ - lib/ecm_contact2.rb
223
+ - lib/generators/ecm/contact/install/install_generator.rb
224
+ - lib/generators/ecm/contact/install/templates/ecm_contact.rb
225
+ - lib/generators/ecm/contact/locales/locales_generator.rb
226
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.de.yml
227
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.en.yml
228
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.request.de.yml
229
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.request.en.yml
230
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.routes.de.yml
231
+ - lib/generators/ecm/contact/locales/templates/ecm.contact.routes.en.yml
232
+ - lib/tasks/ecm_contact_tasks.rake
233
+ homepage: https://github.com/robotex82/ecm_contact2
234
+ licenses: []
235
+ metadata: {}
236
+ post_install_message:
237
+ rdoc_options: []
238
+ require_paths:
239
+ - lib
240
+ required_ruby_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ required_rubygems_version: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ requirements: []
251
+ rubyforge_project:
252
+ rubygems_version: 2.4.8
253
+ signing_key:
254
+ specification_version: 4
255
+ summary: Basic contact form.
256
+ test_files: []