eac_rails_utils 0.1.11 → 0.1.12
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/lib/eac/download_fixtures.rb +53 -0
- data/lib/eac/parsers/base.rb +1 -1
- data/lib/eac/parsers/files_test.rb +30 -5
- data/lib/eac/parsers/ofx.rb +4 -4
- data/lib/eac/source_target_fixtures.rb +23 -8
- data/lib/eac/test_utils.rb +56 -0
- data/lib/eac_rails_utils.rb +2 -0
- data/lib/eac_rails_utils/version.rb +1 -1
- data/lib/tasks/eac_rails_utils.rake +7 -0
- data/test/lib/eac/parsers/files_test_test.rb +27 -0
- data/test/lib/eac/parsers/ok_test_files/a.source.yaml +1 -0
- data/test/lib/eac/parsers/ok_test_files/a.target.yaml +1 -0
- data/test/lib/eac/parsers/ok_test_files/b.source.yaml +1 -0
- data/test/lib/eac/parsers/ok_test_files/b.target.yaml +1 -0
- data/test/lib/eac/source_target_fixtures_test.rb +41 -0
- data/test/lib/eac/source_target_fixtures_test_files/a.source.html +1 -0
- data/test/lib/eac/source_target_fixtures_test_files/a.target.yaml +1 -0
- data/test/lib/eac/source_target_fixtures_test_files/b.source.html +1 -0
- data/test/lib/eac/source_target_fixtures_test_files/c.target.yaml +1 -0
- metadata +45 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d01772a418d7e7d21adb2fd75479b0701ea01a0e
|
4
|
+
data.tar.gz: 23ef345b02419a57baeee9b06b712bf8ffdbd050
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07e9ecabd8e959715fece10e07f9412c61f6ab9d77aa80f3baffd95c6daf50f04e5b754de77621be3c49e5c7de28574f237681ca36360d78581ab9ebc307d2ed
|
7
|
+
data.tar.gz: 04e732ec09f40cac71514cb8e387ed2086588512e5d89b8b1f8c124b28468ef42c23d756072e861270e1b40ccc1c73651673108634087aa0b38bee72a4426b79
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Eac
|
4
|
+
class DownloadFixtures
|
5
|
+
def initialize(prefix, download)
|
6
|
+
@prefix = prefix
|
7
|
+
@prefix = '' if @prefix.blank?
|
8
|
+
@download = download
|
9
|
+
end
|
10
|
+
|
11
|
+
def run
|
12
|
+
url_files.each do |f|
|
13
|
+
Rails.logger.info(relative_path(f))
|
14
|
+
download(url(f), target(f)) if @download
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def url_files
|
21
|
+
files = []
|
22
|
+
Dir["#{fixtures_root}/**/*.url"].map do |path|
|
23
|
+
files << path if match_pattern(path)
|
24
|
+
end
|
25
|
+
files
|
26
|
+
end
|
27
|
+
|
28
|
+
def match_pattern(path)
|
29
|
+
relative_path(path).start_with?(@prefix)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fixtures_root
|
33
|
+
Rails.root.to_s
|
34
|
+
end
|
35
|
+
|
36
|
+
def download(url, target)
|
37
|
+
Rails.logger.info "Baixando \"#{url}\"..."
|
38
|
+
File.open(target, 'wb') { |file| file.write(Parsers::Base.new(url).content) }
|
39
|
+
end
|
40
|
+
|
41
|
+
def url(file)
|
42
|
+
File.read(file).strip
|
43
|
+
end
|
44
|
+
|
45
|
+
def target(file)
|
46
|
+
File.expand_path(File.basename(file, '.url') + '.source.html', File.dirname(file))
|
47
|
+
end
|
48
|
+
|
49
|
+
def relative_path(path)
|
50
|
+
path.sub(%r{^#{Regexp.quote(fixtures_root)}/}, '')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/eac/parsers/base.rb
CHANGED
@@ -5,23 +5,48 @@ module Eac
|
|
5
5
|
module Parsers
|
6
6
|
module FilesTest
|
7
7
|
def test_data
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
if ENV['EAC_PARSERS_FILES_TEST_WRITE'].present?
|
9
|
+
write_results
|
10
|
+
else
|
11
|
+
test_results
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
protected
|
16
16
|
|
17
|
+
def test_results
|
18
|
+
sts = source_target_fixtures.source_target_files
|
19
|
+
assert_not_equal 0, sts.count, 'Source/target files count cannot be zero'
|
20
|
+
sts.each do |st|
|
21
|
+
assert_source_target_complete(st)
|
22
|
+
sd = parser_class.new(st.source).data
|
23
|
+
td = YAML.load_file(st.target)
|
24
|
+
assert_equal sort_results(td), sort_results(sd)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def write_results
|
29
|
+
source_target_fixtures.source_files.each do |source_file|
|
30
|
+
sd = sort_results(parser_class.new(source_file).data)
|
31
|
+
basename = ::Eac::SourceTargetFixtures.source_target_basename(source_file)
|
32
|
+
target_file = File.expand_path("../#{basename}.target.yaml", source_file)
|
33
|
+
File.write(target_file, sd.to_yaml)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
17
37
|
def sort_results(r)
|
18
38
|
r
|
19
39
|
end
|
20
40
|
|
21
41
|
private
|
22
42
|
|
43
|
+
def assert_source_target_complete(st)
|
44
|
+
assert st.source, "Source not found (Target: #{st.target})"
|
45
|
+
assert st.target, "Target not found (Source: #{st.source})"
|
46
|
+
end
|
47
|
+
|
23
48
|
def source_target_fixtures
|
24
|
-
::Eac::SourceTargetFixtures.new(
|
49
|
+
@source_target_fixtures ||= ::Eac::SourceTargetFixtures.new(
|
25
50
|
File.expand_path("../#{self.class.name.demodulize.underscore}_files", test_file)
|
26
51
|
)
|
27
52
|
end
|
data/lib/eac/parsers/ofx.rb
CHANGED
@@ -5,12 +5,12 @@ module Eac
|
|
5
5
|
def ofx
|
6
6
|
@ofx ||= ofx_parse
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
def assert_ofx
|
10
|
-
fail "Not a OFX: #{url}" unless ofx.bank_account || ofx.credit_card ||
|
10
|
+
fail "Not a OFX: #{url}" unless ofx.bank_account || ofx.credit_card ||
|
11
11
|
ofx.investment
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def ofx?
|
15
15
|
ofx.present?
|
16
16
|
end
|
@@ -27,4 +27,4 @@ module Eac
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
30
|
-
end
|
30
|
+
end
|
@@ -4,17 +4,34 @@
|
|
4
4
|
require 'yaml'
|
5
5
|
|
6
6
|
module Eac
|
7
|
+
# Lists pairs of source/target files in a directory. See {Eac::Parsers::FilesTest} to see
|
8
|
+
# a use of this class.
|
7
9
|
class SourceTargetFixtures
|
10
|
+
class << self
|
11
|
+
def source_target_basename(file)
|
12
|
+
m = /^(.+)\.(?:source|target)(?:\..+)?$/.match(File.basename(file))
|
13
|
+
m ? m[1] : nil
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
8
17
|
attr_reader :fixtures_directory
|
9
18
|
|
10
19
|
def initialize(fixtures_directory)
|
11
20
|
@fixtures_directory = fixtures_directory
|
12
21
|
end
|
13
22
|
|
14
|
-
def source_target_files
|
15
|
-
sources_targets_basenames.
|
16
|
-
|
23
|
+
def source_target_files
|
24
|
+
sources_targets_basenames.map do |basename|
|
25
|
+
OpenStruct.new(source: source_file(basename), target: target_file(basename))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def source_files
|
30
|
+
r = []
|
31
|
+
source_target_files.each do |st|
|
32
|
+
r << st.source if st.source
|
17
33
|
end
|
34
|
+
r
|
18
35
|
end
|
19
36
|
|
20
37
|
private
|
@@ -33,18 +50,16 @@ module Eac
|
|
33
50
|
next if item == '.' || item == '..'
|
34
51
|
return File.expand_path(item, fixtures_directory) if item.starts_with?(prefix)
|
35
52
|
end
|
36
|
-
|
53
|
+
nil
|
37
54
|
end
|
38
55
|
|
39
56
|
def sources_targets_basenames
|
40
57
|
basenames = Set.new
|
41
58
|
Dir.foreach(fixtures_directory) do |item|
|
42
59
|
next if item == '.' || item == '..'
|
43
|
-
|
44
|
-
|
45
|
-
end
|
60
|
+
b = self.class.source_target_basename(item)
|
61
|
+
basenames << b if b.present?
|
46
62
|
end
|
47
|
-
fail "\"#{fixtures_directory}\" não possui nenhum arquivo para teste." if basenames.empty?
|
48
63
|
basenames
|
49
64
|
end
|
50
65
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Eac
|
3
|
+
module TestUtils
|
4
|
+
# Add more helper methods to be used by all tests here...
|
5
|
+
def valid_invalid_column_values_test(record, column, valid_values, invalid_values)
|
6
|
+
valid_values.each do |v|
|
7
|
+
record.send("#{column}=", v)
|
8
|
+
assert record.valid?, "#{record.errors.messages}, #{column} = #{v.inspect} should be valid"
|
9
|
+
end
|
10
|
+
invalid_values.each do |v|
|
11
|
+
record.send("#{column}=", v)
|
12
|
+
assert_not record.valid?, "#{column} = #{v.inspect} should be invalid"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# Verifica falhas em campos específicos de um record
|
17
|
+
def assert_record_errors(record, fields_without_error, fields_with_error)
|
18
|
+
fields_without_error.each do |c|
|
19
|
+
assert record.errors[c].empty?, "Column: #{c} should not have errors (#{record.errors[c]})"
|
20
|
+
end
|
21
|
+
fields_with_error. each do |c|
|
22
|
+
assert_not record.errors[c].empty?, "Column: #{c} should have errors"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Verifica, campo por campo, se invalida o registro.
|
27
|
+
def assert_column_changes(ppp, expected_valid_result, changes)
|
28
|
+
changes.each do |k, v|
|
29
|
+
ppp.send("#{k}=", v)
|
30
|
+
assert_equal expected_valid_result, ppp.valid?, "\"#{k}\" change should be " +
|
31
|
+
(expected_valid_result ? 'valid' : 'invalid')
|
32
|
+
assert_not ppp.errors[k].empty? unless expected_valid_result
|
33
|
+
ppp.restore_attributes
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Ex.: attrs = {a: 1, b: 2} resulta em
|
38
|
+
# [{a: nil, b: nil}, {a: 1, b: nil}, {a: nil, b: 2}, {a: 1, b: 2}].
|
39
|
+
def all_combinations(attrs)
|
40
|
+
combs = [{}]
|
41
|
+
attrs.each do |attr_name, value|
|
42
|
+
new_comb = []
|
43
|
+
assert_not value.nil?, "#{attr_name}=#{value}"
|
44
|
+
[nil, value].each do |vv|
|
45
|
+
combs.each do |c|
|
46
|
+
cc = c.dup
|
47
|
+
cc[attr_name] = vv
|
48
|
+
new_comb << cc
|
49
|
+
end
|
50
|
+
end
|
51
|
+
combs = new_comb
|
52
|
+
end
|
53
|
+
combs
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/lib/eac_rails_utils.rb
CHANGED
@@ -21,6 +21,7 @@ module EacRailsUtils
|
|
21
21
|
require 'eac/common_form_helper/form_builder/year_month_field'
|
22
22
|
require 'eac/common_form_helper/form_builder'
|
23
23
|
require 'eac/common_form_helper'
|
24
|
+
require 'eac/download_fixtures'
|
24
25
|
require 'eac/htmlbeautifier'
|
25
26
|
require 'eac/inequality_queries'
|
26
27
|
require 'eac/listable'
|
@@ -36,6 +37,7 @@ module EacRailsUtils
|
|
36
37
|
require 'eac/simple_cache'
|
37
38
|
require 'eac/source_target_fixtures'
|
38
39
|
require 'eac/tableless_model'
|
40
|
+
require 'eac/test_utils'
|
39
41
|
|
40
42
|
ActionView::Base.send :include, Eac::CommonFormHelper
|
41
43
|
ActionView::Base.send :include, Eac::FormatterHelper
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
module Eac
|
5
|
+
module Parsers
|
6
|
+
class BaseStub
|
7
|
+
def initialize(source)
|
8
|
+
@source = source
|
9
|
+
end
|
10
|
+
|
11
|
+
def data
|
12
|
+
YAML.load(File.read(@source))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Ok < BaseStub
|
17
|
+
end
|
18
|
+
|
19
|
+
class OkTest < ActiveSupport::TestCase
|
20
|
+
include ::Eac::Parsers::FilesTest
|
21
|
+
|
22
|
+
def test_file
|
23
|
+
__FILE__
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
module Eac
|
5
|
+
class SourceTargetFixturesTest < ActionView::TestCase
|
6
|
+
def test_source_target_files
|
7
|
+
r = ::Eac::SourceTargetFixtures.new(fixtures_dir).source_target_files
|
8
|
+
assert_equal 3, r.count
|
9
|
+
|
10
|
+
a = r.find { |x| x.source && File.basename(x.source) == 'a.source.html' }
|
11
|
+
assert a
|
12
|
+
assert_equal File.join(fixtures_dir, 'a.source.html'), a.source
|
13
|
+
assert_equal File.join(fixtures_dir, 'a.target.yaml'), a.target
|
14
|
+
|
15
|
+
b = r.find { |x| x.source && File.basename(x.source) == 'b.source.html' }
|
16
|
+
assert b
|
17
|
+
assert_equal File.join(fixtures_dir, 'b.source.html'), b.source
|
18
|
+
assert_nil b.target
|
19
|
+
|
20
|
+
c = r.find { |x| x.target && File.basename(x.target) == 'c.target.yaml' }
|
21
|
+
assert c
|
22
|
+
assert_nil c.source
|
23
|
+
assert_equal File.join(fixtures_dir, 'c.target.yaml'), c.target
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_source_files
|
27
|
+
r = ::Eac::SourceTargetFixtures.new(fixtures_dir).source_files
|
28
|
+
assert_equal 2, r.count
|
29
|
+
|
30
|
+
%w(a.source.html b.source.html).each do |expected|
|
31
|
+
assert r.include?(File.join(fixtures_dir, expected)), expected
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def fixtures_dir
|
38
|
+
File.expand_path('../source_target_fixtures_test_files', __FILE__)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_rails_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- E.A.C.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel-associations
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- lib/eac/common_form_helper/form_builder/select_field.rb
|
151
151
|
- lib/eac/common_form_helper/form_builder/year_month_field.rb
|
152
152
|
- lib/eac/cpf_validator.rb
|
153
|
+
- lib/eac/download_fixtures.rb
|
153
154
|
- lib/eac/formatter_helper.rb
|
154
155
|
- lib/eac/htmlbeautifier.rb
|
155
156
|
- lib/eac/inequality_queries.rb
|
@@ -166,11 +167,13 @@ files:
|
|
166
167
|
- lib/eac/simple_cache.rb
|
167
168
|
- lib/eac/source_target_fixtures.rb
|
168
169
|
- lib/eac/tableless_model.rb
|
170
|
+
- lib/eac/test_utils.rb
|
169
171
|
- lib/eac_rails_utils.rb
|
170
172
|
- lib/eac_rails_utils/patches/model_attribute_required.rb
|
171
173
|
- lib/eac_rails_utils/patches/ofx_parser.rb
|
172
174
|
- lib/eac_rails_utils/rails/engine.rb
|
173
175
|
- lib/eac_rails_utils/version.rb
|
176
|
+
- lib/tasks/eac_rails_utils.rake
|
174
177
|
- test/dummy/Rakefile
|
175
178
|
- test/dummy/app/models/job.rb
|
176
179
|
- test/dummy/app/models/user.rb
|
@@ -192,7 +195,17 @@ files:
|
|
192
195
|
- test/lib/eac/formatter_helper_test.rb
|
193
196
|
- test/lib/eac/listable_test.rb
|
194
197
|
- test/lib/eac/model_test.rb
|
198
|
+
- test/lib/eac/parsers/files_test_test.rb
|
199
|
+
- test/lib/eac/parsers/ok_test_files/a.source.yaml
|
200
|
+
- test/lib/eac/parsers/ok_test_files/a.target.yaml
|
201
|
+
- test/lib/eac/parsers/ok_test_files/b.source.yaml
|
202
|
+
- test/lib/eac/parsers/ok_test_files/b.target.yaml
|
195
203
|
- test/lib/eac/simple_cache_test.rb
|
204
|
+
- test/lib/eac/source_target_fixtures_test.rb
|
205
|
+
- test/lib/eac/source_target_fixtures_test_files/a.source.html
|
206
|
+
- test/lib/eac/source_target_fixtures_test_files/a.target.yaml
|
207
|
+
- test/lib/eac/source_target_fixtures_test_files/b.source.html
|
208
|
+
- test/lib/eac/source_target_fixtures_test_files/c.target.yaml
|
196
209
|
- test/lib/eac_rails_utils/patches/model_attribute_required_test.rb
|
197
210
|
- test/test_helper.rb
|
198
211
|
homepage:
|
@@ -214,32 +227,42 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
227
|
version: '0'
|
215
228
|
requirements: []
|
216
229
|
rubyforge_project:
|
217
|
-
rubygems_version: 2.
|
230
|
+
rubygems_version: 2.4.8
|
218
231
|
signing_key:
|
219
232
|
specification_version: 4
|
220
233
|
summary: Código reutilizável para as aplicações Rails da E.A.C..
|
221
234
|
test_files:
|
222
|
-
- test/dummy/Rakefile
|
223
|
-
- test/dummy/config.ru
|
224
|
-
- test/dummy/config/boot.rb
|
225
|
-
- test/dummy/config/database.yml
|
226
|
-
- test/dummy/config/secrets.yml
|
227
|
-
- test/dummy/config/locales/pt-BR.yml
|
228
|
-
- test/dummy/config/application.rb
|
229
|
-
- test/dummy/config/environments/test.rb
|
230
|
-
- test/dummy/config/environment.rb
|
231
|
-
- test/dummy/config/routes.rb
|
232
|
-
- test/dummy/db/schema.rb
|
233
|
-
- test/dummy/db/migrate/20160415143123_create_jobs.rb
|
234
|
-
- test/dummy/db/migrate/20160415143229_add_job_to_users.rb
|
235
|
-
- test/dummy/db/migrate/20160415125333_create_users.rb
|
236
|
-
- test/dummy/app/models/job.rb
|
237
|
-
- test/dummy/app/models/user.rb
|
238
|
-
- test/test_helper.rb
|
239
235
|
- test/lib/eac_rails_utils/patches/model_attribute_required_test.rb
|
236
|
+
- test/lib/eac/formatter_helper_test.rb
|
240
237
|
- test/lib/eac/common_form_helper_test.rb
|
238
|
+
- test/lib/eac/source_target_fixtures_test.rb
|
241
239
|
- test/lib/eac/cpf_validator_test.rb
|
240
|
+
- test/lib/eac/model_test.rb
|
241
|
+
- test/lib/eac/source_target_fixtures_test_files/a.source.html
|
242
|
+
- test/lib/eac/source_target_fixtures_test_files/c.target.yaml
|
243
|
+
- test/lib/eac/source_target_fixtures_test_files/a.target.yaml
|
244
|
+
- test/lib/eac/source_target_fixtures_test_files/b.source.html
|
242
245
|
- test/lib/eac/simple_cache_test.rb
|
243
|
-
- test/lib/eac/formatter_helper_test.rb
|
244
246
|
- test/lib/eac/listable_test.rb
|
245
|
-
- test/lib/eac/
|
247
|
+
- test/lib/eac/parsers/ok_test_files/a.source.yaml
|
248
|
+
- test/lib/eac/parsers/ok_test_files/a.target.yaml
|
249
|
+
- test/lib/eac/parsers/ok_test_files/b.target.yaml
|
250
|
+
- test/lib/eac/parsers/ok_test_files/b.source.yaml
|
251
|
+
- test/lib/eac/parsers/files_test_test.rb
|
252
|
+
- test/dummy/config.ru
|
253
|
+
- test/dummy/db/migrate/20160415143229_add_job_to_users.rb
|
254
|
+
- test/dummy/db/migrate/20160415143123_create_jobs.rb
|
255
|
+
- test/dummy/db/migrate/20160415125333_create_users.rb
|
256
|
+
- test/dummy/db/schema.rb
|
257
|
+
- test/dummy/app/models/user.rb
|
258
|
+
- test/dummy/app/models/job.rb
|
259
|
+
- test/dummy/Rakefile
|
260
|
+
- test/dummy/config/environments/test.rb
|
261
|
+
- test/dummy/config/application.rb
|
262
|
+
- test/dummy/config/boot.rb
|
263
|
+
- test/dummy/config/locales/pt-BR.yml
|
264
|
+
- test/dummy/config/secrets.yml
|
265
|
+
- test/dummy/config/database.yml
|
266
|
+
- test/dummy/config/routes.rb
|
267
|
+
- test/dummy/config/environment.rb
|
268
|
+
- test/test_helper.rb
|