to_factory 2.1.0 → 3.0.0.pre.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +35 -0
  3. data/.rubocop-disabled.yml +95 -0
  4. data/.rubocop-enabled.yml +1194 -0
  5. data/.rubocop.yml +938 -0
  6. data/CHANGELOG.md +11 -0
  7. data/Gemfile +6 -1
  8. data/README.md +2 -11
  9. data/Rakefile +17 -9
  10. data/lib/to_factory/collation.rb +9 -9
  11. data/lib/to_factory/file_sync.rb +10 -10
  12. data/lib/to_factory/file_writer.rb +1 -1
  13. data/lib/to_factory/finders/factory.rb +1 -1
  14. data/lib/to_factory/finders/model.rb +2 -4
  15. data/lib/to_factory/generation/attribute.rb +6 -10
  16. data/lib/to_factory/generation/factory.rb +3 -3
  17. data/lib/to_factory/klass_inference.rb +4 -6
  18. data/lib/to_factory/options_parser.rb +4 -4
  19. data/lib/to_factory/parsing/file.rb +85 -14
  20. data/lib/to_factory/representation.rb +9 -6
  21. data/lib/to_factory/version.rb +1 -1
  22. data/lib/to_factory.rb +7 -8
  23. data/spec/db/migrate/1_create_users.rb +4 -4
  24. data/spec/db/migrate/2_create_projects.rb +4 -4
  25. data/spec/db/migrate/3_create_not_namespaced.rb +4 -4
  26. data/spec/db/migrate/4_add_birthday_to_users.rb +3 -3
  27. data/spec/db/migrate/5_add_serialized_attributes_to_users.rb +3 -3
  28. data/spec/example_factories/admin.rb +6 -6
  29. data/spec/example_factories/admin_with_header.rb +7 -7
  30. data/spec/example_factories/inherited_project_with_header.rb +7 -0
  31. data/spec/example_factories/project_with_header.rb +4 -4
  32. data/spec/example_factories/user.rb +5 -5
  33. data/spec/example_factories/user_admin.rb +11 -11
  34. data/spec/example_factories/user_admin_root.rb +12 -13
  35. data/spec/example_factories/user_admin_super_admin.rb +6 -6
  36. data/spec/example_factories/user_admin_with_header.rb +12 -12
  37. data/spec/example_factories/user_with_header.rb +6 -6
  38. data/spec/integration/empty_factory_file_spec.rb +2 -2
  39. data/spec/integration/file_sync_spec.rb +16 -17
  40. data/spec/integration/file_writer_spec.rb +13 -9
  41. data/spec/integration/lint_spec.rb +4 -3
  42. data/spec/integration/multiple_to_factory_calls_spec.rb +37 -35
  43. data/spec/integration/non_active_record_classes_spec.rb +40 -0
  44. data/spec/integration/to_factory_method_spec.rb +21 -18
  45. data/spec/spec_helper.rb +8 -8
  46. data/spec/support/data_creation.rb +11 -13
  47. data/spec/support/match_sexp.rb +0 -1
  48. data/spec/support/non_active_record/inherited_project.rb +3 -0
  49. data/spec/support/non_active_record/project.rb +3 -0
  50. data/spec/support/non_active_record/some_other_service_inheriting_from_something_else.rb +4 -0
  51. data/spec/support/non_active_record/some_service.rb +2 -0
  52. data/spec/support/non_active_record/something_else.rb +2 -0
  53. data/spec/support/ruby_parser_exception_causing_string.rb +29 -29
  54. data/spec/unit/collation_spec.rb +9 -10
  55. data/spec/unit/file_writer_spec.rb +4 -8
  56. data/spec/unit/finders/factory_spec.rb +7 -9
  57. data/spec/unit/finders/model_spec.rb +6 -9
  58. data/spec/unit/generation/attribute_spec.rb +11 -12
  59. data/spec/unit/generation/factory_spec.rb +14 -16
  60. data/spec/unit/parsing/file_spec.rb +9 -9
  61. data/spec/unit/parsing/klass_inference_spec.rb +5 -7
  62. data/to_factory.gemspec +14 -10
  63. metadata +89 -31
  64. data/.travis.yml +0 -16
  65. data/lib/to_factory/parsing/syntax.rb +0 -83
@@ -5,7 +5,7 @@ module ToFactory::DataCreation
5
5
  end
6
6
 
7
7
  def create_project!
