eac_rails_base0 0.52.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
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)