eac_rails_base0 0.52.0 → 0.53.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: 13666e6e80c12579c34b3e0a653bc043e61248ea32d3f71f8e7f54585bacdf8d
4
- data.tar.gz: 26710509272bd25866ef7149c031637bf41b1eca57506266a47d7ef96ef221ff
3
+ metadata.gz: 309880b1cad226e7d5eca8cf4070121ff05c59c0897779636bfed488672dc616
4
+ data.tar.gz: 50b55d0c59aaad55355782e4971d50b9be793aaf3dfe3e7b159eb017759919ce
5
5
  SHA512:
6
- metadata.gz: 42aaa638fcde68752c27af5cd5e57559e9c28d4d4b479947b755e9770985236d2f000ebcb348af7f387e4a60b5a7912f4fb94ebb71cc542ef33683b0eba6445f
7
- data.tar.gz: bffc0d52763f01ff91b3eb6a6c0ce4e356a813eccf95c62d43efc3e53b9d8e96347bc02b02262e39f98440d931b4bf8421bb6a0ca854d995948c1f0d3652b103
6
+ metadata.gz: 7270a394cddcb88fcb2a38f8c23cf29d3bd569ad89333828da5e278c46505460543a288be4d6bcb4d9e7f46af2d20b9a17fbf3e7dd1d201f04f5d6d4748cc5a1
7
+ data.tar.gz: 3132f0e276d26d14aaaa5615461e8682231b40587d1c2cb95b1fe16e7c1706de20c3ac16e8389541211e84e89f61b355e9c49aa199b6ea8ce39617fa5c42d7fb
@@ -10,7 +10,7 @@ unless ::Rails.env.test?
10
10
  password: ENV['action_mailer_smtp_password'],
11
11
  authentication: ENV['action_mailer_smtp_authentication'],
12
12
  enable_starttls_auto:
13
- ::EacRailsBase0::BooleanValue.to_b(ENV['action_mailer_smtp_enable_starttls_auto'])
13
+ ::EacRubyUtils::Boolean.parse(ENV['action_mailer_smtp_enable_starttls_auto'])
14
14
  }
15
15
  %i[host port].each do |option|
16
16
  value = ENV["action_mailer_default_url_#{option}"]
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/speaker'
4
+ require 'eac_ruby_utils/speaker'
5
+
6
+ unless ::EacRubyUtils::Speaker.context.optional_current
7
+ ::EacRubyUtils::Speaker.context.push(::EacCli::Speaker.new)
8
+ end
@@ -20,6 +20,5 @@ end
20
20
  require_dependency 'eac_rails_base0/gems'
21
21
  require_dependency 'eac_rails_base0/app_base/ability_mapping'
22
22
  require_dependency 'eac_rails_base0/app_base/ability'
23
- require_dependency 'eac_rails_base0/boolean_value'
24
23
  require_dependency 'eac_rails_base0/patches/url_for_patch'
25
24
  require_dependency 'eac_rails_base0/x_engine'
@@ -32,7 +32,7 @@ module EacRailsBase0App
32
32
  vars = ::EacRubyUtils::Yaml.load(path.read)
33
33
  raise "\"#{path}\" does not contain a Hash" unless vars.is_a?(::Hash)
34
34
 
35
- vars.each { |name, value| ENV[name.to_s] = value }
35
+ vars.each { |name, value| ENV[name.to_s] = value.to_s }
36
36
  end
37
37
 