8
- ToFactory::Project.create({:name => "My Project", :objective => "easy testing", :some_id => 9 })
8
+ ToFactory::Project.create(name: "My Project", objective: "easy testing", some_id: 9)
9
9
  end
10
10
 
11
11
  def birthday
@@ -14,23 +14,21 @@ module ToFactory::DataCreation
14
14
 
15
15
  def create_user!
16
16
  ToFactory::User.create(
17
- :name => "Jeff",
18
- :email => "test@example.com",
19
- :some_attributes => {:a => 1},
20
- :some_id => 8,
21
- :birthday => birthday
17
+ name: "Jeff",
18
+ email: "test@example.com",
19
+ some_attributes: { a: 1 },
20
+ some_id: 8,
21
+ birthday: birthday
22
22
  )
23
23
  end
24
24
 
25
25
  def create_admin!
26
26
  ToFactory::User.create(
27
- :name => "Admin",
28
- :email => "admin@example.com",
29
- :some_attributes => {:a => 1},
30
- :some_id => 9,
31
- :birthday => birthday
27
+ name: "Admin",
28
+ email: "admin@example.com",
29
+ some_attributes: { a: 1 },
30
+ some_id: 9,
31
+ birthday: birthday
32
32
  )
33
33
  end
34
34
  end
35
-
36
-
@@ -8,7 +8,6 @@ RSpec::Matchers.define :match_sexp do |expected|
8
8
  @raised = e
9
9
  false
10
10
  end
11
-
12
11
  end
13
12
 
14
13
  failure_message do |actual|
@@ -0,0 +1,3 @@
1
+ class ToFactory::InheritedProject < ToFactory::Project
2
+ self.table_name = "projects"
3
+ end
@@ -0,0 +1,3 @@
1
+ class ToFactory::Project < ActiveRecord::Base
2
+ self.table_name = "projects"
3
+ end
@@ -0,0 +1,4 @@
1
+ require_relative "something_else"
2
+
3
+ class SomeOtherService < SomethingElse
4
+ end
@@ -0,0 +1,2 @@
1
+ class SomeService
2
+ end
@@ -0,0 +1,2 @@
1
+ class SomethingElse
2
+ end
@@ -1,31 +1,31 @@
1
- "
2
- \ \ \ - \ \
3
-
4
-
5
- ,
6
-
7
-
8
-
9
-
10
- \
11
-
12
-
13
- \
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
- ,
24
-
25
- \ \
26
-
27
-
28
-
29
-
1
+ "
2
+ \ \ \ - \ \
3
+
4
+
5
+ ,
6
+
7
+
8
+
9
+
10
+ \
11
+
12
+
13
+ \
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ ,
24
+
25
+ \ \
26
+
27
+
28
+
29
+
30
30
 
31
31
  \ "
@@ -1,20 +1,20 @@
1
1
  describe ToFactory::Collation do
2
2
  describe "detect_collisions!" do
3
- let(:collation) { ToFactory::Collation.new(a,b) }
4
- let(:a) { [double(:name => "a")]}
5
- let(:b) { [double(:name => "a")]}
3
+ let(:collation) { ToFactory::Collation.new(a, b) }
4
+ let(:a) { [double(name: "a")] }
5
+ let(:b) { [double(name: "a")] }
6
6
 
7
7
  def perform
8
8
  collation.detect_collisions!(a, b)
9
9
  end
10
10
 
11
11
  it do
12
- expect(lambda{perform}).to raise_error ToFactory::AlreadyExists
12
+ expect { perform }.to raise_error ToFactory::AlreadyExists
13
13
  end
14
14
 
15
15
  context "non matching keys" do
16
- let(:a) { [double(:name => "a")]}
17
- let(:b) { [double(:name => "b")]}
16
+ let(:a) { [double(name: "a")] }
17
+ let(:b) { [double(name: "b")] }
18
18
 
19
19
  it do
20
20
  expect(perform).to eq nil
@@ -29,14 +29,13 @@ describe ToFactory::Collation do
29
29
  let(:super_admin) { ToFactory::Representation.new("super_admin", "admin", "Factory.define(:super_admin, :parent => :admin) { |o| o.name(\"Super Admin\") }") }
30
30
 
31
31
  it do
32
- new_definitions = [ root ]
33
- pre_existing = [ admin, user, super_admin ]
32
+ new_definitions = [root]
33
+ pre_existing = [admin, user, super_admin]
34
34
 
35
35
  result = ToFactory::Collation.organize(new_definitions, pre_existing)
