active_scaffold 3.5.2 → 3.6.0.rc1
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/{CHANGELOG → CHANGELOG.rdoc} +66 -0
- data/README.md +17 -7
- data/app/assets/javascripts/active_scaffold.js.erb +0 -1
- data/app/assets/javascripts/jquery/active_scaffold.js +63 -6
- data/app/assets/stylesheets/active_scaffold_colors.scss +1 -1
- data/app/assets/stylesheets/active_scaffold_layout.css +52 -29
- data/app/views/active_scaffold_overrides/_base_form.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_form.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +3 -2
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +6 -6
- data/app/views/active_scaffold_overrides/_horizontal_subform.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_horizontal_subform_header.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_list.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_list_header.html.erb +5 -7
- data/app/views/active_scaffold_overrides/_list_messages.html.erb +1 -0
- data/app/views/active_scaffold_overrides/_list_record.html.erb +4 -5
- data/app/views/active_scaffold_overrides/_list_with_header.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_messages.html.erb +1 -0
- data/app/views/active_scaffold_overrides/_refresh_list.js.erb +4 -0
- data/app/views/active_scaffold_overrides/_render_field.js.erb +2 -1
- data/app/views/active_scaffold_overrides/_show_association_horizontal.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_show_columns.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_show_horizontal_record.html.erb +4 -4
- data/app/views/active_scaffold_overrides/_update_calculations.js.erb +1 -1
- data/app/views/active_scaffold_overrides/_update_column.js.erb +2 -2
- data/app/views/active_scaffold_overrides/action_confirmation.html.erb +2 -2
- data/app/views/active_scaffold_overrides/delete.html.erb +2 -2
- data/app/views/active_scaffold_overrides/on_action_update.js.erb +16 -6
- data/app/views/active_scaffold_overrides/on_update.js.erb +1 -1
- data/app/views/active_scaffold_overrides/row.js.erb +1 -1
- data/app/views/active_scaffold_overrides/update_column.js.erb +1 -1
- data/config/locales/de.yml +2 -1
- data/config/locales/en.yml +1 -0
- data/config/locales/es.yml +1 -0
- data/config/locales/fr.yml +2 -1
- data/config/locales/hu.yml +1 -0
- data/config/locales/ja.yml +1 -0
- data/config/locales/ru.yml +1 -0
- data/lib/active_scaffold.rb +19 -16
- data/lib/active_scaffold/actions/common_search.rb +11 -8
- data/lib/active_scaffold/actions/core.rb +89 -71
- data/lib/active_scaffold/actions/create.rb +28 -28
- data/lib/active_scaffold/actions/delete.rb +3 -3
- data/lib/active_scaffold/actions/field_search.rb +53 -43
- data/lib/active_scaffold/actions/list.rb +111 -27
- data/lib/active_scaffold/actions/nested.rb +65 -48
- data/lib/active_scaffold/actions/search.rb +1 -1
- data/lib/active_scaffold/actions/show.rb +4 -4
- data/lib/active_scaffold/actions/subform.rb +12 -17
- data/lib/active_scaffold/actions/update.rb +96 -77
- data/lib/active_scaffold/active_record_permissions.rb +2 -11
- data/lib/active_scaffold/attribute_params.rb +104 -86
- data/lib/active_scaffold/bridges.rb +8 -8
- data/lib/active_scaffold/bridges/active_storage.rb +6 -0
- data/lib/active_scaffold/bridges/active_storage/active_storage_bridge.rb +33 -0
- data/lib/active_scaffold/bridges/active_storage/active_storage_helpers.rb +54 -0
- data/lib/active_scaffold/bridges/active_storage/form_ui.rb +22 -0
- data/lib/active_scaffold/bridges/active_storage/list_ui.rb +36 -0
- data/lib/active_scaffold/bridges/bitfields.rb +1 -0
- data/lib/active_scaffold/bridges/bitfields/bitfields_bridge.rb +12 -15
- data/lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +9 -12
- data/lib/active_scaffold/bridges/carrierwave/carrierwave_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/carrierwave/list_ui.rb +2 -2
- data/lib/active_scaffold/bridges/chosen/helpers.rb +11 -9
- data/lib/active_scaffold/bridges/date_picker/ext.rb +0 -13
- data/lib/active_scaffold/bridges/date_picker/helper.rb +49 -44
- data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/as_file_column_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/file_column_helpers.rb +3 -3
- data/lib/active_scaffold/bridges/file_column/form_ui.rb +3 -3
- data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +10 -7
- data/lib/active_scaffold/bridges/paper_trail.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +2 -2
- data/lib/active_scaffold/bridges/record_select/helpers.rb +12 -16
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +20 -19
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +3 -1
- data/lib/active_scaffold/bridges/usa_state_select/usa_state_select_helper.rb +21 -4
- data/lib/active_scaffold/config/base.rb +133 -41
- data/lib/active_scaffold/config/core.rb +146 -18
- data/lib/active_scaffold/config/delete.rb +14 -1
- data/lib/active_scaffold/config/field_search.rb +7 -1
- data/lib/active_scaffold/config/form.rb +10 -1
- data/lib/active_scaffold/config/list.rb +39 -13
- data/lib/active_scaffold/config/mark.rb +4 -2
- data/lib/active_scaffold/config/nested.rb +16 -17
- data/lib/active_scaffold/config/search.rb +9 -0
- data/lib/active_scaffold/config/show.rb +4 -0
- data/lib/active_scaffold/config/update.rb +4 -0
- data/lib/active_scaffold/configurable.rb +14 -7
- data/lib/active_scaffold/constraints.rb +22 -20
- data/lib/active_scaffold/core.rb +68 -29
- data/lib/active_scaffold/data_structures/action_columns.rb +50 -59
- data/lib/active_scaffold/data_structures/action_link.rb +50 -20
- data/lib/active_scaffold/data_structures/action_links.rb +15 -13
- data/lib/active_scaffold/data_structures/association/abstract.rb +41 -15
- data/lib/active_scaffold/data_structures/association/active_mongoid.rb +2 -6
- data/lib/active_scaffold/data_structures/association/active_record.rb +6 -2
- data/lib/active_scaffold/data_structures/association/mongoid.rb +0 -3
- data/lib/active_scaffold/data_structures/column.rb +75 -66
- data/lib/active_scaffold/data_structures/columns.rb +3 -2
- data/lib/active_scaffold/data_structures/nested_info.rb +21 -19
- data/lib/active_scaffold/data_structures/set.rb +8 -0
- data/lib/active_scaffold/data_structures/sorting.rb +10 -2
- data/lib/active_scaffold/delayed_setup.rb +16 -5
- data/lib/active_scaffold/extensions/action_controller_rendering.rb +3 -2
- data/lib/active_scaffold/extensions/action_view_rendering.rb +34 -14
- data/lib/active_scaffold/extensions/cow_proxy.rb +91 -0
- data/lib/active_scaffold/extensions/ice_nine.rb +36 -0
- data/lib/active_scaffold/extensions/left_outer_joins.rb +8 -33
- data/lib/active_scaffold/extensions/localize.rb +3 -1
- data/lib/active_scaffold/extensions/routing_mapper.rb +6 -45
- data/lib/active_scaffold/extensions/to_label.rb +3 -2
- data/lib/active_scaffold/extensions/unsaved_record.rb +2 -4
- data/lib/active_scaffold/finder.rb +104 -73
- data/lib/active_scaffold/helpers/action_link_helpers.rb +62 -36
- data/lib/active_scaffold/helpers/association_helpers.rb +21 -19
- data/lib/active_scaffold/helpers/controller_helpers.rb +23 -10
- data/lib/active_scaffold/helpers/form_column_helpers.rb +157 -121
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +1 -1
- data/lib/active_scaffold/helpers/id_helpers.rb +6 -2
- data/lib/active_scaffold/helpers/list_column_helpers.rb +82 -53
- data/lib/active_scaffold/helpers/pagination_helpers.rb +2 -2
- data/lib/active_scaffold/helpers/search_column_helpers.rb +29 -34
- data/lib/active_scaffold/helpers/show_column_helpers.rb +3 -5
- data/lib/active_scaffold/helpers/view_helpers.rb +38 -35
- data/lib/active_scaffold/marked_model.rb +2 -2
- data/lib/active_scaffold/orm_checks.rb +3 -7
- data/lib/active_scaffold/paginator.rb +7 -7
- data/lib/active_scaffold/registry.rb +33 -0
- data/lib/active_scaffold/responds_to_parent.rb +8 -11
- data/lib/active_scaffold/tableless.rb +67 -65
- data/lib/active_scaffold/version.rb +2 -2
- data/lib/generators/active_scaffold/controller_generator.rb +2 -2
- data/lib/generators/active_scaffold/install_generator.rb +1 -1
- data/lib/generators/active_scaffold/resource_generator.rb +2 -2
- data/shoulda_macros/macros.rb +3 -1
- data/test/bridges/date_picker_test.rb +1 -2
- data/test/bridges/paperclip_test.rb +6 -6
- data/test/class_with_finder.rb +2 -2
- data/test/company.rb +4 -4
- data/test/config/create_test.rb +4 -2
- data/test/config/nested_test.rb +1 -1
- data/test/config/show_test.rb +1 -1
- data/test/config/update_test.rb +7 -6
- data/test/data_structures/action_columns_test.rb +2 -2
- data/test/data_structures/action_links_test.rb +1 -1
- data/test/data_structures/column_test.rb +3 -6
- data/test/data_structures/columns_test.rb +2 -2
- data/test/data_structures/sorting_test.rb +7 -0
- data/test/extensions/active_record_test.rb +4 -4
- data/test/extensions/routing_mapper_test.rb +2 -2
- data/test/helpers/list_column_helpers_test.rb +3 -1
- data/test/misc/active_record_permissions_test.rb +3 -11
- data/test/misc/attribute_params_test.rb +12 -8
- data/test/misc/calculation_test.rb +1 -1
- data/test/misc/configurable_test.rb +10 -10
- data/test/misc/constraints_test.rb +2 -2
- data/test/misc/convert_numbers_format_test.rb +7 -3
- data/test/misc/lang_test.rb +1 -1
- data/test/misc/parse_datetime_test.rb +3 -4
- data/test/misc/tableless_test.rb +6 -0
- data/test/mock_app/Rakefile +1 -1
- data/test/mock_app/app/assets/config/manifest.js +0 -0
- data/test/mock_app/app/controllers/cars_controller.rb +1 -0
- data/test/mock_app/app/controllers/people_controller.rb +3 -1
- data/test/mock_app/config/application.rb +2 -1
- data/test/mock_app/config/boot.rb +1 -1
- data/test/mock_app/config/environment.rb +2 -2
- data/test/mock_app/config/routes.rb +4 -1
- data/test/mock_app/db/schema.rb +2 -0
- data/test/performance/list_cars_performance_test.rb +34 -0
- data/test/performance/list_people_performance_test.rb +31 -0
- data/test/performance_test_help.rb +3 -0
- data/test/test_helper.rb +10 -2
- metadata +56 -15
- data/app/assets/javascripts/prototype/rico_corner.js +0 -370
- data/lib/active_scaffold/bridges/file_column/test/test_helper.rb +0 -7
@@ -4,7 +4,7 @@ require 'class_with_finder'
|
|
4
4
|
class CalculationTest < MiniTest::Test
|
5
5
|
def setup
|
6
6
|
@buildings = []
|
7
|
-
@buildings << Building.create { |b| b.
|
7
|
+
@buildings << Building.create { |b| b.build_owner(:first_name => 'foo') }
|
8
8
|
@buildings << Building.create(:name => 'foo bar')
|
9
9
|
@buildings << Building.create
|
10
10
|
|
@@ -41,17 +41,17 @@ class ConfigurableTest < MiniTest::Test
|
|
41
41
|
## test normal block behaviors
|
42
42
|
##
|
43
43
|
# functions
|
44
|
-
assert_equal hello, configurable_class.configure { hello }
|
44
|
+
assert_equal hello, (configurable_class.configure { hello })
|
45
45
|
# variables
|
46
|
-
assert_equal configurable_class, configurable_class.configure { configurable_class }
|
46
|
+
assert_equal configurable_class, (configurable_class.configure { configurable_class })
|
47
47
|
# constants
|
48
|
-
assert_equal ConfigurableTest::HELLO, configurable_class.configure { ConfigurableTest::HELLO }
|
48
|
+
assert_equal ConfigurableTest::HELLO, (configurable_class.configure { ConfigurableTest::HELLO })
|
49
49
|
|
50
50
|
##
|
51
51
|
## test extra "localized" block behavior
|
52
52
|
##
|
53
53
|
# functions
|
54
|
-
assert_equal configurable_class.foo, configurable_class.configure { foo }
|
54
|
+
assert_equal configurable_class.foo, (configurable_class.configure { foo })
|
55
55
|
# constants - not working
|
56
56
|
# assert_equal configurable_class.FOO, configurable_class.configure {FOO}
|
57
57
|
end
|
@@ -73,25 +73,25 @@ class ConfigurableTest < MiniTest::Test
|
|
73
73
|
## test normal block behaviors
|
74
74
|
##
|
75
75
|
# functions
|
76
|
-
assert_equal hello, ExtendedClass.configure { hello }
|
76
|
+
assert_equal hello, (ExtendedClass.configure { hello })
|
77
77
|
# variables
|
78
|
-
assert_equal ExtendedClass, ExtendedClass.configure { ExtendedClass }
|
78
|
+
assert_equal ExtendedClass, (ExtendedClass.configure { ExtendedClass })
|
79
79
|
# constants
|
80
|
-
assert_equal ConfigurableTest::HELLO, ExtendedClass.configure { ConfigurableTest::HELLO }
|
80
|
+
assert_equal ConfigurableTest::HELLO, (ExtendedClass.configure { ConfigurableTest::HELLO })
|
81
81
|
|
82
82
|
##
|
83
83
|
## test extra "localized" block behavior
|
84
84
|
##
|
85
85
|
# functions
|
86
|
-
assert_equal ExtendedClass.foo, ExtendedClass.configure { foo }
|
86
|
+
assert_equal ExtendedClass.foo, (ExtendedClass.configure { foo })
|
87
87
|
# constants - not working
|
88
88
|
# assert_equal ExtendedClass.FOO, ExtendedClass.configure {FOO}
|
89
89
|
end
|
90
90
|
|
91
91
|
def test_arity
|
92
92
|
# this is the main style
|
93
|
-
assert_equal 'foo', ExtendedClass.configure { 'foo' }
|
93
|
+
assert_equal 'foo', (ExtendedClass.configure { 'foo' })
|
94
94
|
# but we want to let people accept the configurable class as the first argument, too
|
95
|
-
assert_equal 'bar', ExtendedClass.configure { |a| a.foo } # rubocop:disable Style/SymbolProc
|
95
|
+
assert_equal 'bar', (ExtendedClass.configure { |a| a.foo }) # rubocop:disable Style/SymbolProc
|
96
96
|
end
|
97
97
|
end
|
@@ -26,6 +26,7 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
26
26
|
include ActiveScaffoldConfigMock
|
27
27
|
include ActiveScaffold::AttributeParams
|
28
28
|
include ActiveScaffold::Finder
|
29
|
+
include ActiveScaffold::Helpers::ControllerHelpers
|
29
30
|
|
30
31
|
def setup
|
31
32
|
NumberModel.load_schema! if Rails.version >= '5.0'
|
@@ -46,7 +47,6 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
46
47
|
|
47
48
|
@config = config_for('number_model')
|
48
49
|
@config.columns[:number].form_ui = nil
|
49
|
-
@config.create.columns.set_columns @config.columns
|
50
50
|
end
|
51
51
|
|
52
52
|
def teardown
|
@@ -161,7 +161,11 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
161
161
|
record.number
|
162
162
|
end
|
163
163
|
|
164
|
-
def params_hash?(
|
165
|
-
|
164
|
+
def params_hash?(value)
|
165
|
+
value.is_a? Hash
|
166
|
+
end
|
167
|
+
|
168
|
+
def params_hash(value)
|
169
|
+
value
|
166
170
|
end
|
167
171
|
end
|
data/test/misc/lang_test.rb
CHANGED
@@ -4,7 +4,7 @@ class LocalizationTest < MiniTest::Test
|
|
4
4
|
def test_localization
|
5
5
|
assert_equal 'Dutch', as_(:dutch)
|
6
6
|
assert_equal 'dutch', as_('dutch')
|
7
|
-
I18n.backend.store_translations :en, :active_scaffold => {:create_model => 'Create
|
7
|
+
I18n.backend.store_translations :en, :active_scaffold => {:create_model => 'Create %<model>s'}
|
8
8
|
assert_equal 'Create Test', as_(:create_model, :model => 'Test')
|
9
9
|
end
|
10
10
|
end
|
@@ -44,7 +44,6 @@ class ParseDatetimeTest < MiniTest::Test
|
|
44
44
|
I18n.backend.store_translations :es, spanish
|
45
45
|
|
46
46
|
@config = config_for('date_time_model')
|
47
|
-
@config.create.columns.set_columns @config.columns
|
48
47
|
end
|
49
48
|
|
50
49
|
def teardown
|
@@ -125,7 +124,7 @@ class ParseDatetimeTest < MiniTest::Test
|
|
125
124
|
end
|
126
125
|
|
127
126
|
def test_condition_for_datetime_with_zone
|
128
|
-
assert_equal
|
127
|
+
assert_equal ActiveSupport::TimeZone[3].local(2017, 4, 8, 16, 30, 0), condition_value('2017-04-08 16:30 +0300')
|
129
128
|
end
|
130
129
|
|
131
130
|
def test_condition_for_spanish_date
|
@@ -154,7 +153,7 @@ class ParseDatetimeTest < MiniTest::Test
|
|
154
153
|
self.class.condition_value_for_datetime(@config.columns[:run_at], value, conversion || :to_time)
|
155
154
|
end
|
156
155
|
|
157
|
-
def params_hash?(
|
158
|
-
|
156
|
+
def params_hash?(value)
|
157
|
+
value.is_a? Hash
|
159
158
|
end
|
160
159
|
end
|
data/test/misc/tableless_test.rb
CHANGED
@@ -27,6 +27,12 @@ class TablelessTest < MiniTest::Test
|
|
27
27
|
assert Person.new.files.empty?
|
28
28
|
end
|
29
29
|
|
30
|
+
def test_tableless_assoc_with_dependent
|
31
|
+
@person = Person.new
|
32
|
+
@person.save(validate: false)
|
33
|
+
assert @person.destroy
|
34
|
+
end
|
35
|
+
|
30
36
|
def test_find_with_through_association
|
31
37
|
assert Building.new.files.empty?
|
32
38
|
end
|
data/test/mock_app/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
2
|
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
3
|
|
4
|
-
require File.expand_path('
|
4
|
+
require File.expand_path('config/application', __dir__)
|
5
5
|
require 'rake'
|
6
6
|
|
7
7
|
RailsApp::Application.load_tasks
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path('
|
1
|
+
require File.expand_path('boot', __dir__)
|
2
2
|
|
3
3
|
require 'rails/all'
|
4
4
|
require 'rails/test_unit/railtie'
|
@@ -9,5 +9,6 @@ module RailsApp
|
|
9
9
|
config.filter_parameters << :password
|
10
10
|
config.action_mailer.default_url_options = {:host => 'localhost:3000'}
|
11
11
|
config.i18n.enforce_available_locales = false if config.i18n.respond_to? :enforce_available_locales
|
12
|
+
config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3.respond_to? :represent_boolean_as_integer
|
12
13
|
end
|
13
14
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Load the rails application
|
2
|
-
require File.expand_path('
|
2
|
+
require File.expand_path('application', __dir__)
|
3
3
|
|
4
4
|
# Initialize the rails application
|
5
|
-
RailsApp::Application.config.root = File.expand_path('
|
5
|
+
RailsApp::Application.config.root = File.expand_path('..', __dir__)
|
6
6
|
RailsApp::Application.initialize!
|
@@ -6,9 +6,12 @@ Rails.application.routes.draw do
|
|
6
6
|
resources :buildings, except: :index do
|
7
7
|
concerns :active_scaffold, except: %i[mark add_existing new_existing destroy_existing]
|
8
8
|
end
|
9
|
-
resources :cars, only: %i[edit update] do
|
9
|
+
resources :cars, only: %i[index edit update] do
|
10
10
|
concerns :active_scaffold, association: false, except: [:mark]
|
11
11
|
end
|
12
|
+
resources :people do
|
13
|
+
concerns :active_scaffold, except: %i[mark]
|
14
|
+
end
|
12
15
|
|
13
16
|
match ':controller(/:action(/:id))', :via => :any
|
14
17
|
end
|
data/test/mock_app/db/schema.rb
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'performance_test_help'
|
3
|
+
|
4
|
+
class ListCarsPerformanceTest < ActionDispatch::PerformanceTest
|
5
|
+
self.profile_options =
|
6
|
+
if ENV['BENCHMARK_TESTS']
|
7
|
+
{metrics: [:wall_time]}
|
8
|
+
else
|
9
|
+
{metrics: %i[process_time], formats: %i[flat graph_html call_stack]}
|
10
|
+
end
|
11
|
+
def setup
|
12
|
+
owners = Array.new(4) { |i| Person.create first_name: "Name#{i}" } << nil
|
13
|
+
500.times { |i| Car.create(brand: 'Skoda', model: 'Fabia', person: owners[i % 5]) }
|
14
|
+
CarsController.class_eval do
|
15
|
+
before_action :setup
|
16
|
+
|
17
|
+
def setup
|
18
|
+
active_scaffold_config.list.pagination = false
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_list
|
24
|
+
get '/cars'
|
25
|
+
end
|
26
|
+
|
27
|
+
# def test_list2
|
28
|
+
# get '/cars?t=2'
|
29
|
+
# end
|
30
|
+
#
|
31
|
+
# def test_list3
|
32
|
+
# get '/cars?t=3'
|
33
|
+
# end
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'performance_test_help'
|
3
|
+
|
4
|
+
class ListPeoplePerformanceTest < ActionDispatch::PerformanceTest
|
5
|
+
self.profile_options =
|
6
|
+
if ENV['BENCHMARK_TESTS']
|
7
|
+
{metrics: [:wall_time]}
|
8
|
+
else
|
9
|
+
{metrics: %i[process_time], formats: %i[flat graph_html call_stack]}
|
10
|
+
end
|
11
|
+
def setup
|
12
|
+
200.times do |i|
|
13
|
+
p = Person.create(first_name: "Name#{i}", last_name: 'Last')
|
14
|
+
p.buildings = Array.new(4) { |j| Building.create name: "B#{j} of #{p.first_name}" } unless (i % 4).zero?
|
15
|
+
end
|
16
|
+
PeopleController.class_eval do
|
17
|
+
before_action :setup
|
18
|
+
def list_columns
|
19
|
+
active_scaffold_config.columns.select { |col| %i[first_name last_name buildings].include?(col.name) }
|
20
|
+
end
|
21
|
+
|
22
|
+
def setup
|
23
|
+
active_scaffold_config.list.pagination = false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_list
|
29
|
+
get '/people'
|
30
|
+
end
|
31
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -5,6 +5,7 @@ require 'mock_app/config/environment'
|
|
5
5
|
require 'rails/test_help'
|
6
6
|
require 'minitest/autorun'
|
7
7
|
require 'mocha/setup'
|
8
|
+
require 'cow_proxy'
|
8
9
|
|
9
10
|
require 'minitest/reporters'
|
10
11
|
Minitest::Reporters.use!
|
@@ -17,11 +18,17 @@ def load_schema
|
|
17
18
|
end
|
18
19
|
load_schema
|
19
20
|
|
21
|
+
ActiveScaffold.threadsafe!
|
22
|
+
# avoid freezing defaults so we can stubs in tests for testing with different defaults
|
23
|
+
class << ActiveScaffold::Config::Core
|
24
|
+
def freeze; end
|
25
|
+
end
|
26
|
+
|
20
27
|
%w[model_stub const_mocker company].each do |file|
|
21
28
|
require File.join(File.dirname(__FILE__), file)
|
22
29
|
end
|
23
30
|
|
24
|
-
I18n.backend.store_translations :en, YAML.load_file(File.expand_path('
|
31
|
+
I18n.backend.store_translations :en, YAML.load_file(File.expand_path('../config/locales/en.yml', __dir__))['en']
|
25
32
|
|
26
33
|
# rails 4.0
|
27
34
|
unless defined? Minitest::Test
|
@@ -53,4 +60,5 @@ end
|
|
53
60
|
|
54
61
|
Config = RbConfig # HACK: needed some comments
|
55
62
|
|
56
|
-
class ColumnMock < ActiveScaffold::Tableless::Column
|
63
|
+
class ColumnMock < ActiveScaffold::Tableless::Column
|
64
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Many, see README
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.0
|
19
|
+
version: 4.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.0
|
26
|
+
version: 4.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: cow_proxy
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.3'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: ice_nine
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +52,20 @@ dependencies:
|
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: request_store
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
41
69
|
description: Save time and headaches, and create a more easily maintainable set of
|
42
70
|
pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read,
|
43
71
|
update, delete) user interface needs, leaving you more time to focus on more challenging
|
@@ -48,7 +76,7 @@ extensions: []
|
|
48
76
|
extra_rdoc_files:
|
49
77
|
- README.md
|
50
78
|
files:
|
51
|
-
- CHANGELOG
|
79
|
+
- CHANGELOG.rdoc
|
52
80
|
- LICENSE.md
|
53
81
|
- README.md
|
54
82
|
- app/assets/images/active_scaffold/add.png
|
@@ -88,7 +116,6 @@ files:
|
|
88
116
|
- app/assets/javascripts/prototype/active_scaffold_chosen.js
|
89
117
|
- app/assets/javascripts/prototype/dhtml_history.js
|
90
118
|
- app/assets/javascripts/prototype/form_enhancements.js
|
91
|
-
- app/assets/javascripts/prototype/rico_corner.js
|
92
119
|
- app/assets/javascripts/prototype/tiny_mce_bridge.js
|
93
120
|
- app/assets/stylesheets/active_scaffold-ie.scss
|
94
121
|
- app/assets/stylesheets/active_scaffold.scss
|
@@ -188,6 +215,11 @@ files:
|
|
188
215
|
- lib/active_scaffold/active_record_permissions.rb
|
189
216
|
- lib/active_scaffold/attribute_params.rb
|
190
217
|
- lib/active_scaffold/bridges.rb
|
218
|
+
- lib/active_scaffold/bridges/active_storage.rb
|
219
|
+
- lib/active_scaffold/bridges/active_storage/active_storage_bridge.rb
|
220
|
+
- lib/active_scaffold/bridges/active_storage/active_storage_helpers.rb
|
221
|
+
- lib/active_scaffold/bridges/active_storage/form_ui.rb
|
222
|
+
- lib/active_scaffold/bridges/active_storage/list_ui.rb
|
191
223
|
- lib/active_scaffold/bridges/ancestry.rb
|
192
224
|
- lib/active_scaffold/bridges/ancestry/ancestry_bridge.rb
|
193
225
|
- lib/active_scaffold/bridges/bitfields.rb
|
@@ -220,7 +252,6 @@ files:
|
|
220
252
|
- lib/active_scaffold/bridges/file_column/list_ui.rb
|
221
253
|
- lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb
|
222
254
|
- lib/active_scaffold/bridges/file_column/test/mock_model.rb
|
223
|
-
- lib/active_scaffold/bridges/file_column/test/test_helper.rb
|
224
255
|
- lib/active_scaffold/bridges/paper_trail.rb
|
225
256
|
- lib/active_scaffold/bridges/paper_trail/actions.rb
|
226
257
|
- lib/active_scaffold/bridges/paper_trail/config.rb
|
@@ -277,6 +308,8 @@ files:
|
|
277
308
|
- lib/active_scaffold/extensions/action_controller_rescueing.rb
|
278
309
|
- lib/active_scaffold/extensions/action_view_rendering.rb
|
279
310
|
- lib/active_scaffold/extensions/connection_adapter.rb
|
311
|
+
- lib/active_scaffold/extensions/cow_proxy.rb
|
312
|
+
- lib/active_scaffold/extensions/ice_nine.rb
|
280
313
|
- lib/active_scaffold/extensions/left_outer_joins.rb
|
281
314
|
- lib/active_scaffold/extensions/localize.rb
|
282
315
|
- lib/active_scaffold/extensions/name_option_for_datetime.rb
|
@@ -300,6 +333,7 @@ files:
|
|
300
333
|
- lib/active_scaffold/marked_model.rb
|
301
334
|
- lib/active_scaffold/orm_checks.rb
|
302
335
|
- lib/active_scaffold/paginator.rb
|
336
|
+
- lib/active_scaffold/registry.rb
|
303
337
|
- lib/active_scaffold/responds_to_parent.rb
|
304
338
|
- lib/active_scaffold/tableless.rb
|
305
339
|
- lib/active_scaffold/version.rb
|
@@ -362,6 +396,7 @@ files:
|
|
362
396
|
- test/misc/tableless_test.rb
|
363
397
|
- test/mock_app/.gitignore
|
364
398
|
- test/mock_app/Rakefile
|
399
|
+
- test/mock_app/app/assets/config/manifest.js
|
365
400
|
- test/mock_app/app/controllers/addresses_controller.rb
|
366
401
|
- test/mock_app/app/controllers/application_controller.rb
|
367
402
|
- test/mock_app/app/controllers/buildings_controller.rb
|
@@ -397,6 +432,9 @@ files:
|
|
397
432
|
- test/mock_app/db/schema.rb
|
398
433
|
- test/mock_app/db/test.sqlite3
|
399
434
|
- test/model_stub.rb
|
435
|
+
- test/performance/list_cars_performance_test.rb
|
436
|
+
- test/performance/list_people_performance_test.rb
|
437
|
+
- test/performance_test_help.rb
|
400
438
|
- test/run_all.rb
|
401
439
|
- test/test_helper.rb
|
402
440
|
- vendor/assets/javascripts/getprototypeof.js
|
@@ -408,7 +446,7 @@ homepage: https://github.com/activescaffold/active_scaffold
|
|
408
446
|
licenses:
|
409
447
|
- MIT
|
410
448
|
metadata: {}
|
411
|
-
post_install_message:
|
449
|
+
post_install_message:
|
412
450
|
rdoc_options: []
|
413
451
|
require_paths:
|
414
452
|
- lib
|
@@ -416,16 +454,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
416
454
|
requirements:
|
417
455
|
- - ">="
|
418
456
|
- !ruby/object:Gem::Version
|
419
|
-
version: '2.
|
457
|
+
version: '2.3'
|
420
458
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
421
459
|
requirements:
|
422
|
-
- - "
|
460
|
+
- - ">"
|
423
461
|
- !ruby/object:Gem::Version
|
424
|
-
version:
|
462
|
+
version: 1.3.1
|
425
463
|
requirements: []
|
426
|
-
|
427
|
-
|
428
|
-
signing_key:
|
464
|
+
rubygems_version: 3.0.8
|
465
|
+
signing_key:
|
429
466
|
specification_version: 4
|
430
467
|
summary: Rails 4.x and 5.x versions of ActiveScaffold supporting prototype and jquery
|
431
468
|
test_files:
|
@@ -480,6 +517,7 @@ test_files:
|
|
480
517
|
- test/misc/tableless_test.rb
|
481
518
|
- test/mock_app/.gitignore
|
482
519
|
- test/mock_app/Rakefile
|
520
|
+
- test/mock_app/app/assets/config/manifest.js
|
483
521
|
- test/mock_app/app/controllers/addresses_controller.rb
|
484
522
|
- test/mock_app/app/controllers/application_controller.rb
|
485
523
|
- test/mock_app/app/controllers/buildings_controller.rb
|
@@ -515,5 +553,8 @@ test_files:
|
|
515
553
|
- test/mock_app/db/schema.rb
|
516
554
|
- test/mock_app/db/test.sqlite3
|
517
555
|
- test/model_stub.rb
|
556
|
+
- test/performance/list_cars_performance_test.rb
|
557
|
+
- test/performance/list_people_performance_test.rb
|
558
|
+
- test/performance_test_help.rb
|
518
559
|
- test/run_all.rb
|
519
560
|
- test/test_helper.rb
|