effective_bootstrap 1.26.3 → 1.27.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 +4 -4
- data/README.md +16 -0
- data/app/assets/javascripts/effective_bootstrap/base.js.coffee +2 -0
- data/app/assets/javascripts/effective_bootstrap/form.js.coffee +3 -1
- data/app/assets/javascripts/effective_bootstrap/tabs.js +71 -21
- data/app/assets/javascripts/effective_has_many/initialize.js.coffee +7 -5
- data/app/assets/stylesheets/effective_bootstrap/overrides.scss +5 -0
- data/app/controllers/concerns/effective_bootstrap/save_tabs.rb +2 -5
- data/app/helpers/effective_article_editor_helper.rb +0 -1
- data/app/helpers/effective_bootstrap_helper.rb +103 -86
- data/app/helpers/effective_editor_helper.rb +0 -2
- data/app/helpers/effective_form_builder_helper.rb +0 -1
- data/app/helpers/effective_icons_helper.rb +0 -2
- data/app/helpers/effective_iframe_helper.rb +1 -3
- data/app/helpers/effective_table_builder_helper.rb +0 -2
- data/app/models/effective/form_builder.rb +0 -2
- data/app/models/effective/form_input.rb +3 -4
- data/app/models/effective/form_inputs/article_editor.rb +6 -8
- data/app/models/effective/form_inputs/check_box.rb +0 -2
- data/app/models/effective/form_inputs/checks.rb +0 -4
- data/app/models/effective/form_inputs/ck_editor.rb +0 -2
- data/app/models/effective/form_inputs/clear.rb +0 -2
- data/app/models/effective/form_inputs/collection_input.rb +3 -4
- data/app/models/effective/form_inputs/date_field.rb +2 -4
- data/app/models/effective/form_inputs/datetime_field.rb +0 -2
- data/app/models/effective/form_inputs/delete.rb +0 -2
- data/app/models/effective/form_inputs/editor.rb +3 -5
- data/app/models/effective/form_inputs/email_cc_field.rb +0 -2
- data/app/models/effective/form_inputs/email_field.rb +0 -2
- data/app/models/effective/form_inputs/error_field.rb +0 -2
- data/app/models/effective/form_inputs/file_field.rb +13 -9
- data/app/models/effective/form_inputs/float_field.rb +0 -2
- data/app/models/effective/form_inputs/form_group.rb +0 -2
- data/app/models/effective/form_inputs/has_many.rb +6 -7
- data/app/models/effective/form_inputs/hidden_field.rb +0 -2
- data/app/models/effective/form_inputs/integer_field.rb +0 -1
- data/app/models/effective/form_inputs/number_text_field.rb +0 -2
- data/app/models/effective/form_inputs/password_field.rb +0 -2
- data/app/models/effective/form_inputs/percent_field.rb +0 -2
- data/app/models/effective/form_inputs/phone_field.rb +0 -2
- data/app/models/effective/form_inputs/price_field.rb +0 -2
- data/app/models/effective/form_inputs/radios.rb +2 -4
- data/app/models/effective/form_inputs/remote_link_to.rb +0 -2
- data/app/models/effective/form_inputs/reset.rb +0 -2
- data/app/models/effective/form_inputs/rich_text_area.rb +0 -2
- data/app/models/effective/form_inputs/save.rb +0 -2
- data/app/models/effective/form_inputs/search_field.rb +0 -2
- data/app/models/effective/form_inputs/select.rb +2 -3
- data/app/models/effective/form_inputs/select_or_text.rb +9 -10
- data/app/models/effective/form_inputs/static_field.rb +3 -3
- data/app/models/effective/form_inputs/submit.rb +1 -3
- data/app/models/effective/form_inputs/text_area.rb +0 -2
- data/app/models/effective/form_inputs/text_field.rb +0 -2
- data/app/models/effective/form_inputs/time_field.rb +0 -2
- data/app/models/effective/form_inputs/time_zone_select.rb +0 -2
- data/app/models/effective/form_inputs/url_field.rb +0 -2
- data/app/models/effective/form_logic.rb +1 -2
- data/app/models/effective/form_logics/hide_if.rb +0 -2
- data/app/models/effective/form_logics/show_if.rb +0 -2
- data/app/models/effective/form_logics/show_if_any.rb +0 -2
- data/app/models/effective/table_builder.rb +3 -2
- data/app/models/effective/table_row.rb +0 -1
- data/app/models/effective/table_rows/article_editor.rb +0 -2
- data/app/models/effective/table_rows/belongs_to.rb +2 -2
- data/app/models/effective/table_rows/boolean.rb +0 -2
- data/app/models/effective/table_rows/collection.rb +0 -2
- data/app/models/effective/table_rows/content_for.rb +0 -2
- data/app/models/effective/table_rows/date_field.rb +1 -3
- data/app/models/effective/table_rows/datetime_field.rb +1 -3
- data/app/models/effective/table_rows/effective_address.rb +0 -2
- data/app/models/effective/table_rows/email_field.rb +0 -2
- data/app/models/effective/table_rows/file_field.rb +0 -2
- data/app/models/effective/table_rows/has_many_card.rb +0 -1
- data/app/models/effective/table_rows/percent_field.rb +0 -1
- data/app/models/effective/table_rows/phone_field.rb +0 -2
- data/app/models/effective/table_rows/price_field.rb +0 -2
- data/app/models/effective/table_rows/text_area.rb +0 -2
- data/app/models/effective/table_rows/url_field.rb +0 -2
- data/lib/effective_bootstrap/engine.rb +0 -1
- data/lib/effective_bootstrap/version.rb +1 -1
- data/lib/effective_bootstrap.rb +0 -2
- data/lib/generators/effective_bootstrap/install_generator.rb +0 -1
- metadata +57 -1
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class Save < Effective::FormInput
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
content_tag(:button, options[:input]) do
|
|
9
8
|
icon_name.present? ? (icon(icon_name) + name) : name
|
|
@@ -18,7 +17,6 @@ module Effective
|
|
|
18
17
|
return @icon unless @icon.nil?
|
|
19
18
|
@icon = options[:input].delete(:icon) || ''.html_safe
|
|
20
19
|
end
|
|
21
|
-
|
|
22
20
|
end
|
|
23
21
|
end
|
|
24
22
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class SearchField < Effective::FormInput
|
|
6
|
-
|
|
7
6
|
def input_html_options
|
|
8
7
|
{ class: 'form-control', placeholder: 'Search...' }
|
|
9
8
|
end
|
|
@@ -11,7 +10,6 @@ module Effective
|
|
|
11
10
|
def input_group_options
|
|
12
11
|
{ input_group: { class: 'input-group' }, prepend: content_tag(:span, icon('search'), class: 'input-group-text') }
|
|
13
12
|
end
|
|
14
|
-
|
|
15
13
|
end
|
|
16
14
|
end
|
|
17
15
|
end
|
|
@@ -53,10 +53,10 @@ module Effective
|
|
|
53
53
|
'form-control',
|
|
54
54
|
('freeform' if freeform?),
|
|
55
55
|
('polymorphic' if polymorphic?),
|
|
56
|
-
('grouped' if
|
|
56
|
+
('grouped' if grouped? || polymorphic?),
|
|
57
57
|
('hide-disabled' if hide_disabled?),
|
|
58
58
|
('tags-input' if tags?),
|
|
59
|
-
('disable-open-on-focus' if disable_open_on_focus?)
|
|
59
|
+
('disable-open-on-focus' if disable_open_on_focus?)
|
|
60
60
|
].compact.join(' ')
|
|
61
61
|
|
|
62
62
|
{ class: classes, multiple: (true if multiple?), include_blank: (true if include_blank?), id: tag_id }.compact
|
|
@@ -178,7 +178,6 @@ module Effective
|
|
|
178
178
|
def ajax_url
|
|
179
179
|
@ajax_url ||= (options.delete(:ajax_url) || options.delete(:ajax) || options.delete(:url))
|
|
180
180
|
end
|
|
181
|
-
|
|
182
181
|
end
|
|
183
182
|
end
|
|
184
183
|
end
|
|
@@ -17,16 +17,16 @@ module Effective
|
|
|
17
17
|
|
|
18
18
|
@shared_options = (options[:input_html] || {})
|
|
19
19
|
|
|
20
|
-
@select_options = {
|
|
21
|
-
placeholder: '',
|
|
20
|
+
@select_options = {
|
|
21
|
+
placeholder: '',
|
|
22
22
|
hint: "Can't find your #{(options[:name] || name).to_s.chomp('_id')}? <a class='effective-select-or-text-switch' title='Switch to enter freeform' data-effective-select-or-text='true' href='#'>Click here</a> to add one",
|
|
23
|
-
required: false
|
|
23
|
+
required: false
|
|
24
24
|
}.merge(options[:select] || options.presence || {}).merge(@shared_options)
|
|
25
25
|
|
|
26
|
-
@text_options = {
|
|
27
|
-
placeholder: '',
|
|
26
|
+
@text_options = {
|
|
27
|
+
placeholder: '',
|
|
28
28
|
hint: "Looking for an existing #{(options[:name] || name).to_s.chomp('_id')}? <a class='effective-select-or-text-switch' title='Switch to search for existing' data-effective-select-or-text='true' href='#'>Click here</a> to search",
|
|
29
|
-
required: false
|
|
29
|
+
required: false
|
|
30
30
|
}.merge(options[:text] || options[:text_field] || options.presence || {}).merge(@shared_options)
|
|
31
31
|
|
|
32
32
|
@email_field = options.fetch(:email, name_text.to_s.include?('email'))
|
|
@@ -54,10 +54,10 @@ module Effective
|
|
|
54
54
|
|
|
55
55
|
value = object.send(name)
|
|
56
56
|
|
|
57
|
-
return true if
|
|
58
|
-
return true if
|
|
57
|
+
return true if value.present? && select_collection.include?(value)
|
|
58
|
+
return true if value.to_i > 0 && select_collection.find { |obj| obj.respond_to?(:id) && obj.id == value.to_i }
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
true if value.blank? && object.send(name_text).blank?
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def text?
|
|
@@ -75,7 +75,6 @@ module Effective
|
|
|
75
75
|
def text_options
|
|
76
76
|
@text_options.merge(text? ? VISIBLE : HIDDEN)
|
|
77
77
|
end
|
|
78
|
-
|
|
79
78
|
end
|
|
80
79
|
end
|
|
81
80
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class StaticField < Effective::FormInput
|
|
6
|
-
|
|
7
6
|
def input_html_options
|
|
8
7
|
{ class: 'form-control-plaintext', readonly: false, id: tag_id }
|
|
9
8
|
end
|
|
@@ -21,10 +20,12 @@ module Effective
|
|
|
21
20
|
value
|
|
22
21
|
end
|
|
23
22
|
|
|
24
|
-
content_tag(:p, content, options[:input].except(:readonly, :required).merge(id: tag_id))
|
|
23
|
+
content_tag(:p, content, options[:input].except(:readonly, :required, :link).merge(id: tag_id))
|
|
25
24
|
end
|
|
26
25
|
|
|
27
26
|
def resource_path
|
|
27
|
+
return false if options[:input][:link] == false
|
|
28
|
+
|
|
28
29
|
# I don't want to hardcode effective_resources as a dependency of this gem. But it's so useful...
|
|
29
30
|
return false unless defined?(EffectiveResources)
|
|
30
31
|
|
|
@@ -37,7 +38,6 @@ module Effective
|
|
|
37
38
|
Effective::Resource.new(@template.controller_path).action_path(:show, value)
|
|
38
39
|
)
|
|
39
40
|
end
|
|
40
|
-
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class Submit < Effective::FormInput
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
return nil if form_readonly?
|
|
9
8
|
super()
|
|
@@ -29,7 +28,7 @@ module Effective
|
|
|
29
28
|
end
|
|
30
29
|
|
|
31
30
|
def wrapper_options
|
|
32
|
-
@right = true unless
|
|
31
|
+
@right = true unless left? || center? || right?
|
|
33
32
|
|
|
34
33
|
classes = [
|
|
35
34
|
('row' if layout == :horizontal),
|
|
@@ -106,7 +105,6 @@ module Effective
|
|
|
106
105
|
# end
|
|
107
106
|
false
|
|
108
107
|
end
|
|
109
|
-
|
|
110
108
|
end
|
|
111
109
|
end
|
|
112
110
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class TimeField < DatetimeField
|
|
6
|
-
|
|
7
6
|
def input_html_options
|
|
8
7
|
{
|
|
9
8
|
class: ['form-control', 'effective_date_time_picker', 'effective_time', ('not-date-linked' if not_date_linked?)].compact.join(' '),
|
|
@@ -31,7 +30,6 @@ module Effective
|
|
|
31
30
|
def format # moment.js
|
|
32
31
|
am_pm? ? 'LT' : 'HH:mm'
|
|
33
32
|
end
|
|
34
|
-
|
|
35
33
|
end
|
|
36
34
|
end
|
|
37
35
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormInputs
|
|
5
5
|
class TimeZoneSelect < Select
|
|
6
|
-
|
|
7
6
|
def self.time_zone_collection
|
|
8
7
|
date = Time.zone.now
|
|
9
8
|
|
|
@@ -11,7 +10,6 @@ module Effective
|
|
|
11
10
|
["(UTC #{date.in_time_zone(tz).strftime('%:z')}) #{tz.name}", tz.name]
|
|
12
11
|
end
|
|
13
12
|
end
|
|
14
|
-
|
|
15
13
|
end
|
|
16
14
|
end
|
|
17
15
|
end
|
|
@@ -36,12 +36,11 @@ module Effective
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def input_js_options
|
|
39
|
-
{ 'data-input-js-options' => JSON.generate({method_name: input_js_options_method_name}.merge!(logic_options)) }
|
|
39
|
+
{ 'data-input-js-options' => JSON.generate({ method_name: input_js_options_method_name }.merge!(logic_options)) }
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def input_js_options_method_name
|
|
43
43
|
"effective_#{self.class.name.split('::').last.underscore}"
|
|
44
44
|
end
|
|
45
|
-
|
|
46
45
|
end
|
|
47
46
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormLogics
|
|
5
5
|
class HideIf < Effective::FormLogic
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
disabled_was = @builder.disabled
|
|
9
8
|
|
|
@@ -39,7 +38,6 @@ module Effective
|
|
|
39
38
|
|
|
40
39
|
first == second || first.to_s == second.to_s || Array(first) == Array(second) || Array(first.to_s) == Array(second.to_s)
|
|
41
40
|
end
|
|
42
|
-
|
|
43
41
|
end
|
|
44
42
|
end
|
|
45
43
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormLogics
|
|
5
5
|
class ShowIf < Effective::FormLogic
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
disabled_was = @builder.disabled
|
|
9
8
|
|
|
@@ -43,7 +42,6 @@ module Effective
|
|
|
43
42
|
Array(first.to_s) == Array(second.to_s) ||
|
|
44
43
|
Array(first).any? { |value| value.to_s == second.to_s }
|
|
45
44
|
end
|
|
46
|
-
|
|
47
45
|
end
|
|
48
46
|
end
|
|
49
47
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module FormLogics
|
|
5
5
|
class ShowIfAny < Effective::FormLogic
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
disabled_was = @builder.disabled
|
|
9
8
|
|
|
@@ -39,7 +38,6 @@ module Effective
|
|
|
39
38
|
selected == value || selected.to_s == value.to_s || selected == Array(value) || selected.to_s == Array(value.to_s) || (Array(selected) & Array(value)).present?
|
|
40
39
|
end
|
|
41
40
|
end
|
|
42
|
-
|
|
43
41
|
end
|
|
44
42
|
end
|
|
45
43
|
end
|
|
@@ -212,6 +212,8 @@ module Effective
|
|
|
212
212
|
end
|
|
213
213
|
|
|
214
214
|
def static_field(name, options = {}, &block)
|
|
215
|
+
return rows[name] = TableRows::ContentFor.new(name, options, builder: self).to_html(&block) if block_given?
|
|
216
|
+
|
|
215
217
|
rows[name] = (value(name).is_a?(ActiveRecord::Base)) ? belongs_to(name, options) : default_row(name, options)
|
|
216
218
|
end
|
|
217
219
|
|
|
@@ -257,7 +259,7 @@ module Effective
|
|
|
257
259
|
end
|
|
258
260
|
end
|
|
259
261
|
|
|
260
|
-
#rows[name] = "" if value(name).blank?
|
|
262
|
+
# rows[name] = "" if value(name).blank?
|
|
261
263
|
|
|
262
264
|
nil
|
|
263
265
|
end
|
|
@@ -280,6 +282,5 @@ module Effective
|
|
|
280
282
|
end
|
|
281
283
|
end
|
|
282
284
|
alias_method :effective_fields_for, :fields_for
|
|
283
|
-
|
|
284
285
|
end
|
|
285
286
|
end
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class BelongsTo < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def content
|
|
8
7
|
if value.present?
|
|
8
|
+
return value.to_s if options[:link] == false
|
|
9
|
+
|
|
9
10
|
content_tag(:div) { link_to_edit || link_to_show || value.to_s }
|
|
10
11
|
end
|
|
11
12
|
end
|
|
@@ -33,7 +34,6 @@ module Effective
|
|
|
33
34
|
|
|
34
35
|
link_to(value.to_s, path, title: value.to_s, target: '_blank')
|
|
35
36
|
end
|
|
36
|
-
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class Boolean < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
content_tag(:tr, class: tr_class) do
|
|
9
8
|
content_tag(:td, colspan: 2) do
|
|
@@ -19,7 +18,6 @@ module Effective
|
|
|
19
18
|
template.badge('No', class: 'badge badge-danger mr-2')
|
|
20
19
|
end
|
|
21
20
|
end
|
|
22
|
-
|
|
23
21
|
end
|
|
24
22
|
end
|
|
25
23
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class Collection < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def initialize(name, collection, options, builder:)
|
|
8
7
|
@collection = collection
|
|
9
8
|
super(name, options, builder: builder)
|
|
@@ -24,7 +23,6 @@ module Effective
|
|
|
24
23
|
item = item.first if item.kind_of?(Array)
|
|
25
24
|
(item || value).to_s
|
|
26
25
|
end
|
|
27
|
-
|
|
28
26
|
end
|
|
29
27
|
end
|
|
30
28
|
end
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class ContentFor < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def to_html(&block)
|
|
8
7
|
content_tag(:tr, class: tr_class) do
|
|
9
8
|
content_tag(:th, label_content) + content_tag(:td, template.capture(&block))
|
|
10
9
|
end
|
|
11
10
|
end
|
|
12
|
-
|
|
13
11
|
end
|
|
14
12
|
end
|
|
15
13
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class DateField < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def content
|
|
8
7
|
nice_date(value)
|
|
9
8
|
end
|
|
@@ -16,7 +15,7 @@ module Effective
|
|
|
16
15
|
|
|
17
16
|
now = Time.zone.now
|
|
18
17
|
|
|
19
|
-
distance = if
|
|
18
|
+
distance = if now > value
|
|
20
19
|
template.distance_of_time_in_words(now, value) + ' ago'
|
|
21
20
|
else
|
|
22
21
|
template.distance_of_time_in_words(value, now) + ' from now'
|
|
@@ -24,7 +23,6 @@ module Effective
|
|
|
24
23
|
|
|
25
24
|
content_tag(:span, label, title: full + ' (' + distance + ')')
|
|
26
25
|
end
|
|
27
|
-
|
|
28
26
|
end
|
|
29
27
|
end
|
|
30
28
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class DatetimeField < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def content
|
|
8
7
|
nice_date_time(value)
|
|
9
8
|
end
|
|
@@ -16,7 +15,7 @@ module Effective
|
|
|
16
15
|
|
|
17
16
|
now = Time.zone.now
|
|
18
17
|
|
|
19
|
-
distance = if
|
|
18
|
+
distance = if now > value
|
|
20
19
|
template.distance_of_time_in_words(now, value) + ' ago'
|
|
21
20
|
else
|
|
22
21
|
template.distance_of_time_in_words(value, now) + ' from now'
|
|
@@ -24,7 +23,6 @@ module Effective
|
|
|
24
23
|
|
|
25
24
|
content_tag(:span, label, title: full + ' (' + distance + ')')
|
|
26
25
|
end
|
|
27
|
-
|
|
28
26
|
end
|
|
29
27
|
end
|
|
30
28
|
end
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Effective
|
|
4
4
|
module TableRows
|
|
5
5
|
class FileField < Effective::TableRow
|
|
6
|
-
|
|
7
6
|
def content
|
|
8
7
|
values = Array(value) - [nil, '']
|
|
9
8
|
|
|
@@ -17,7 +16,6 @@ module Effective
|
|
|
17
16
|
def link_to_file(file)
|
|
18
17
|
link_to(file.filename, template.url_for(file), target: '_blank')
|
|
19
18
|
end
|
|
20
|
-
|
|
21
19
|
end
|
|
22
20
|
end
|
|
23
21
|
end
|
data/lib/effective_bootstrap.rb
CHANGED
|
@@ -4,7 +4,6 @@ require 'effective_bootstrap/engine'
|
|
|
4
4
|
require 'effective_bootstrap/version'
|
|
5
5
|
|
|
6
6
|
module EffectiveBootstrap
|
|
7
|
-
|
|
8
7
|
def self.config_keys
|
|
9
8
|
[:use_custom_data_confirm, :save_tabs, :benchmarks]
|
|
10
9
|
end
|
|
@@ -14,5 +13,4 @@ module EffectiveBootstrap
|
|
|
14
13
|
def self.boolean_collection
|
|
15
14
|
[['Yes', true], ['No', false]]
|
|
16
15
|
end
|
|
17
|
-
|
|
18
16
|
end
|