eac_rails_gem_support 0.9.2 → 0.10.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: 2a6fcd6f580f7be01e18d9aca42ec603f8fbb0899eba33bbc5a221eb2707443d
4
- data.tar.gz: 9ab56e2e3fbbda15885aeef475f0efdb2637e31621e56a291d34781b08d9932e
3
+ metadata.gz: 33fdb6c18e82d93b8c5e07116f10c426a30639156796b2564ddeac9bd63aeaa7
4
+ data.tar.gz: e38caafa4918b002b808e27940fd8111730a9520fb58a689882578f318c484c3
5
5
  SHA512:
6
- metadata.gz: 560c67c7749079833866099ff384a77e8cbe63f4ee617cf1913c9807350205bb722f69347af04dfdc81c50eadd4640eb98bf28cadd013ace467308af720bb4d1
7
- data.tar.gz: 9868b1b6e5fda1725d25354984e77b90be6a51f6f52e2032854e30bdee551006d0bebdf19bab93a23a687de5cbef704c331639501338201dcb8d9f8e375698be
6
+ metadata.gz: 9fcd1a213693210bdef7ca6d38dc80f7a8003373f2f347c364c0b8923e23f045269dbc6e185eeb1c1c14e2a3453f39be53d087c0c49c59f62ea8cc47c6047dd5
7
+ data.tar.gz: ec8f89cc2f60564cc9acb25f5f45e521e2a34da29af4be7b6f87d4b31d8553558be080bae61ff1ad885f281e8bcaf5987bc652e2ffa59fb9ae97eb9fe3f1e71b
@@ -15,7 +15,7 @@ module EacRailsGemSupport
15
15
  obj.setup_rails_env
16
16
  return unless obj.setup_rails_app
17
17
 
18
- %w[fixtures capybara factory_bot].each do |item|
18
+ %w[fixtures capybara factory_bot shared_examples].each do |item|
19
19
  obj.send("setup_#{item}")
20
20
  end
21
21
  end
@@ -23,6 +23,10 @@ module EacRailsGemSupport
23
23
  def setup_minitest_support
24
24
  rspec_config.include ::EacRailsGemSupport::Rspec::MinitestSupport
25
25
  end
26
+
27
+ def setup_shared_examples
28
+ require 'eac_rails_gem_support/rspec/shared_examples/active_model_attribute_validator'
29
+ end
26
30
  end
27
31
  end
28
32
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'active_model_attribute_validator' do |valid_values, invalid_values| # rubocop:disable Metrics/BlockLength
4
+ let(:model) do
5
+ validator = described_class.name.gsub(/Validator\z/, '').underscore
6
+ Class.new do
7
+ include ActiveModel::Model
8
+
9
+ attr_accessor :the_attribute
10
+
11
+ validates :the_attribute, validator => true, allow_nil: true
12
+ end
13
+ end
14
+ let(:record) { model.new }
15
+
16
+ { true => valid_values, false => invalid_values }.each do |valid, values|
17
+ values.each do |value|
18
+ context "when the_attribute is \"#{value}\"" do
19
+ before do
20
+ record.the_attribute = value
21
+ record.valid?
22
+ end
23
+
24
+ if valid
25
+ it { expect(record).to be_valid }
26
+ it { expect(record.errors[:the_attribute]).to eq([]) }
27
+ else
28
+ it { expect(record).not_to be_valid }
29
+ it { expect(record.errors[:the_attribute]).not_to eq([]) }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsGemSupport
4
- VERSION = '0.9.2'
4
+ VERSION = '0.10.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_rails_gem_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-10 00:00:00.000000000 Z
11
+ date: 2024-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm-eac_ruby_base1
@@ -70,14 +70,14 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: '0.120'
73
+ version: '0.121'
74
74
  type: :runtime
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: '0.120'
80
+ version: '0.121'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: eac_templates
83
83
  requirement: !ruby/object:Gem::Requirement
@@ -85,6 +85,9 @@ dependencies:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0.5'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.5.1
88
91
  type: :runtime
89
92
  prerelease: false
90
93
  version_requirements: !ruby/object:Gem::Requirement
@@ -92,6 +95,9 @@ dependencies:
92
95
  - - "~>"
93
96
  - !ruby/object:Gem::Version
94
97
  version: '0.5'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 0.5.1
95
101
  - !ruby/object:Gem::Dependency
96
102
  name: factory_bot_rails
97
103
  requirement: !ruby/object:Gem::Requirement
@@ -112,6 +118,40 @@ dependencies:
112
118
  - - ">="
113
119
  - !ruby/object:Gem::Version
114
120
  version: 6.4.3
121
+ - !ruby/object:Gem::Dependency
122
+ name: launchy
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '2.5'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 2.5.2
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.5'
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 2.5.2
141
+ - !ruby/object:Gem::Dependency
142
+ name: letter_opener
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '1.9'
148
+ type: :runtime
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.9'
115
155
  - !ruby/object:Gem::Dependency
116
156
  name: rails
117
157
  requirement: !ruby/object:Gem::Requirement
@@ -157,6 +197,9 @@ dependencies:
157
197
  requirement: !ruby/object:Gem::Requirement
158
198
  requirements:
159
199
  - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '1.6'
202
+ - - ">="
160
203
  - !ruby/object:Gem::Version
161
204
  version: 1.6.9
162
205
  type: :runtime
@@ -164,6 +207,9 @@ dependencies:
164
207
  version_requirements: !ruby/object:Gem::Requirement
165
208
  requirements:
166
209
  - - "~>"
210
+ - !ruby/object:Gem::Version
211
+ version: '1.6'
212
+ - - ">="
167
213
  - !ruby/object:Gem::Version
168
214
  version: 1.6.9
169
215
  description:
@@ -183,6 +229,7 @@ files:
183
229
  - lib/eac_rails_gem_support/rspec/setup/factory_bot.rb
184
230
  - lib/eac_rails_gem_support/rspec/setup/fixtures.rb
185
231
  - lib/eac_rails_gem_support/rspec/setup/rails_app.rb
232
+ - lib/eac_rails_gem_support/rspec/shared_examples/active_model_attribute_validator.rb
186
233
  - lib/eac_rails_gem_support/version.rb
187
234
  - template/eac_rails_gem_support/rspec/appendable_rails_app/Gemfile.template
188
235
  - template/eac_rails_gem_support/rspec/appendable_rails_app/Rakefile