simple-pages-rails 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +22 -4
  3. data/Guardfile +47 -0
  4. data/app/assets/javascripts/simple_pages/application.js +0 -2
  5. data/app/assets/javascripts/simple_pages/pages.js.coffee +4 -0
  6. data/app/controllers/simple_pages/application_controller.rb +5 -4
  7. data/app/controllers/simple_pages/pages_controller.rb +6 -1
  8. data/app/helpers/simple_pages/application_helper.rb +0 -3
  9. data/app/helpers/simple_pages/pages_helper.rb +1 -1
  10. data/app/models/simple_pages/page.rb +6 -17
  11. data/lib/generators/simple_pages/USAGE +11 -0
  12. data/lib/generators/simple_pages/install_generator.rb +40 -0
  13. data/lib/generators/simple_pages/templates/cancan_ext.rb +25 -0
  14. data/lib/generators/simple_pages/templates/devise_ext.rb +25 -0
  15. data/lib/generators/simple_pages/templates/simple_pages.rb +19 -0
  16. data/lib/simple-pages-rails/version.rb +1 -1
  17. data/lib/simple_pages.rb +22 -11
  18. data/lib/simple_pages/controllers/page_layout_at.rb +34 -0
  19. data/lib/simple_pages/engine.rb +12 -0
  20. data/lib/simple_pages/models/page_attachment.rb +15 -0
  21. data/lib/simple_pages/models/page_author.rb +19 -0
  22. data/lib/simple_pages/models/page_locale.rb +28 -0
  23. data/lib/simple_pages/models/page_owner.rb +23 -0
  24. data/simple-pages-rails.gemspec +9 -1
  25. data/spec/configuration_spec.rb +39 -0
  26. data/spec/dummy/.rspec +1 -0
  27. data/spec/dummy/app/models/ability.rb +7 -0
  28. data/spec/dummy/app/models/user.rb +17 -0
  29. data/spec/dummy/config/environments/development.rb +2 -0
  30. data/spec/dummy/config/initializers/devise.rb +232 -0
  31. data/spec/dummy/config/initializers/simple_form.rb +142 -0
  32. data/spec/dummy/config/initializers/simple_form_bootstrap.rb +45 -0
  33. data/spec/dummy/config/initializers/simple_pages.rb +19 -0
  34. data/spec/dummy/config/locales/devise.en.yml +58 -0
  35. data/spec/dummy/config/locales/simple_form.en.yml +26 -0
  36. data/spec/dummy/config/routes.rb +3 -2
  37. data/spec/dummy/db/migrate/20121214105317_devise_create_users.rb +46 -0
  38. data/spec/dummy/db/migrate/20121214105802_create_simple_pages.simple_pages.rb +19 -0
  39. data/spec/dummy/db/schema.rb +51 -0
  40. data/spec/dummy/lib/cancan_ext.rb +25 -0
  41. data/spec/dummy/lib/devise_ext.rb +25 -0
  42. data/spec/dummy/lib/templates/erb/scaffold/_form.html.erb +13 -0
  43. data/spec/spec_helper.rb +54 -0
  44. metadata +193 -8
  45. data/lib/simple_pages/page_author.rb +0 -17
  46. data/lib/simple_pages/page_layout_at.rb +0 -32
  47. data/spec/dummy/README.rdoc +0 -261