36
36
  result = result["to_factory/user"]
37
- expect(result.map &:hierarchy_order).to eq [1,2,3,4]
37
+ expect(result.map &:hierarchy_order).to eq [1, 2, 3, 4]
38
38
  expect(result).to eq [user, admin, super_admin, root]
39
39
  end
40
40
  end
41
41
  end
42
-
@@ -12,17 +12,13 @@ describe ToFactory::FileWriter do
12
12
 
13
13
  it "adds factories for all models" do
14
14
  user_representation = double :name => :user, "definition" => "factory a"
15
- project_representation = double :name => "project", :definition =>"factory b"
16
- fw.write({"to_factory/user" =>[user_representation],
17
- "to_factory/project" => [project_representation]
18
- })
15
+ project_representation = double name: "project", definition: "factory b"
16
+ fw.write("to_factory/user" => [user_representation],
17
+ "to_factory/project" => [project_representation])
19
18
 
20
- expect(user_file).to match /FactoryGirl.define do/
19
+ expect(user_file).to match /FactoryBot.define do/
21
20
  expect(user_file).to include "factory a"
22
21
  expect(project_file).to include "factory b"
23
22
  end
24
23
  end
25
-
26
-
27
-
28
24
  end
@@ -3,24 +3,22 @@ describe ToFactory::Finders::Factory do
3
3
  before do
4
4
  FileUtils.mkdir_p "./tmp/factories/to_factory"
5
5
  FileUtils.cp "./spec/example_factories/user_admin_with_header.rb",
6
- "./tmp/factories/to_factory/user.rb"
6
+ "./tmp/factories/to_factory/user.rb"
7
7
  end
8
8
 
9
- let(:user_file_contents) { File.read "./spec/example_factories/user.rb"}
10
- let(:admin_file_contents){ File.read "./spec/example_factories/admin.rb" }
9
+ let(:user_file_contents) { File.read "./spec/example_factories/user.rb" }
10
+ let(:admin_file_contents) { File.read "./spec/example_factories/admin.rb" }
11
11
 
12
12
  it "reads all the factories" do
13
13
  finder = ToFactory::Finders::Factory.new
14
14
 
15
15
  result = finder.call
16
16
 
17
- expect(result[0].definition).
18
- to match_sexp user_file_contents
17
+ expect(result[0].definition)
18
+ .to match_sexp user_file_contents
19
19
 
20
- expect(result[1].definition).
21
- to match_sexp admin_file_contents
20
+ expect(result[1].definition)
21
+ .to match_sexp admin_file_contents
22
22
  end
23
23
  end
24
-
25
24
  end
26
-
@@ -7,8 +7,8 @@ describe ToFactory::Finders::Model do
7
7
  let(:path) { "./spec/support/models" }
8
8
 
9
9
  describe "#call" do
10
- let!(:user) { ToFactory::User.create! :name => "a user"}
11
- let!(:project) { ToFactory::Project.create! :name => "a project"}
10
+ let!(:user) { ToFactory::User.create! name: "a user" }
11
+ let!(:project) { ToFactory::Project.create! name: "a project" }
12
12
 
13
13
  context "with a match" do
14
14
  it do
@@ -32,8 +32,8 @@ describe ToFactory::Finders::Model do
32
32
  it "displays a warning" do
33
33
  expect(finder.call).to eq [project]
34
34
 
35
- expect(finder).to have_received(:warn).
36
- with( "Failed to eval ./spec/support/broken_models/invalid_ruby_file.rb")
35
+ expect(finder).to have_received(:warn)
36
+ .with("Failed to eval ./spec/support/broken_models/invalid_ruby_file.rb")
37
37
  end
38
38
  end
39
39
 
@@ -47,12 +47,9 @@ describe ToFactory::Finders::Model do
47
47
  expect(klass).to receive(:ancestors).and_raise("Some error")
48
48
  finder.call(klasses: [klass])
49
49
 
50
- expect(finder).to have_received(:warn).
51
- with( "Failed to get record from BrokenClass \"Some error\"")
50
+ expect(finder).to have_received(:warn)
51
+ .with("Failed to get record from BrokenClass \"Some error\"")
52
52
  end
53
53
  end
54
54
  end
55
-
56
55
  end
57
-
58
-
@@ -1,16 +1,16 @@
1
1
  describe ToFactory::Generation::Attribute do
2
- let(:attribute) { ToFactory::Generation::Attribute.new(:some_attributes, {:a => 1}) }
2
+ let(:attribute) { ToFactory::Generation::Attribute.new(:some_attributes, a: 1) }
3
3
 
