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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e6e5c1e785de509bd1c7599df86fdb868e057c4edadd170c31db62b0d2b15bf
4
- data.tar.gz: aa1eea6644eb191c24f0a3fc7e9b9482bfc23ebc080b2c4a73ce206676b9434a
3
+ metadata.gz: 13666e6e80c12579c34b3e0a653bc043e61248ea32d3f71f8e7f54585bacdf8d
4
+ data.tar.gz: 26710509272bd25866ef7149c031637bf41b1eca57506266a47d7ef96ef221ff
5
5
  SHA512:
6
- metadata.gz: c0b4391fc0d49c14e2d20cd08a0e0be11f9ead8f39cb81a78a2d26c842389a8c5d68d8ec0ba2052d7c1919aa015893b3d9bb9bcc1c5be88861bd3646bb052652
7
- data.tar.gz: edfe1a77f9782c2845a647a1ffa991652ebd9fd8810218abeec65accbf4ded71bd2df46074cb219be21b15fccdc4e6e4174b2fd311d5afdce79e3759e2a69006
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
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRailsBase0
4
+ class ApplicationMailer < (
5
+ begin
6
+ ::ApplicationMailer
7
+ rescue StandardError
8
+ ::ActionMailer::Base
9
+ end
10
+ )
11
+ end
12
+ 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') %>
@@ -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
@@ -58,6 +58,7 @@ module EacRailsBase0
58
58
 
59
59
  can :manage, ::EacUsersSupport::User
60
60
  can :manage, ::Aranha::Address
61
+ can :manage, ::Aranha::StartPoint
61
62
  can :manage, ::BrRailties::FederalUnit
62
63
  can :manage, ::BrRailties::Municipality
63
64
  can :manage, ::ScheduledTask
@@ -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 = ActiveSupport::Logger.new(STDOUT)
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
- return if ENV['RAILS_LOG_TO_STDOUT'].blank?
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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/engine'
3
+ require 'aranha/rails/engine'
4
4
  require 'br_railties/engine'
5
5
  require 'eac_rails_utils/engine'
6
6
  require 'eac_users_support/engine'
@@ -12,15 +12,39 @@ RSpec.configure do |config|
12
12
  end
13
13
 
14
14
  FactoryBot.define do
15
- factory :user, class: ::EacUsersSupport::User do
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(:user) }
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'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsBase0
4
- VERSION = '0.48.0'
4
+ VERSION = '0.52.0'
5
5
  end
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.48.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-10-20 00:00:00.000000000 Z
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.14'
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.14'
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.14.2
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