@@ -0,0 +1,15 @@
1
+ require 'active_support/concern'
2
+
3
+ module SimplePages
4
+ module Models
5
+ module PageAttachment
6
+ extend ActiveSupport::Concern
7
+ included do
8
+ has_many :attachments, as: :resource
9
+ end
10
+
11
+ module ClassMethods
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ require 'active_support/concern'
2
+
3
+ module SimplePages
4
+ module Models
5
+ module PageAuthor
6
+ extend ActiveSupport::Concern
7
+ included do
8
+ has_many :simple_pages, class_name: 'SimplePages::Page', as: :author
9
+ end
10
+
11
+ module ClassMethods
12
+ end
13
+
14
+ def simple_page_owner_option
15
+ "#{self.class.name},#{self.id}"
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,28 @@
1
+ require 'active_support/concern'
2
+
3
+ module SimplePages
4
+ module Models
5
+ module PageLocale
6
+ extend ActiveSupport::Concern
7
+ included do
8
+ end
9
+
10
+ module ClassMethods
11
+ def localized(locale = ::I18n.locale)
12
+ if locale.to_s == 'en'
13
+ scoped
14
+ else
15
+ where('url LIKE ?', "%-#{locale.to_s.downcase}")
16
+ end
17
+ end
18
+ end
19
+
20
+ def set_as_localized(locale = ::I18n.locale)
21
+ return if locale.to_s == 'en'
22
+ unless url =~ /#{locale.to_s.downcase}$/
23
+ self.url += "-#{locale.to_s}"
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,23 @@
1
+ require 'active_support/concern'
2
+
3
+ module SimplePages
4
+ module Models
5
+ module PageOwner
6
+ extend ActiveSupport::Concern
7
+ included do
8
+ attr_reader :owner
9
+ attr_accessible :owner
10
+ belongs_to :author, polymorphic: true
11
+ end
12
+
13
+ module ClassMethods
14
+ end
15
+
16
+ def owner=(attrs)
17
+ owner_attrs = attrs.split(',')
18
+ self.author_type = owner_attrs.first
19
+ self.author_id = owner_attrs.last
20
+ end
21
+ end
22
+ end
23
+ end
@@ -18,8 +18,16 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ['lib']
19
19
 
20
20
  gem.add_dependency 'rails', '~> 3.2.9'
21
- # gem.add_dependency 'jquery-rails'
21
+ gem.add_dependency 'will_paginate'
22
22
  gem.add_dependency 'rails-theme-helper'
23
+ gem.add_dependency 'chosen-rails'
24
+ gem.add_dependency 'ckeditor_rails'
25
+ gem.add_dependency 'stringex'
23
26
 
24
27
  gem.add_development_dependency 'mysql2'
28
+ gem.add_development_dependency 'rspec-rails'
29
+ gem.add_development_dependency 'factory_girl_rails'
30
+ gem.add_development_dependency 'capybara'
31
+ gem.add_development_dependency 'guard-rspec'
32
+ gem.add_development_dependency 'guard-spork'
25
33
  end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Configuration' do
4
+ it 'should have config as SimplePages' do
5
+ SimplePages.configure do |config|
6
+ config.should be SimplePages
7
+ end
8
+ end
9
+
10
+ it 'should have controller_modules config' do
11
+ SimplePages.configure do |config|
12
+ config.controller_modules.should be_a_kind_of Array
13
+ end
14
+ end
15
+
16
+ it 'should have helper_modules config' do
17
+ SimplePages.configure do |config|
18
+ config.helper_modules.should be_a_kind_of Array
19
+ end
20
+ end
21
+
22
+ it 'should have page_modules config' do
23
+ SimplePages.configure do |config|
24
+ config.page_modules.should be_a_kind_of Array
25
+ end
26
+ end
27
+
28
+ it 'should have page_table_name config' do
29
+ SimplePages.configure do |config|
30
+ config.page_table_name.should eq 'simple_pages'
31
+ end
32
+ end
33
+
34
+ it 'should have pages_per_page config' do
35
+ SimplePages.configure do |config|
36
+ config.pages_per_page.should eq 30
37
+ end
38
+ end
39
+ end
data/spec/dummy/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,7 @@
1
+ class Ability
2
+ include CanCan::Ability
3
+
4
+ def initialize(user)
5
+ can :manage, SimplePages::Page
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ class User < ActiveRecord::Base
2
+ # Include default devise modules. Others available are:
3
+ # :token_authenticatable, :confirmable,
4
+ # :lockable, :timeoutable and :omniauthable
5
+ devise :database_authenticatable, :registerable,
6
+ :recoverable, :rememberable, :trackable, :validatable
7
+
8
+ # Setup accessible (or protected) attributes for your model
9
+ attr_accessible :email, :password, :password_confirmation, :remember_me
10
+ # attr_accessible :title, :body
11
+
12
+ def name
13
+ email
14
+ end
15
+
16
+ include SimplePages::Models::PageAuthor
17
+ end
@@ -34,4 +34,6 @@ Dummy::Application.configure do
34
34
 
35
35
  # Expands the lines which load the assets
36
36
  config.assets.debug = true
37
+
38
+ config.action_mailer.default_url_options = { :host => 'localhost:3000' }
37
39
  end