4
4
  describe "#to_s" do
5
5
  it do
6
- expect(attribute.to_s).to include "some_attributes({:a => 1})"
6
+ expect(attribute.to_s).to include "some_attributes { {:a => 1} }"
7
7
  end
8
8
  end
9
9
 
10
10
  describe "#format" do
11
11
  it "formats Date, Time, DateTime" do
12
- Time.zone= "UTC"
13
- time_string ="2011-12-13T14:15 UTC"
12
+ Time.zone = "UTC"
13
+ time_string = "2011-12-13T14:15 UTC"
14
14
 
15
15
  expect(attribute.format(Time .parse(time_string))).to eq "2011-12-13T14:15 UTC".inspect
16
16
  expect(attribute.format(Date .parse(time_string))).to eq "2011-12-13".inspect
@@ -23,12 +23,12 @@ describe ToFactory::Generation::Attribute do
23
23
  end
24
24
 
25
25
  it "formats BigDecimal"do
26
- expect(attribute.format(BigDecimal.new "123456789012345678900.0")).to eq "BigDecimal.new(\"123456789012345678900.0\")"
26
+ expect(attribute.format(BigDecimal "123456789012345678900.0")).to eq "BigDecimal.new(\"123456789012345678900.0\")"
27
27
  end
28
28
 
29
29
  it "handles unparseable strings" do
30
- #NB this spec may only have been relevant for ruby 1.8 i.e. older RubyParser versions
31
- #see https://github.com/markburns/to_factory/issues/4
30
+ # NB this spec may only have been relevant for ruby 1.8 i.e. older RubyParser versions
31
+ # see https://github.com/markburns/to_factory/issues/4
32
32
  parser = double "RubyParser"
33
33
  expect(parser).to receive(:parse).and_raise "some error"
34
34
  attribute.parser = parser
@@ -37,18 +37,17 @@ describe ToFactory::Generation::Attribute do
37
37
  end
38
38
  end
39
39
 
40
-
41
40
  describe "#inspect_value" do
42
41
  it do
43
- expect(attribute.inspect_value({:a => 1})).to eq "({:a => 1})"
42
+ expect(attribute.inspect_value(a: 1)).to eq " { {:a => 1} }"
44
43
  end
45
44
  it "formats hashes correctly" do
46
45
  hash = ActiveSupport::OrderedHash.new
47
- hash[{"with" => :hash}] = "keys"
46
+ hash[{ "with" => :hash }] = "keys"
48
47
  hash[2] = "integers"
49
- hash[:a] = {:nested => "hash"}
48
+ hash[:a] = { nested: "hash" }
50
49
 
51
- expected = '({{"with" => :hash} => "keys", 2 => "integers", :a => {:nested => "hash"}})'
50
+ expected = ' { {{"with" => :hash} => "keys", 2 => "integers", :a => {:nested => "hash"}} }'
52
51
 
53
52
  expect(attribute.inspect_value(hash)).to eq expected
54
53
  end
@@ -11,7 +11,7 @@ describe ToFactory::Generation::Factory do
11
11
  let!(:user) { create_user! }
12
12
 
13
13
  let(:representation) { ToFactory::Representation.from(user) }
14
- let(:generator) { ToFactory::Generation::Factory.new representation }
14
+ let(:generator) { ToFactory::Generation::Factory.new representation }
15
15
 
16
16
  describe "#name" do
17
17
  context "with a simple name" do
@@ -39,11 +39,9 @@ describe ToFactory::Generation::Factory do
39
39
  end
40
40
  end
41
41
 
42
-
43
-
44
42
  describe "#header" do
45
43
  it do
46
- expect(generator.header{}).to match_sexp <<-eof.strip_heredoc
44
+ expect(generator.header {}).to match_sexp <<-eof.strip_heredoc
47
45
  factory(:"to_factory/user") do
48
46
  end
49
47
  eof
@@ -52,27 +50,27 @@ describe ToFactory::Generation::Factory do
52
50
 
53
51
  describe "#attributes" do
54
52
  let(:representation) do
55
- double(:attributes => {"something" => "something",
56
- :id => 123,
57
- :created_at => anything,
58
- :created_on => anything,
59
- :updated_at => anything,
60
- :updated_on => anything,
61
- nil => nil})
53
+ double(attributes: { "something" => "something",
54
+ :id => 123,
55
+ :created_at => anything,
56
+ :created_on => anything,
57
+ :updated_at => anything,
58
+ :updated_on => anything,
59
+ nil => nil })
62
60
  end