38
38
  def setup_envvars
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacRailsBase0
6
+ module Rspec
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'factory_bot'
5
+
6
+ module EacRailsBase0
7
+ module Rspec
8
+ class Setup
9
+ common_constructor :setup_obj
10
+
11
+ def perform
12
+ return unless defined?(::Rails)
13
+
14
+ %w[engines admin_user non_admin_user admin_example non_admin_example
15
+ anonymous_example].each do |m|
16
+ send("setup_#{m}")
17
+ end
18
+ end
19
+
20
+ private
21
+
22
+ def setup_engines
23
+ ::FactoryBot.definition_file_paths += ::EacRailsBase0::XEngine.local.flat_map do |engine|
24
+ %w[factories test/factories spec/factories].map do |subpath|
25
+ engine.config.root.join(subpath).to_path
26
+ end
27
+ end
28
+ ::FactoryBot.find_definitions
29
+ end
30
+
31
+ def setup_admin_user
32
+ ::FactoryBot.define do
33
+ factory :admin_user, class: ::EacUsersSupport::User do
34
+ email { 'admin@example.com' }
35
+ password { 'mysecret' }
36
+ confirmed_at { ::Time.zone.now }
37
+ end
38
+ end
39
+ end
40
+
41
+ def setup_non_admin_user
42
+ ::FactoryBot.define do
43
+ factory :non_admin_user, class: ::EacUsersSupport::User do
44
+ email { 'nonadmin@example.com' }
45
+ password { 'mysecret' }
46
+ confirmed_at { ::Time.zone.now }
47
+ end
48
+ end
49
+ end
50
+
51
+ def setup_admin_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
52
+ ::RSpec.shared_context 'when user is admin', shared_context: :metadata do
53
+ let(:user) { ::FactoryBot.create(:admin_user) }
54
+
55
+ before do
56
+ visit '/users/sign_in'
57
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
58
+ with: user.email
59
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
60
+ with: user.password
61
+ click_button ::I18n.translate!('devise.log_in')
62
+ end
63
+
64
+ it 'user should be logged' do
65
+ expect(page).to have_content user.email
66
+ expect(::EacUsersSupport::User.current_user).not_to be_nil
67
+ end
68
+ end
69
+ end
70
+
71
+ def setup_non_admin_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
72
+ ::RSpec.shared_context 'when user is non admin', shared_context: :metadata do
73
+ let(:user) { ::FactoryBot.create(:non_admin_user) }
74
+
75
+ before do
76
+ visit '/users/sign_in'
77
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
78
+ with: user.email
79
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
80
+ with: user.password
81
+ click_button ::I18n.translate!('devise.log_in')
82
+ end
83
+
84
+ it 'user should be logged' do
85
+ expect(page).to have_content user.email
86
+ expect(::EacUsersSupport::User.current_user).not_to be_nil
87
+ end
88
+ end
89
+ end
90
+
91
+ def setup_anonymous_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
92
+ ::RSpec.shared_context 'when user is anonymous', shared_context: :metadata do
93
+ before do
94
+ visit '/'
95
+ if link_exist?(::I18n.translate!('devise.log_out'))
96
+ click_link(::I18n.translate!('devise.log_out'))
97
+ elsif !link_exist?(::I18n.translate!('devise.log_in'))
98
+ raise 'login nor logout link found'
99
+ end
100
+ end
101
+
102
+ it 'user should be not logged' do
103
+ expect(::EacUsersSupport::User.current_user).to be_nil
104
+ end
105
+
106
+ def link_exist?(locator) # rubocop:disable Lint/NestedMethodDefinition
107
+ find_link(locator)
108
+ true
109
+ rescue Capybara::ElementNotFound
110
+ false
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsBase0
4
- VERSION = '0.52.0'
4
+ VERSION = '0.53.0'
5
5
  end
metadata CHANGED
@@ -1,23 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_rails_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.52.0
4
+ version: 0.53.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-29 00:00:00.000000000 Z
11
+ date: 2021-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_scaffold
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.5'
20
- - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: 3.5.5
23
20
  type: :runtime
@@ -25,9 +22,6 @@ dependencies:
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.5'
30
- - - ">="
31
25
  - !ruby/object:Gem::Version
32
26
  version: 3.5.5
33
27
  - !ruby/object:Gem::Dependency
@@ -92,20 +86,6 @@ dependencies:
92
86
  - - ">="
93
87
  - !ruby/object:Gem::Version
94
88
  version: 0.4.1
95
- - !ruby/object:Gem::Dependency
96
- name: byebug
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :runtime
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: '0'
109
89
  - !ruby/object:Gem::Dependency