@@ -0,0 +1,232 @@
1
+ # Use this hook to configure devise mailer, warden hooks and so forth.
2
+ # Many of these configuration options can be set straight in your model.
3
+ Devise.setup do |config|
4
+ # ==> Mailer Configuration
5
+ # Configure the e-mail address which will be shown in Devise::Mailer,
6
+ # note that it will be overwritten if you use your own mailer class with default "from" parameter.
7
+ config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
8
+
9
+ # Configure the class responsible to send e-mails.
10
+ # config.mailer = "Devise::Mailer"
11
+
12
+ # ==> ORM configuration
13
+ # Load and configure the ORM. Supports :active_record (default) and
14
+ # :mongoid (bson_ext recommended) by default. Other ORMs may be
15
+ # available as additional gems.
16
+ require 'devise/orm/active_record'
17
+
18
+ # ==> Configuration for any authentication mechanism
19
+ # Configure which keys are used when authenticating a user. The default is
20
+ # just :email. You can configure it to use [:username, :subdomain], so for
21
+ # authenticating a user, both parameters are required. Remember that those
22
+ # parameters are used only when authenticating and not when retrieving from
23
+ # session. If you need permissions, you should implement that in a before filter.
24
+ # You can also supply a hash where the value is a boolean determining whether
25
+ # or not authentication should be aborted when the value is not present.
26
+ # config.authentication_keys = [ :email ]
27
+
28
+ # Configure parameters from the request object used for authentication. Each entry
29
+ # given should be a request method and it will automatically be passed to the
30
+ # find_for_authentication method and considered in your model lookup. For instance,
31
+ # if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
32
+ # The same considerations mentioned for authentication_keys also apply to request_keys.
33
+ # config.request_keys = []
34
+
35
+ # Configure which authentication keys should be case-insensitive.
36
+ # These keys will be downcased upon creating or modifying a user and when used
37
+ # to authenticate or find a user. Default is :email.
38
+ config.case_insensitive_keys = [ :email ]
39
+
40
+ # Configure which authentication keys should have whitespace stripped.
41
+ # These keys will have whitespace before and after removed upon creating or
42
+ # modifying a user and when used to authenticate or find a user. Default is :email.
43
+ config.strip_whitespace_keys = [ :email ]
44
+
45
+ # Tell if authentication through request.params is enabled. True by default.
46
+ # It can be set to an array that will enable params authentication only for the
47
+ # given strategies, for example, `config.params_authenticatable = [:database]` will
48
+ # enable it only for database (email + password) authentication.
49
+ # config.params_authenticatable = true
50
+
51
+ # Tell if authentication through HTTP Basic Auth is enabled. False by default.
52
+ # It can be set to an array that will enable http authentication only for the
53
+ # given strategies, for example, `config.http_authenticatable = [:token]` will
54
+ # enable it only for token authentication.
55
+ # config.http_authenticatable = false
56
+
57
+ # If http headers should be returned for AJAX requests. True by default.
58
+ # config.http_authenticatable_on_xhr = true
59
+
60
+ # The realm used in Http Basic Authentication. "Application" by default.
61
+ # config.http_authentication_realm = "Application"
62
+
63
+ # It will change confirmation, password recovery and other workflows
64
+ # to behave the same regardless if the e-mail provided was right or wrong.
65
+ # Does not affect registerable.
66
+ # config.paranoid = true
67
+
68
+ # By default Devise will store the user in session. You can skip storage for
69
+ # :http_auth and :token_auth by adding those symbols to the array below.
70
+ # Notice that if you are skipping storage for all authentication paths, you
71
+ # may want to disable generating routes to Devise's sessions controller by
72
+ # passing :skip => :sessions to `devise_for` in your config/routes.rb
73
+ config.skip_session_storage = [:http_auth]
74
+
75
+ # ==> Configuration for :database_authenticatable
76
+ # For bcrypt, this is the cost for hashing the password and defaults to 10. If
77
+ # using other encryptors, it sets how many times you want the password re-encrypted.
78
+ #
79
+ # Limiting the stretches to just one in testing will increase the performance of
80
+ # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
81
+ # a value less than 10 in other environments.
82
+ config.stretches = Rails.env.test? ? 1 : 10
83
+
84
+ # Setup a pepper to generate the encrypted password.
85
+ # config.pepper = "2d0908ec5e60ce39dcd5985c9f6ac62be8076789bc8d397682c241b02898b11c9c0acbf79d6b43b088106a009a307b710325e4657134ef390dc0066133241fce"
86
+
87
+ # ==> Configuration for :confirmable
88
+ # A period that the user is allowed to access the website even without
89
+ # confirming his account. For instance, if set to 2.days, the user will be
90
+ # able to access the website for two days without confirming his account,
91
+ # access will be blocked just in the third day. Default is 0.days, meaning
92
+ # the user cannot access the website without confirming his account.
93
+ # config.allow_unconfirmed_access_for = 2.days
94
+
95
+ # If true, requires any email changes to be confirmed (exactly the same way as
96
+ # initial account confirmation) to be applied. Requires additional unconfirmed_email
97
+ # db field (see migrations). Until confirmed new email is stored in
98
+ # unconfirmed email column, and copied to email column on successful confirmation.
99
+ config.reconfirmable = true
100
+
101
+ # Defines which key will be used when confirming an account
102
+ # config.confirmation_keys = [ :email ]
103
+
104
+ # ==> Configuration for :rememberable
105
+ # The time the user will be remembered without asking for credentials again.
106
+ # config.remember_for = 2.weeks
107
+
108
+ # If true, extends the user's remember period when remembered via cookie.
109
+ # config.extend_remember_period = false
110
+
111
+ # Options to be passed to the created cookie. For instance, you can set
112
+ # :secure => true in order to force SSL only cookies.
113
+ # config.rememberable_options = {}
114
+
115
+ # ==> Configuration for :validatable
116
+ # Range for password length. Default is 6..128.
117
+ # config.password_length = 6..128
118
+
119
+ # Email regex used to validate email formats. It simply asserts that
120
+ # an one (and only one) @ exists in the given string. This is mainly
121
+ # to give user feedback and not to assert the e-mail validity.
122
+ # config.email_regexp = /\A[^@]+@[^@]+\z/
123
+
124
+ # ==> Configuration for :timeoutable
125
+ # The time you want to timeout the user session without activity. After this
126
+ # time the user will be asked for credentials again. Default is 30 minutes.
127
+ # config.timeout_in = 30.minutes
128
+
129
+ # If true, expires auth token on session timeout.
130
+ # config.expire_auth_token_on_timeout = false
131
+
132
+ # ==> Configuration for :lockable
133
+ # Defines which strategy will be used to lock an account.
134
+ # :failed_attempts = Locks an account after a number of failed attempts to sign in.
135
+ # :none = No lock strategy. You should handle locking by yourself.
136
+ # config.lock_strategy = :failed_attempts
137
+
138
+ # Defines which key will be used when locking and unlocking an account
139
+ # config.unlock_keys = [ :email ]
140
+
141
+ # Defines which strategy will be used to unlock an account.
142
+ # :email = Sends an unlock link to the user email
143
+ # :time = Re-enables login after a certain amount of time (see :unlock_in below)
144
+ # :both = Enables both strategies
145
+ # :none = No unlock strategy. You should handle unlocking by yourself.
146
+ # config.unlock_strategy = :both
147
+
148
+ # Number of authentication tries before locking an account if lock_strategy
149
+ # is failed attempts.
150
+ # config.maximum_attempts = 20
151
+
152
+ # Time interval to unlock the account if :time is enabled as unlock_strategy.
153
+ # config.unlock_in = 1.hour
154
+
155
+ # ==> Configuration for :recoverable
156
+ #
157
+ # Defines which key will be used when recovering the password for an account
158
+ # config.reset_password_keys = [ :email ]
159
+
160
+ # Time interval you can reset your password with a reset password key.
161
+ # Don't put a too small interval or your users won't have the time to
162
+ # change their passwords.
163
+ config.reset_password_within = 6.hours
164
+
165
+ # ==> Configuration for :encryptable
166
+ # Allow you to use another encryption algorithm besides bcrypt (default). You can use
167
+ # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
168
+ # :authlogic_sha512 (then you should set stretches above to 20 for default behavior)
169
+ # and :restful_authentication_sha1 (then you should set stretches to 10, and copy
170
+ # REST_AUTH_SITE_KEY to pepper)
171
+ # config.encryptor = :sha512
172
+
173
+ # ==> Configuration for :token_authenticatable
174
+ # Defines name of the authentication token params key
175
+ # config.token_authentication_key = :auth_token
176
+
177
+ # ==> Scopes configuration
178
+ # Turn scoped views on. Before rendering "sessions/new", it will first check for
179
+ # "users/sessions/new". It's turned off by default because it's slower if you
180
+ # are using only default views.
181
+ # config.scoped_views = false
182
+
183
+ # Configure the default scope given to Warden. By default it's the first
184
+ # devise role declared in your routes (usually :user).
185
+ # config.default_scope = :user
186
+
187
+ # Set this configuration to false if you want /users/sign_out to sign out
188
+ # only the current scope. By default, Devise signs out all scopes.
189
+ # config.sign_out_all_scopes = true
190
+
191
+ # ==> Navigation configuration
192
+ # Lists the formats that should be treated as navigational. Formats like
193
+ # :html, should redirect to the sign in page when the user does not have
194
+ # access, but formats like :xml or :json, should return 401.
195
+ #
196
+ # If you have any extra navigational formats, like :iphone or :mobile, you
197
+ # should add them to the navigational formats lists.
198
+ #
199
+ # The "*/*" below is required to match Internet Explorer requests.
200
+ # config.navigational_formats = ["*/*", :html]
201
+
202
+ # The default HTTP method used to sign out a resource. Default is :delete.
203
+ config.sign_out_via = :delete
204
+
205
+ # ==> OmniAuth
206
+ # Add a new OmniAuth provider. Check the wiki for more information on setting
207
+ # up on your models and hooks.
208
+ # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo'
209
+
210
+ # ==> Warden configuration
211
+ # If you want to use other strategies, that are not supported by Devise, or
212
+ # change the failure app, you can configure them inside the config.warden block.
213
+ #
214
+ # config.warden do |manager|
215
+ # manager.intercept_401 = false
216
+ # manager.default_strategies(:scope => :user).unshift :some_external_strategy
217
+ # end
218
+
219
+ # ==> Mountable engine configurations
220
+ # When using Devise inside an engine, let's call it `MyEngine`, and this engine
221
+ # is mountable, there are some extra configurations to be taken into account.
222
+ # The following options are available, assuming the engine is mounted as:
223
+ #
224
+ # mount MyEngine, at: "/my_engine"
225
+ #
226
+ # The router that invoked `devise_for`, in the example above, would be:
227
+ # config.router_name = :my_engine
228
+ #
229
+ # When using omniauth, Devise cannot automatically set Omniauth path,
230
+ # so you need to do it manually. For the users scope, it would be:
231
+ # config.omniauth_path_prefix = "/my_engine/users/auth"
232
+ end
@@ -0,0 +1,142 @@
1
+ # Use this setup block to configure all options available in SimpleForm.
2
+ SimpleForm.setup do |config|
3
+ # Wrappers are used by the form builder to generate a
4
+ # complete input. You can remove any component from the
5
+ # wrapper, change the order or even add your own to the
6
+ # stack. The options given below are used to wrap the
7
+ # whole input.
8
+ config.wrappers :default, :class => :input,
9
+ :hint_class => :field_with_hint, :error_class => :field_with_errors do |b|
10
+ ## Extensions enabled by default
11
+ # Any of these extensions can be disabled for a
12
+ # given input by passing: `f.input EXTENSION_NAME => false`.
13
+ # You can make any of these extensions optional by
14
+ # renaming `b.use` to `b.optional`.
15
+
16
+ # Determines whether to use HTML5 (:email, :url, ...)
17
+ # and required attributes
18
+ b.use :html5
19
+
20
+ # Calculates placeholders automatically from I18n
21
+ # You can also pass a string as f.input :placeholder => "Placeholder"
22
+ b.use :placeholder
23
+
24
+ ## Optional extensions
25
+ # They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
26
+ # to the input. If so, they will retrieve the values from the model
27
+ # if any exists. If you want to enable the lookup for any of those
28
+ # extensions by default, you can change `b.optional` to `b.use`.
29
+
30
+ # Calculates maxlength from length validations for string inputs
31
+ b.optional :maxlength
32
+
33
+ # Calculates pattern from format validations for string inputs
34
+ b.optional :pattern
35
+
36
+ # Calculates min and max from length validations for numeric inputs
37
+ b.optional :min_max
38
+
39
+ # Calculates readonly automatically from readonly attributes
40
+ b.optional :readonly
41
+
42
+ ## Inputs
43
+ b.use :label_input
44
+ b.use :hint, :wrap_with => { :tag => :span, :class => :hint }
45
+ b.use :error, :wrap_with => { :tag => :span, :class => :error }
46
+ end
47
+
48
+ # The default wrapper to be used by the FormBuilder.
49
+ config.default_wrapper = :default
50
+
51
+ # Define the way to render check boxes / radio buttons with labels.
52
+ # Defaults to :nested for bootstrap config.
53
+ # :inline => input + label
54
+ # :nested => label > input
55
+ config.boolean_style = :nested
56
+
57
+ # Default class for buttons
58
+ config.button_class = 'btn'
59
+
60
+ # Method used to tidy up errors. Specify any Rails Array method.
61
+ # :first lists the first message for each field.
62
+ # Use :to_sentence to list all errors for each field.
63
+ # config.error_method = :first
64
+
65
+ # Default tag used for error notification helper.
66
+ config.error_notification_tag = :div
67
+
68
+ # CSS class to add for error notification helper.
69
+ config.error_notification_class = 'alert alert-error'
70
+
71
+ # ID to add for error notification helper.
72
+ # config.error_notification_id = nil
73
+
74
+ # Series of attempts to detect a default label method for collection.
75
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
76
+
77
+ # Series of attempts to detect a default value method for collection.
78
+ # config.collection_value_methods = [ :id, :to_s ]
79
+
80
+ # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
81
+ # config.collection_wrapper_tag = nil
82
+
83
+ # You can define the class to use on all collection wrappers. Defaulting to none.
84
+ # config.collection_wrapper_class = nil
85
+
86
+ # You can wrap each item in a collection of radio/check boxes with a tag,
87
+ # defaulting to :span. Please note that when using :boolean_style = :nested,
88
+ # SimpleForm will force this option to be a label.
89
+ # config.item_wrapper_tag = :span
90
+
91
+ # You can define a class to use in all item wrappers. Defaulting to none.
92
+ # config.item_wrapper_class = nil
93
+
94
+ # How the label text should be generated altogether with the required text.
95
+ # config.label_text = lambda { |label, required| "#{required} #{label}" }
96
+
97
+ # You can define the class to use on all labels. Default is nil.
98
+ config.label_class = 'control-label'
99
+
100
+ # You can define the class to use on all forms. Default is simple_form.
101
+ # config.form_class = :simple_form
102
+
103
+ # You can define which elements should obtain additional classes
104
+ # config.generate_additional_classes_for = [:wrapper, :label, :input]
105
+
106
+ # Whether attributes are required by default (or not). Default is true.
107
+ # config.required_by_default = true
108
+
109
+ # Tell browsers whether to use default HTML5 validations (novalidate option).
110
+ # Default is enabled.
111
+ config.browser_validations = false
112
+
113
+ # Collection of methods to detect if a file type was given.
114
+ # config.file_methods = [ :mounted_as, :file?, :public_filename ]
115
+
116
+ # Custom mappings for input types. This should be a hash containing a regexp
117
+ # to match as key, and the input type that will be used when the field name
118
+ # matches the regexp as value.
119
+ # config.input_mappings = { /count/ => :integer }
120
+
121
+ # Custom wrappers for input types. This should be a hash containing an input
122
+ # type as key and the wrapper that will be used for all inputs with specified type.
123
+ # config.wrapper_mappings = { :string => :prepend }
124
+
125
+ # Default priority for time_zone inputs.
126
+ # config.time_zone_priority = nil
127
+
128
+ # Default priority for country inputs.
129
+ # config.country_priority = nil
130
+
131
+ # Default size for text inputs.
132
+ # config.default_input_size = 50
133
+
134
+ # When false, do not use translations for labels.
135
+ # config.translate_labels = true
136
+
137
+ # Automatically discover new inputs in Rails' autoload path.
138
+ # config.inputs_discovery = true
139
+
140
+ # Cache SimpleForm inputs discovery
141
+ # config.cache_discovery = !Rails.env.development?
142
+ end