63
61
  it "ignores blank keys, :id, :created_at, :updated_at, :created_on, :updated_on" do
64
- expect(generator.attributes).to eq({"something" => "something"})
62
+ expect(generator.attributes).to eq("something" => "something")
65
63
  end
66
64
  end
67
65
  describe "#factory_attribute" do
68
66
  it do
69
- expect(generator.factory_attribute(:name, nil)) .to eq ' name nil'
70
- expect(generator.factory_attribute(:name, "Jeff")).to eq ' name "Jeff"'
71
- expect(generator.factory_attribute(:id, 8)) .to eq ' id 8'
67
+ expect(generator.factory_attribute(:name, nil)) .to eq " name { nil }"
68
+ expect(generator.factory_attribute(:name, "Jeff")).to eq ' name { "Jeff" }'
69
+ expect(generator.factory_attribute(:id, 8)) .to eq " id { 8 }"
72
70
  end
73
71
  it "generates usable datetime strings" do
74
72
  output = generator.factory_attribute(:birthday, birthday)
75
- expect(output).to eq ' birthday "2014-07-08T15:30 UTC"'
73
+ expect(output).to eq ' birthday { "2014-07-08T15:30 UTC" }'
76
74
  end
77
75
  end
78
76
 
@@ -1,6 +1,6 @@
1
1
  describe ToFactory::Parsing::File do
2
2
  let(:user_contents) { File.read "spec/example_factories/user.rb" }
3
- let(:admin_contents) { File.read "spec/example_factories/admin.rb"}
3
+ let(:admin_contents) { File.read "spec/example_factories/admin.rb" }
4
4
 
5
5
  let(:parser) { ToFactory::Parsing::File.from_file(filename) }
6
6
 
@@ -18,7 +18,7 @@ describe ToFactory::Parsing::File do
18
18
 
19
19
  it do