110
90
  name: can_can_dry
111
91
  requirement: !ruby/object:Gem::Requirement
@@ -120,20 +100,6 @@ dependencies:
120
100
  - - "~>"
121
101
  - !ruby/object:Gem::Version
122
102
  version: '0.5'
123
- - !ruby/object:Gem::Dependency
124
- name: capybara
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: '0'
130
- type: :runtime
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: '0'
137
103
  - !ruby/object:Gem::Dependency
138
104
  name: carrierwave
139
105
  requirement: !ruby/object:Gem::Requirement
@@ -169,39 +135,39 @@ dependencies:
169
135
  - !ruby/object:Gem::Version
170
136
  version: 4.2.2
171
137
  - !ruby/object:Gem::Dependency
172
- name: eac_rails_utils
138
+ name: eac_cli
173
139
  requirement: !ruby/object:Gem::Requirement
174
140
  requirements:
175
141
  - - "~>"
176
142
  - !ruby/object:Gem::Version
177
- version: '0.10'
143
+ version: '0.21'
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 0.21.1
178
147
  type: :runtime
179
148
  prerelease: false
180
149
  version_requirements: !ruby/object:Gem::Requirement
181
150
  requirements:
182
151
  - - "~>"
183
152
  - !ruby/object:Gem::Version
184
- version: '0.10'
153
+ version: '0.21'
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 0.21.1
185
157
  - !ruby/object:Gem::Dependency
186
- name: eac_ruby_gem_support
158
+ name: eac_rails_utils
187
159
  requirement: !ruby/object:Gem::Requirement
188
160
  requirements:
189
161
  - - "~>"
190
162
  - !ruby/object:Gem::Version
191
- version: '0.1'
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: 0.1.1
163
+ version: '0.10'
195
164
  type: :runtime
196
165
  prerelease: false
197
166
  version_requirements: !ruby/object:Gem::Requirement
198
167
  requirements:
199
168
  - - "~>"
200
169
  - !ruby/object:Gem::Version
201
- version: '0.1'
202
- - - ">="
203
- - !ruby/object:Gem::Version
204
- version: 0.1.1
170
+ version: '0.10'
205
171
  - !ruby/object:Gem::Dependency
206
172
  name: eac_ruby_gems_utils
207
173
  requirement: !ruby/object:Gem::Requirement
@@ -228,14 +194,14 @@ dependencies:
228
194
  requirements:
229
195
  - - "~>"
230
196
  - !ruby/object:Gem::Version
231
- version: '0.32'
197
+ version: '0.72'
232
198
  type: :runtime
233
199
  prerelease: false
234
200
  version_requirements: !ruby/object:Gem::Requirement
235
201
  requirements:
236
202
  - - "~>"
237
203
  - !ruby/object:Gem::Version
238
- version: '0.32'
204
+ version: '0.72'
239
205
  - !ruby/object:Gem::Dependency
240
206
  name: eac_users_support
241
207
  requirement: !ruby/object:Gem::Requirement
@@ -256,20 +222,6 @@ dependencies:
256
222
  - - ">="
257
223
  - !ruby/object:Gem::Version
258
224
  version: 0.8.2
259
- - !ruby/object:Gem::Dependency
260
- name: factory_bot_rails
261
- requirement: !ruby/object:Gem::Requirement
262
- requirements:
263
- - - "~>"
264
- - !ruby/object:Gem::Version
265
- version: '4.0'
266
- type: :runtime
267
- prerelease: false
268
- version_requirements: !ruby/object:Gem::Requirement
269
- requirements:
270
- - - "~>"
271
- - !ruby/object:Gem::Version
272
- version: '4.0'
273
225
  - !ruby/object:Gem::Dependency
274
226
  name: fog-aws
275
227
  requirement: !ruby/object:Gem::Requirement
@@ -430,20 +382,6 @@ dependencies:
430
382
  - - ">="
431
383
  - !ruby/object:Gem::Version
432
384
  version: 3.10.1
