eac_rails_base0 0.48.0 → 0.52.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/app/controllers/eac_rails_base0/application_controller.rb +2 -0
- data/app/helpers/eac_rails_base0/layout_helper.rb +0 -57
- data/app/helpers/eac_rails_base0/main_menu_helper.rb +64 -0
- data/app/helpers/eac_rails_base0/user_menu_helper.rb +18 -0
- data/app/mailers/eac_rails_base0/application_mailer.rb +12 -0
- data/app/mailers/eac_rails_base0/send_test_mailer.rb +1 -1
- data/app/views/layouts/eac_rails_base0/_navbar_user.html.erb +1 -10
- data/config/routes.rb +1 -3
- data/lib/eac_rails_base0/app_base/ability.rb +1 -0
- data/lib/eac_rails_base0/app_base/ability_mapping.rb +1 -0
- data/lib/eac_rails_base0/app_base/application.rb +6 -0
- data/lib/eac_rails_base0/app_base/application/development.rb +1 -3
- data/lib/eac_rails_base0/app_base/application/production.rb +1 -5
- data/lib/eac_rails_base0/engine.rb +1 -1
- data/lib/eac_rails_base0/spec_helper/eac_users_support.rb +26 -2
- data/lib/eac_rails_base0/version.rb +1 -1
- metadata +21 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13666e6e80c12579c34b3e0a653bc043e61248ea32d3f71f8e7f54585bacdf8d
|
4
|
+
data.tar.gz: 26710509272bd25866ef7149c031637bf41b1eca57506266a47d7ef96ef221ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42aaa638fcde68752c27af5cd5e57559e9c28d4d4b479947b755e9770985236d2f000ebcb348af7f387e4a60b5a7912f4fb94ebb71cc542ef33683b0eba6445f
|
7
|
+
data.tar.gz: bffc0d52763f01ff91b3eb6a6c0ce4e356a813eccf95c62d43efc3e53b9d8e96347bc02b02262e39f98440d931b4bf8421bb6a0ca854d995948c1f0d3652b103
|
@@ -7,9 +7,11 @@ module EacRailsBase0
|
|
7
7
|
layout 'eac_rails_base0/application'
|
8
8
|
helper ::EacRailsBase0::AppVersionHelper
|
9
9
|
helper ::EacRailsBase0::LayoutHelper
|
10
|
+
helper ::EacRailsBase0::MainMenuHelper
|
10
11
|
helper ::EacRailsUtils::FormatterHelper
|
11
12
|
helper ::EacRailsUtils::LinksHelper
|
12
13
|
helper ::EacRailsUtils::OpenGraphProtocolHelper
|
14
|
+
helper ::EacRailsBase0::UserMenuHelper
|
13
15
|
|
14
16
|
# Prevent CSRF attacks by raising an exception.
|
15
17
|
# For APIs, you may want to use :null_session instead.
|
@@ -3,8 +3,6 @@
|
|
3
3
|
module EacRailsBase0
|
4
4
|
module LayoutHelper
|
5
5
|
APP_TITLE_METHOD = 'app_title'
|
6
|
-
APP_MAIN_MENU_ENTRIES_METHOD = 'app_main_menu_entries'
|
7
|
-
ADMIN_ENTRIES = %w[eac_users_support tasks_scheduler aranha br_railties mailer].freeze
|
8
6
|
|
9
7
|
def base0_app_title
|
10
8
|
if respond_to?(APP_TITLE_METHOD)
|
@@ -13,60 +11,5 @@ module EacRailsBase0
|
|
13
11
|
"Implement the helper method \"#{APP_TITLE_METHOD}\""
|
14
12
|
end
|
15
13
|
end
|
16
|
-
|
17
|
-
def base0_app_main_menu_entries
|
18
|
-
if respond_to?(APP_MAIN_MENU_ENTRIES_METHOD)
|
19
|
-
send(APP_MAIN_MENU_ENTRIES_METHOD, base0_app_main_menu_default_entries)
|
20
|
-
else
|
21
|
-
base0_app_main_menu_default_entries
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def base0_app_main_menu_default_entries
|
26
|
-
{
|
27
|
-
'Administração' => base0_app_main_menu_admin_entries
|
28
|
-
}
|
29
|
-
end
|
30
|
-
|
31
|
-
def base0_app_main_menu_admin_entries
|
32
|
-
ADMIN_ENTRIES.map do |identifier|
|
33
|
-
[::I18n.t("eac_rails_base0.main_menu.admin.#{identifier}"),
|
34
|
-
send("#{identifier}_main_menu_admin_entries")]
|
35
|
-
end.to_h
|
36
|
-
end
|
37
|
-
|
38
|
-
def mailer_main_menu_admin_entries
|
39
|
-
%w[info send_test].map do |action|
|
40
|
-
[
|
41
|
-
t("eac_rails_base0.mailer.#{action}"),
|
42
|
-
main_app.send("#{action}_eac_rails_base0_mailer_index_path")
|
43
|
-
]
|
44
|
-
end.to_h
|
45
|
-
end
|
46
|
-
|
47
|
-
def eac_users_support_main_menu_admin_entries
|
48
|
-
{
|
49
|
-
::EacUsersSupport::User.model_name.human(count: 2) => [eac_users_support.admin_users_path]
|
50
|
-
}
|
51
|
-
end
|
52
|
-
|
53
|
-
def tasks_scheduler_main_menu_admin_entries
|
54
|
-
{
|
55
|
-
t('activerecord.models.scheduled_task.other') => [main_app.status_scheduled_tasks_path]
|
56
|
-
}
|
57
|
-
end
|
58
|
-
|
59
|
-
def aranha_main_menu_admin_entries
|
60
|
-
{
|
61
|
-
::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path]
|
62
|
-
}
|
63
|
-
end
|
64
|
-
|
65
|
-
def br_railties_main_menu_admin_entries
|
66
|
-
{
|
67
|
-
::BrRailties::FederalUnit.model_name.human(count: 2) => [br_railties.federal_units_path],
|
68
|
-
::BrRailties::Municipality.model_name.human(count: 2) => [br_railties.municipalities_path]
|
69
|
-
}
|
70
|
-
end
|
71
14
|
end
|
72
15
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EacRailsBase0
|
4
|
+
module MainMenuHelper
|
5
|
+
APP_MAIN_MENU_ENTRIES_METHOD = 'app_main_menu_entries'
|
6
|
+
ADMIN_ENTRIES = %w[eac_users_support tasks_scheduler aranha br_railties mailer].freeze
|
7
|
+
|
8
|
+
def base0_app_main_menu_entries
|
9
|
+
if respond_to?(APP_MAIN_MENU_ENTRIES_METHOD)
|
10
|
+
send(APP_MAIN_MENU_ENTRIES_METHOD, base0_app_main_menu_default_entries)
|
11
|
+
else
|
12
|
+
base0_app_main_menu_default_entries
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def base0_app_main_menu_default_entries
|
17
|
+
{
|
18
|
+
'Administração' => base0_app_main_menu_admin_entries
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
def base0_app_main_menu_admin_entries
|
23
|
+
ADMIN_ENTRIES.map do |identifier|
|
24
|
+
[::I18n.t("eac_rails_base0.main_menu.admin.#{identifier}"),
|
25
|
+
send("#{identifier}_main_menu_admin_entries")]
|
26
|
+
end.to_h
|
27
|
+
end
|
28
|
+
|
29
|
+
def mailer_main_menu_admin_entries
|
30
|
+
%w[info send_test].map do |action|
|
31
|
+
[
|
32
|
+
t("eac_rails_base0.mailer.#{action}"),
|
33
|
+
main_app.send("#{action}_eac_rails_base0_mailer_index_path")
|
34
|
+
]
|
35
|
+
end.to_h
|
36
|
+
end
|
37
|
+
|
38
|
+
def eac_users_support_main_menu_admin_entries
|
39
|
+
{
|
40
|
+
::EacUsersSupport::User.model_name.human(count: 2) => [eac_users_support.admin_users_path]
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
def tasks_scheduler_main_menu_admin_entries
|
45
|
+
{
|
46
|
+
t('activerecord.models.scheduled_task.other') => [main_app.status_scheduled_tasks_path]
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
def aranha_main_menu_admin_entries
|
51
|
+
{
|
52
|
+
::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path],
|
53
|
+
::Aranha::StartPoint.model_name.human(count: 2) => [aranha.start_points_path]
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
def br_railties_main_menu_admin_entries
|
58
|
+
{
|
59
|
+
::BrRailties::FederalUnit.model_name.human(count: 2) => [br_railties.federal_units_path],
|
60
|
+
::BrRailties::Municipality.model_name.human(count: 2) => [br_railties.municipalities_path]
|
61
|
+
}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EacRailsBase0
|
4
|
+
module UserMenuHelper
|
5
|
+
def base0_user_menu_entries
|
6
|
+
r = {}
|
7
|
+
if current_user
|
8
|
+
r[current_user.to_s] = {
|
9
|
+
'Alterar senha' => [eac_users_support.edit_user_registration_path]
|
10
|
+
}
|
11
|
+
r['Sair'] = [eac_users_support.destroy_user_session_path, link_method: :delete]
|
12
|
+
else
|
13
|
+
r['Entrar'] = [eac_users_support.new_user_session_path]
|
14
|
+
end
|
15
|
+
r
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module EacRailsBase0
|
4
|
-
class SendTestMailer < ::ApplicationMailer
|
4
|
+
class SendTestMailer < ::EacRailsBase0::ApplicationMailer
|
5
5
|
def main
|
6
6
|
@subject = "#{t('eac_rails_base0.mailer.send_test')} [#{::Time.zone.now}]"
|
7
7
|
mail(to: params.fetch(:address), subject: @subject)
|
@@ -1,10 +1 @@
|
|
1
|
-
|
2
|
-
user_menu = {}
|
3
|
-
if current_user
|
4
|
-
user_menu[current_user.to_s] = [main_app.root_path]
|
5
|
-
user_menu['Sair'] = [eac_users_support.destroy_user_session_path, link_method: :delete]
|
6
|
-
else
|
7
|
-
user_menu['Entrar'] = [eac_users_support.new_user_session_path]
|
8
|
-
end
|
9
|
-
%>
|
10
|
-
<%= bootstrap_dropdown_menu(user_menu, class: 'navbar-right') %>
|
1
|
+
<%= bootstrap_dropdown_menu(base0_user_menu_entries, class: 'navbar-right') %>
|
data/config/routes.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'aranha/engine'
|
4
|
-
|
5
3
|
Rails.application.routes.draw do
|
6
4
|
mount ::EacRailsUtils::Engine => '/'
|
7
5
|
mount ::EacUsersSupport::Engine => '/'
|
8
|
-
mount ::Aranha::Engine => '/aranha'
|
6
|
+
mount ::Aranha::Rails::Engine => '/aranha'
|
9
7
|
mount ::BrRailties::Engine => '/br_railties'
|
10
8
|
|
11
9
|
namespace(:eac_rails_base0) do
|
@@ -13,6 +13,7 @@ module EacRailsBase0
|
|
13
13
|
map_devise_invitable
|
14
14
|
map_controller 'EacUsersSupport::Admin::Users', :manage, ::EacUsersSupport::User
|
15
15
|
map_controller 'Aranha::Addresses', :manage, ::Aranha::Address
|
16
|
+
map_controller 'Aranha::StartPoints', :manage, ::Aranha::StartPoint
|
16
17
|
map_controller 'BrRailties::FederalUnits', :manage, ::BrRailties::FederalUnit
|
17
18
|
map_controller 'BrRailties::Municipalities', :manage, ::BrRailties::Municipality
|
18
19
|
map_controller 'ScheduledTasks', :manage, ::ScheduledTask
|
@@ -10,6 +10,12 @@ Bundler.require(*Rails.groups)
|
|
10
10
|
module EacRailsBase0App
|
11
11
|
class Application < Rails::Application
|
12
12
|
class << self
|
13
|
+
def new_stdout_logger
|
14
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
15
|
+
logger.formatter = config.log_formatter
|
16
|
+
::ActiveSupport::TaggedLogging.new(logger)
|
17
|
+
end
|
18
|
+
|
13
19
|
def setup(*args)
|
14
20
|
args.each { |a| send("setup_#{a}") }
|
15
21
|
end
|
@@ -48,9 +48,7 @@ module EacRailsBase0App
|
|
48
48
|
|
49
49
|
def setup_log
|
50
50
|
config.active_support.deprecation = :log
|
51
|
-
logger =
|
52
|
-
logger.formatter = config.log_formatter
|
53
|
-
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
51
|
+
config.logger = new_stdout_logger
|
54
52
|
end
|
55
53
|
end
|
56
54
|
end
|
@@ -33,11 +33,7 @@ module EacRailsBase0App
|
|
33
33
|
config.log_tags = [:request_id]
|
34
34
|
config.active_support.deprecation = :notify
|
35
35
|
config.log_formatter = ::Logger::Formatter.new
|
36
|
-
|
37
|
-
|
38
|
-
logger = ActiveSupport::Logger.new(STDOUT)
|
39
|
-
logger.formatter = config.log_formatter
|
40
|
-
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
36
|
+
config.logger = new_stdout_logger if ENV['RAILS_LOG_TO_STDOUT'].blank?
|
41
37
|
end
|
42
38
|
|
43
39
|
def setup_public_file_server
|
@@ -12,15 +12,39 @@ RSpec.configure do |config|
|
|
12
12
|
end
|
13
13
|
|
14
14
|
FactoryBot.define do
|
15
|
-
factory :
|
15
|
+
factory :admin_user, class: ::EacUsersSupport::User do
|
16
16
|
email { 'admin@example.com' }
|
17
17
|
password { 'mysecret' }
|
18
18
|
confirmed_at { ::Time.zone.now }
|
19
19
|
end
|
20
|
+
|
21
|
+
factory :non_admin_user, class: ::EacUsersSupport::User do
|
22
|
+
email { 'nonadmin@example.com' }
|
23
|
+
password { 'mysecret' }
|
24
|
+
confirmed_at { ::Time.zone.now }
|
25
|
+
end
|
20
26
|
end
|
21
27
|
|
22
28
|
RSpec.shared_context 'when user is admin', shared_context: :metadata do
|
23
|
-
let(:user) { ::FactoryBot.create(:
|
29
|
+
let(:user) { ::FactoryBot.create(:admin_user) }
|
30
|
+
|
31
|
+
before do
|
32
|
+
visit '/users/sign_in'
|
33
|
+
fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
|
34
|
+
with: user.email
|
35
|
+
fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
|
36
|
+
with: user.password
|
37
|
+
click_button ::I18n.translate!('devise.log_in')
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'user should be logged' do
|
41
|
+
expect(page).to have_content user.email
|
42
|
+
expect(::EacUsersSupport::User.current_user).not_to be_nil
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
RSpec.shared_context 'when user is non admin', shared_context: :metadata do
|
47
|
+
let(:user) { ::FactoryBot.create(:non_admin_user) }
|
24
48
|
|
25
49
|
before do
|
26
50
|
visit '/users/sign_in'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_rails_base0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.52.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_scaffold
|
@@ -31,25 +31,33 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 3.5.5
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name: aranha
|
34
|
+
name: aranha-parsers
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 0.14.2
|
39
|
+
version: '0.6'
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
44
|
- - "~>"
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version: '0.
|
50
|
-
|
46
|
+
version: '0.6'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: aranha-rails
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.2'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
51
59
|
- !ruby/object:Gem::Version
|
52
|
-
version: 0.
|
60
|
+
version: '0.2'
|
53
61
|
- !ruby/object:Gem::Dependency
|
54
62
|
name: bootstrap-sass
|
55
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -580,7 +588,10 @@ files:
|
|
580
588
|
- app/controllers/eac_rails_base0/mailer_controller.rb
|
581
589
|
- app/helpers/eac_rails_base0/app_version_helper.rb
|
582
590
|
- app/helpers/eac_rails_base0/layout_helper.rb
|
591
|
+
- app/helpers/eac_rails_base0/main_menu_helper.rb
|
583
592
|
- app/helpers/eac_rails_base0/panel_default_helper.rb
|
593
|
+
- app/helpers/eac_rails_base0/user_menu_helper.rb
|
594
|
+
- app/mailers/eac_rails_base0/application_mailer.rb
|
584
595
|
- app/mailers/eac_rails_base0/send_test_mailer.rb
|
585
596
|
- app/models/eac_rails_base0/application_record.rb
|
586
597
|
- app/tableless_models/eac_rails_base0/email_send_test.rb
|