20
20
  expect(Kernel).to receive(:warn).with(/#{dynamic_content}/).at_least :once
21
- expect(lambda{instance.parse}).not_to raise_error
21
+ expect { instance.parse }.not_to raise_error
22
22
  result = instance.parse
23
23
  expect(result).to be_a Array
24
24
  expect(result[0]).to be_a ToFactory::NullRepresentation
@@ -28,7 +28,7 @@ describe ToFactory::Parsing::File do
28
28
 
29
29
  describe "#multiple_factories? and #header?" do
30
30
  context "new syntax" do
31
- tests = #file, multiple, header
31
+ tests = # file, multiple, header
32
32
  [
33
33
  ["user", false, false],
34
34
  ["user_with_header", false, true],
@@ -39,7 +39,7 @@ describe ToFactory::Parsing::File do
39
39
  tests.each do |file, multiple, header|
40
40
  context "with #{header ? 'header' : 'no header'} and #{multiple ? 'multiple factories' : 'one factory'}" do
41
41
  context "file: #{file}" do
42
- let(:filename) { "spec/example_factories/#{file}.rb"}
42
+ let(:filename) { "spec/example_factories/#{file}.rb" }
43
43
 
44
44
  it { expect(parser.multiple_factories?).to eq multiple }
45
45
  it { expect(parser.header?).to eq header }
@@ -51,7 +51,7 @@ describe ToFactory::Parsing::File do
51
51
 
52
52
  describe "#parse" do
53
53
  context "with multiple levels of parent classes" do
54
- let(:filename) { "spec/example_factories/#{'user_admin_super_admin'}.rb"}
54
+ let(:filename) { "spec/example_factories/#{'user_admin_super_admin'}.rb" }
55
55
 
56
56
  it do
57
57
  result = parser.parse
@@ -61,7 +61,7 @@ describe ToFactory::Parsing::File do
61
61
  end
62
62
 
63
63
  context "file: user" do
64
- let(:filename) { "spec/example_factories/#{'user'}.rb"}
64
+ let(:filename) { "spec/example_factories/#{'user'}.rb" }
65
65
 
66
66
  it do
67
67
  result = parser.parse
@@ -71,7 +71,7 @@ describe ToFactory::Parsing::File do
71
71
  end
72
72
 
73
73
  context "file: user_with_header" do
74
- let(:filename) { "spec/example_factories/#{'user_with_header'}.rb"}
74
+ let(:filename) { "spec/example_factories/#{'user_with_header'}.rb" }
75
75
 
76
76
  it do
77
77
  result = parser.parse
@@ -81,7 +81,7 @@ describe ToFactory::Parsing::File do
81
81
  end
82
82
 
83
83
  context "file: user_admin" do
84
- let(:filename) { "spec/example_factories/#{'user_admin'}.rb"}
84
+ let(:filename) { "spec/example_factories/#{'user_admin'}.rb" }
85
85
 
86
86
  it do
87
87
  result = parser.parse
@@ -94,7 +94,7 @@ describe ToFactory::Parsing::File do
94
94
  end
95
95
 
96
96
  context "file: user_admin_with_header" do
97
- let(:filename) { "spec/example_factories/#{'user_admin_with_header'}.rb"}
97
+ let(:filename) { "spec/example_factories/#{'user_admin_with_header'}.rb" }
98
98
 
99
99
  it do
100
100
  result = parser.parse
@@ -2,27 +2,25 @@ describe ToFactory::KlassInference do
2
2
  let(:inference) { ToFactory::KlassInference.new representations }
3
3
 
4
4
  mappings = [
5
- [:super_admin, :admin, ToFactory::User, 3],
5
+ [:super_admin, :admin, ToFactory::User, 3],
6
6
  [:"to_factory/user", nil, ToFactory::User, 1],
7
7
  [:admin, :"to_factory/user", ToFactory::User, 2],
8
8
  [:some_project, :"to_factory/project", ToFactory::Project, 2],
9
- [:sub_project, :"some_project", ToFactory::Project, 3],
9
+ [:sub_project, :some_project, ToFactory::Project, 3]
10
10
  ]
11
11
 
12
-
13
- let(:representations) { mappings.map{|name, parent, _| ToFactory::Representation.new(name,parent) }}
12
+ let(:representations) { mappings.map { |name, parent, _| ToFactory::Representation.new(name, parent) } }
14
13
 
15
14
  mappings.each do |name, parent_name, expected_klass, expected_order|
16
15
  it "having #{name} and #{parent_name.inspect} implies #{expected_klass} #{expected_order} "do
17
16
  result_klass, order = inference.infer(name.to_s)
18
17
 
19
18
  expect(result_klass).to eq expected_klass
20
- expect(order ).to eq expected_order
19
+ expect(order).to eq expected_order
21
20
  end
22
21
  end
23
22
 
24
23
  it do
25
-
26
- expect(lambda{inference.infer("unknown")}).to raise_error
24
+ expect { inference.infer("unknown") }.to raise_error ToFactory::CannotInferClass
27
25
  end
28
26
  end
data/to_factory.gemspec CHANGED
@@ -1,32 +1,36 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'to_factory/version'
4
+ require "to_factory/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "to_factory"
8
8
  spec.version = ToFactory::VERSION
9
9
  spec.authors = ["Mark Burns"]
10
10
  spec.email = ["markthedeveloper@gmail.com"]
11
- spec.summary = %q{Turn ActiveRecord instances into factories}
12
- spec.description = %q{Autogenerate and append/create factory_girl definitions from the console}
11
+ spec.summary = "Turn ActiveRecord instances into factories"
12
+ spec.description = "Autogenerate and append/create factory_bot definitions from the console"
13
13
  spec.homepage = ""
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}){ |f| File.basename(f) }.reject{|f| f== "spec" || f =="ci" }
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }.reject { |f| f == "spec" || f == "ci" }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "factory_girl", "~> 4.5"
21
+ spec.add_dependency "factory_bot"
22
22
  spec.add_dependency "ruby2ruby"
23
- spec.add_dependency "activerecord", "> 4.0"
24
23
 
25
- spec.add_development_dependency "sqlite3" , "~> 1.3.6"
26
- spec.add_development_dependency "database_cleaner", "~> 1.5.1"
24
+ spec.add_development_dependency "activerecord"
25
+ spec.add_development_dependency "sqlite3"
26
+ spec.add_development_dependency "database_cleaner"
27
27
 
28
28
  spec.add_development_dependency "byebug"
29
+ spec.add_development_dependency "pry"
30
+
31
+ spec.add_development_dependency 'simplecov'
32
+ spec.add_development_dependency 'rspec-github'
29
33
 
30
34
  spec.add_development_dependency "rspec", "~> 3.0"
31
- spec.add_development_dependency "rake", "~> 10.0"
35
+ spec.add_development_dependency "rake", ">= 12.3.3"
32
36
  end