433
- - !ruby/object:Gem::Dependency
434
- name: rspec-rails
435
- requirement: !ruby/object:Gem::Requirement
436
- requirements:
437
- - - "~>"
438
- - !ruby/object:Gem::Version
439
- version: '3.7'
440
- type: :runtime
441
- prerelease: false
442
- version_requirements: !ruby/object:Gem::Requirement
443
- requirements:
444
- - - "~>"
445
- - !ruby/object:Gem::Version
446
- version: '3.7'
447
385
  - !ruby/object:Gem::Dependency
448
386
  name: sass-rails
449
387
  requirement: !ruby/object:Gem::Requirement
@@ -528,20 +466,6 @@ dependencies:
528
466
  - - ">="
529
467
  - !ruby/object:Gem::Version
530
468
  version: 1.3.0
531
- - !ruby/object:Gem::Dependency
532
- name: web-console
533
- requirement: !ruby/object:Gem::Requirement
534
- requirements:
535
- - - "~>"
536
- - !ruby/object:Gem::Version
537
- version: '2.0'
538
- type: :runtime
539
- prerelease: false
540
- version_requirements: !ruby/object:Gem::Requirement
541
- requirements:
542
- - - "~>"
543
- - !ruby/object:Gem::Version
544
- version: '2.0'
545
469
  - !ruby/object:Gem::Dependency
546
470
  name: pg
547
471
  requirement: !ruby/object:Gem::Requirement
@@ -570,6 +494,20 @@ dependencies:
570
494
  - - ">="
571
495
  - !ruby/object:Gem::Version
572
496
  version: '0'
497
+ - !ruby/object:Gem::Dependency
498
+ name: eac_rails_gem_support
499
+ requirement: !ruby/object:Gem::Requirement
500
+ requirements:
501
+ - - "~>"
502
+ - !ruby/object:Gem::Version
503
+ version: '0.1'
504
+ type: :development
505
+ prerelease: false
506
+ version_requirements: !ruby/object:Gem::Requirement
507
+ requirements:
508
+ - - "~>"
509
+ - !ruby/object:Gem::Version
510
+ version: '0.1'
573
511
  description:
574
512
  email:
575
513
  executables:
@@ -625,6 +563,7 @@ files:
625
563
  - config/initializers/mime_types.rb
626
564
  - config/initializers/patches.rb
627
565
  - config/initializers/session_store.rb
566
+ - config/initializers/speaker.rb
628
567
  - config/initializers/wrap_parameters.rb
629
568
  - config/locales/en.yml
630
569
  - config/locales/pt-BR.yml
@@ -663,15 +602,12 @@ files:
663
602
  - lib/eac_rails_base0/app_generator/templates/config/routes.rb
664
603
  - lib/eac_rails_base0/app_generator/templates/gitignore
665
604
  - lib/eac_rails_base0/app_generator/templates/lib/local_plugins.rb
666
- - lib/eac_rails_base0/boolean_value.rb
667
605
  - lib/eac_rails_base0/engine.rb
668
606
  - lib/eac_rails_base0/gems.rb
669
607
  - lib/eac_rails_base0/patches/eac_rails_utils_links_helper_patch.rb
670
608
  - lib/eac_rails_base0/patches/url_for_patch.rb
671
- - lib/eac_rails_base0/spec_helper.rb
672
- - lib/eac_rails_base0/spec_helper/capybara.rb
673
- - lib/eac_rails_base0/spec_helper/eac_users_support.rb
674
- - lib/eac_rails_base0/spec_helper/factory_bot.rb
609
+ - lib/eac_rails_base0/rspec.rb
610
+ - lib/eac_rails_base0/rspec/setup.rb
675
611
  - lib/eac_rails_base0/version.rb
676
612
  - lib/eac_rails_base0/x_engine.rb
677
613
  - lib/fog.rb
@@ -708,7 +644,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
708
644
  - !ruby/object:Gem::Version
709
645
  version: '0'
710
646
  requirements: []
711
- rubygems_version: 3.0.8
647
+ rubygems_version: 3.1.6
712
648
  signing_key:
713
649
  specification_version: 4
714
650
  summary: A Rails base for multiple Rails projects developed by Esquilo Azul Company.
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRailsBase0
4
- class BooleanValue
5
- def self.to_b(object)
6
- return false if object.blank?
7
-
8
- if object.is_a?(String)
9
- object = object.strip
10
- object.present? && object != '0' && object != 'false'
11
- else
12
- object ? true : false
13
- end
14
- end
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- ActiveRecord::Migration.maintain_test_schema!
5
- rescue ActiveRecord::PendingMigrationError => e
6
- ::Rails.logger.fatal(e)
7
- ::Kernel.exit 1 # rubocop:disable Rails/Exit
8
- end
9
-
10
- RSpec.configure do |config|
11
- config.expect_with :rspec do |expectations|
12
- expectations.include_chain_clauses_in_custom_matcher_descriptions = true
13
- end
14
-
15
- config.mock_with :rspec do |mocks|
16
- mocks.verify_partial_doubles = true
17
- end
18
-
19
- config.shared_context_metadata_behavior = :apply_to_host_groups
20
- config.example_status_persistence_file_path = ::Rails.root.join('tmp', 'cache', 'rspec.txt')
21
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
22
- config.use_transactional_fixtures = true
23
- config.infer_spec_type_from_file_location!
24
- config.filter_rails_from_backtrace!
25
- end
26
-
27
- require 'eac_ruby_utils/require_sub'
28
- ::EacRubyUtils.require_sub __FILE__
29
- require 'aranha/parsers/spec/source_target_fixtures_example'
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'capybara/rspec'
4
-
5
- RSpec.configure do |config|
6
- config.include Capybara::DSL, file_path: 'spec/requests'
7
- end
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'devise'
4
- require_relative 'factory_bot'
5
-
6
- RSpec.configure do |config|
7
- config.include Warden::Test::Helpers
8
-
9
- config.after(:each) do
10
- Warden.test_reset!
11
- end
12
- end
13
-
14
- FactoryBot.define do
15
- factory :admin_user, class: ::EacUsersSupport::User do
16
- email { 'admin@example.com' }
17
- password { 'mysecret' }
18
- confirmed_at { ::Time.zone.now }
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
26
- end
27
-
28
- RSpec.shared_context 'when user is admin', shared_context: :metadata do
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) }
48
-
49
- before do
50
- visit '/users/sign_in'
51
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
52
- with: user.email
53
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
54
- with: user.password
55
- click_button ::I18n.translate!('devise.log_in')
56
- end
57
-
58
- it 'user should be logged' do
59
- expect(page).to have_content user.email
60
- expect(::EacUsersSupport::User.current_user).not_to be_nil
61
- end
62
- end
63
-
64
- RSpec.shared_context 'when user is anonymous', shared_context: :metadata do
65
- before do
66
- visit '/'
67
- if link_exist?(::I18n.translate!('devise.log_out'))
68
- click_link(::I18n.translate!('devise.log_out'))
69
- elsif !link_exist?(::I18n.translate!('devise.log_in'))
70
- raise 'login nor logout link found'
71
- end
72
- end
73
-
74
- it 'user should be not logged' do
75
- expect(::EacUsersSupport::User.current_user).to be_nil
76
- end
77
-
78
- def link_exist?(locator)
79
- find_link(locator)
80
- true
81
- rescue Capybara::ElementNotFound
82
- false
83
- end
84
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'factory_bot_rails'
4
-
5
- RSpec.configure do |config|
6
- config.include FactoryBot::Syntax::Methods
7
- end
8
-
9
- ::FactoryBot.definition_file_paths += ::EacRailsBase0::XEngine.local.flat_map do |engine|
10
- %w[factories test/factories spec/factories].map do |subpath|
11
- engine.config.root.join(subpath).to_path
12
- end
13
- end
14
-
15
- ::FactoryBot.find_definitions
16
-
17
- Spring.after_fork { FactoryBot.reload } if defined?(Spring)