to_factory 2.0.0 → 2.1.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
  SHA1:
3
- metadata.gz: 6906cfbba894ee5d9a25a7a8c30467c59c0c7c27
4
- data.tar.gz: 5a27e0c0912602908f81bd19335c46b880adbe77
3
+ metadata.gz: 3b772bf1a0170e218dfc0cec7d1e18aea8183291
4
+ data.tar.gz: cf2c1036f4212a9786fc255eb8a421713c4ca8f2
5
5
  SHA512:
6
- metadata.gz: ac378d94509e96ea3417a714e6b4073033552fe675e43b263d020a577c9c2201f119ef23fe13563221a5a67d098bcca34f900f305117485980b3394faaa5c654
7
- data.tar.gz: d19f74bdd1789ebf9d57c0fc267c39e5c9db3221828c9adec12d4dbc6002ea0ef11818e9c2009ee0d4943ebb142f332553a8c4c752d139ce4947e15fcb2c7df7
6
+ metadata.gz: 9cded91aa7aafddf9c6812a220f5a7798397012d80352095d7bfa442b4616680827af2e2db9399c5c5f168af071ae728fc1870d82bfdcf9fde0982d3cc77a85d
7
+ data.tar.gz: 3195202d58066527509f151faf4cff787e740d534ee22268b086a0d3b363e71325bfe761e961b22494ffd69660c24008fc97d406d478f30cf9d247db84e86537
data/.gitignore CHANGED
@@ -9,3 +9,4 @@ spec/db/test.sqlite3
9
9
  tmp/*
10
10
  !tmp/.keep
11
11
  *.sqlite3
12
+ /spec/dummy/spec/factories
@@ -3,9 +3,11 @@ rvm:
3
3
  - 2.2.3
4
4
  - 2.1.7
5
5
  - 2.0.0
6
- - 1.9.3
7
6
 
8
7
  script: "./bin/ci"
8
+ cache: bundler
9
+
10
+ sudo: false
9
11
 
10
12
  branches:
11
13
  only:
data/README.md CHANGED
@@ -19,7 +19,15 @@ If you find yourself retro-fitting tests this gem will save you some of the legw
19
19
  * display factory definition for a record
20
20
  * parse and write `FactoryGirl` syntax or older `Factory.define` syntax
21
21
 
22
- Tested against Ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.x, 2.2.0
22
+ Tested against Ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.x, 2.2.x
23
+
24
+ ## Warning :warning:
25
+ `ToFactory` writes into the `spec/factories` folder. Whilst it
26
+ is tested and avoids overwriting existing factories,
27
+ it is recommended that you execute after committing or when in a known
28
+ safe state.
29
+
30
+
23
31
 
24
32
 
25
33
  ## Installation :file_folder:
@@ -33,11 +41,13 @@ group :test, :development do
33
41
  end
34
42
  ```
35
43
 
36
- ## Warning :warning:
37
- `ToFactory` writes into the `spec/factories` folder. Whilst it
38
- is tested and avoids overwriting existing factories,
39
- it is recommended that you execute after committing or when in a known
40
- safe state.
44
+ For Ruby < `2.x` and older `FactoryGirl` syntax etc
45
+
46
+ ```ruby
47
+ group :test, :development do
48
+ gem "to_factory", "~> 0.2.1"
49
+ end
50
+ ```
41
51
 
42
52
 
43
53
 
@@ -59,12 +59,3 @@ def ToFactory(args=nil)
59
59
 
60
60
  sync.perform(exclusions)
61
61
  end
62
-
63
- if defined?(Rails)
64
- unless Rails.respond_to?(:configuration)
65
- #FactoryGirl 1.3.x expects this method, but it isn't defined in Rails 2.0.2
66
- def Rails.configuration
67
- OpenStruct.new
68
- end
69
- end
70
- end
@@ -17,7 +17,7 @@ module ToFactory
17
17
 
18
18
  def organize
19
19
  representations.group_by{|i| i.klass.name.underscore}.inject({}) do |o, (klass_name,r)|
20
- o[klass_name] = r.sort_by(&:hierarchy_order)
20
+ o[klass_name] = r.sort_by{|r| [r.hierarchy_order, r.name]}
21
21
  o
22
22
  end
23
23
  end
@@ -19,7 +19,7 @@ module ToFactory
19
19
  end
20
20
 
21
21
  def new_representations(exclusions=[])
22
- instances = @model_finder.call(exclusions)
22
+ instances = @model_finder.call(exclusions: exclusions)
23
23
 
24
24
  instances.map{|r| Representation.from(r) }
25
25
  end
@@ -24,8 +24,24 @@ module ToFactory
24
24
 
25
25
  def wrap_factories(definitions)
26
26
  out = "FactoryGirl.define do\n"
27
- out << definitions.join("\n\n")
27
+ out << indent(definitions).join("\n\n")
28
+ out << "\n" unless out[-1] == "\n"
28
29
  out << "end"
30
+ out << "\n" unless out[-1] == "\n"
31
+ end
32
+
33
+ def indent(definitions)
34
+ definitions.map do |d|
35
+ if d[/\A\s\s/]
36
+ d
37
+ else
38
+ lines = d.split("\n").map do |l|
39
+ " #{l}"
40
+ end
41
+
42
+ lines.join("\n")
43
+ end
44
+ end
29
45
  end
30
46
 
31
47
  def mkdir(name)
@@ -15,8 +15,14 @@ module ToFactory
15
15
 
16
16
  def parsed_files
17
17
  Dir.glob(File.join(ToFactory.factories, "**/*.rb")).map do |f|
18
- ToFactory::Parsing::File.parse(f)
19
- end
18
+ parse_file(f)
19
+ end.compact
20
+ end
21
+
22
+ def parse_file(f)
23
+ ToFactory::Parsing::File.parse(f)
24
+ rescue ToFactory::Parsing::File::EmptyFileException => e
25
+ #ignore empty files
20
26
  end
21
27
  end
22
28
  end
@@ -1,10 +1,11 @@
1
1
  module ToFactory
2
2
  module Finders
3
3
  class Model
4
- def call(exclusions=[])
4
+ def call(exclusions: [], klasses: nil)
5
5
  instances = []
6
+ klasses ||= find_klasses(exclusions)
6
7
 
7
- each_klass(exclusions) do |klass|
8
+ klasses.each do |klass|
8
9
  if instance = get_active_record_instance(klass)
9
10
  instances << instance
10
11
  end
@@ -15,14 +16,17 @@ module ToFactory
15
16
 
16
17
  private
17
18
 
18
- def each_klass(exclusions)
19
+ def find_klasses(exclusions)
20
+ klasses = []
19
21
  models.each do |file|
20
22
  matching_lines(file) do |match|
21
23
  klass = rescuing_require(file, match)
22
24
 
23
- break if exclusions.include?(klass) || yield(klass)
25
+ klasses << klass unless exclusions.include?(klass)
24
26
  end
25
27
  end
28
+
29
+ klasses
26
30
  end
27
31
 
28
32
  def models
@@ -49,14 +53,10 @@ module ToFactory
49
53
 
50
54
  def get_active_record_instance(klass)
51
55
  if klass && klass.ancestors.include?(ActiveRecord::Base)
52
- begin
53
- klass.first
54
- rescue
55
- klass.find(:first)
56
- end
56
+ klass.first
57
57
  end
58
- rescue Exception => e
59
- warn "Failed to get record from #{klass} #{e.message}"
58
+ rescue StandardError => e
59
+ warn "Failed to get record from #{klass} #{e.message.inspect}"
60
60
  end
61
61
  end
62
62
  end
@@ -1,6 +1,8 @@
1
1
  module ToFactory
2
2
  module Generation
3
3
  class Attribute
4
+ attr_writer :parser
5
+
4
6
  def initialize(attribute, value)
5
7
  @attribute = attribute
6
8
  @value = value
@@ -28,7 +30,7 @@ module ToFactory
28
30
  when Date
29
31
  value.to_s.inspect
30
32
  when BigDecimal
31
- value.to_f.inspect
33
+ "BigDecimal.new(#{value.to_s.inspect})"
32
34
  when Hash
33
35
  inspect_hash(value, nested)
34
36
  when Array
@@ -45,7 +47,7 @@ module ToFactory
45
47
  def validate_parseable!(value)
46
48
  return value if parse(value)
47
49
 
48
- "ToFactory: RubyParser exception parsing this attribute after factory generation"
50
+ "ToFactory: RubyParser exception parsing this attribute"
49
51
  end
50
52
 
51
53
  def parse(value)
@@ -6,6 +6,8 @@ require 'to_factory/parsing/syntax'
6
6
  module ToFactory
7
7
  module Parsing
8
8
  class File
9
+ EmptyFileException = Class.new ArgumentError
10
+
9
11
  delegate :multiple_factories?, :header?, :parse, :to => :parser
10
12
  attr_reader :contents
11
13
 
@@ -15,7 +17,7 @@ module ToFactory
15
17
 
16
18
  def self.from_file(filename)
17
19
  contents = ::File.read filename rescue nil
18
- raise ArgumentError.new "Invalid file #{filename}" if contents.to_s.length == 0
20
+ raise EmptyFileException.new "Invalid file #{filename}" if contents.to_s.strip.length == 0
19
21
 
20
22
  new(contents)
21
23
  end
@@ -28,7 +28,7 @@ module ToFactory
28
28
  end
29
29
 
30
30
  rescue Racc::ParseError, StringScanner::Error => e
31
- raise ParseException.new("Original exception: #{e.message}\n #{e.backtrace}\nToFactory Error parsing \n#{@contents}\n o")
31
+ raise ParseException.new("Original exception: #{e.message}\n #{e.backtrace.join("\n")}\nToFactory Error parsing \n#{@contents}\n o")
32
32
  end
33
33
 
34
34
 
@@ -1,3 +1,3 @@
1
1
  module ToFactory
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
@@ -3,6 +3,10 @@ FactoryGirl.define do
3
3
  name("User")
4
4
  end
5
5
 
6
+ factory(:admin, :parent => :"to_factory/user") do
7
+ name("Admin")
8
+ end
9
+
6
10
  factory(:root, :parent => :"to_factory/user") do
7
11
  birthday "2014-07-08T15:30 UTC"
8
12
  email "test@example.com"
@@ -11,9 +15,6 @@ FactoryGirl.define do
11
15
  some_id 8
12
16
  end
13
17
 
14
- factory(:admin, :parent => :"to_factory/user") do
15
- name("Admin")
16
- end
17
18
 
18
19
  factory(:super_admin, :parent => :admin) do
19
20
  name("Super Admin")
@@ -0,0 +1,19 @@
1
+ describe "Empty File spec" do
2
+ let(:user) { create_user! }
3
+
4
+ context "with an empty factory file" do
5
+ before do
6
+ user
7
+ FileUtils.mkdir_p "./tmp/factories/to_factory"
8
+
9
+ File.open("./tmp/factories/to_factory/empty.rb", "w") do |f|
10
+ f << " "
11
+ f << "\n "
12
+ end
13
+ end
14
+
15
+ it "doesn't blow up" do
16
+ ToFactory(:empty => OpenStruct.new({attributes: {}}), :user => user)
17
+ end
18
+ end
19
+ end
@@ -2,18 +2,12 @@ describe "FileSync" do
2
2
  let(:user) { create_user! }
3
3
  let(:admin) { create_admin! }
4
4
  let(:project) { create_project! }
5
- let(:version) { "new" }
6
5
  let(:expected_user_file) { File.read("./spec/example_factories/user.rb") }
7
6
  let(:expected_user_with_header_file) { File.read("./spec/example_factories/user_with_header.rb") }
8
7
  let(:expected_admin_file) { File.read("./spec/example_factories/admin.rb") }
9
8
  let(:user_with_header) { File.read("./spec/example_factories/user_with_header.rb") }
10
9
  let(:user_admin_with_header) { File.read("./spec/example_factories/user_admin_with_header.rb") }
11
10
 
12
-
13
- before do
14
- FileUtils.rm_rf "./tmp/factories"
15
- end
16
-
17
11
  def user_file
18
12
  File.read("./tmp/factories/to_factory/user.rb") rescue nil
19
13
  end
@@ -22,7 +16,6 @@ describe "FileSync" do
22
16
  File.read("./tmp/factories/to_factory/project.rb") rescue nil
23
17
  end
24
18
 
25
-
26
19
  context "with no arguments" do
27
20
  before do
28
21
  user
@@ -0,0 +1,94 @@
1
+ describe ToFactory do
2
+ let!(:user) { create_user! }
3
+
4
+ def user_file
5
+ File.read("./tmp/factories/to_factory/user.rb") rescue nil
6
+ end
7
+
8
+ let(:expected_user_file) { File.read "./spec/example_factories/user_with_header.rb"}
9
+
10
+ context "single call" do
11
+ before do
12
+ ToFactory()
13
+ end
14
+ it "renders a single factory correctly" do
15
+ expect(user_file).to match_sexp expected_user_file
16
+ end
17
+ end
18
+
19
+ context "two calls" do
20
+ before do
21
+ ToFactory()
22
+ ToFactory(user_2: ToFactory::User.first)
23
+ end
24
+
25
+ it "renders two factories correctly" do
26
+ expect(user_file).to eq <<-FACTORY.strip_heredoc
27
+ FactoryGirl.define do
28
+ factory(:"to_factory/user") do
29
+ birthday("2014-07-08T15:30 UTC")
30
+ email("test@example.com")
31
+ name("Jeff")
32
+ some_attributes(:a => 1)
33
+ some_id(8)
34
+ end
35
+
36
+ factory(:user_2, :parent => :"to_factory/user") do
37
+ birthday "2014-07-08T15:30 UTC"
38
+ email "test@example.com"
39
+ name "Jeff"
40
+ some_attributes({:a => 1})
41
+ some_id 8
42
+ end
43
+ end
44
+ FACTORY
45
+ end
46
+ end
47
+
48
+ context "multiple calls" do
49
+ before do
50
+ ToFactory()
51
+ ToFactory(user_2: ToFactory::User.first)
52
+ ToFactory(user_3: ToFactory::User.first)
53
+ ToFactory(user_4: ToFactory::User.first)
54
+ end
55
+
56
+ it "renders multiple factories correctly" do
57
+ expect(user_file).to match_sexp <<-FACTORY
58
+ FactoryGirl.define do
59
+ factory(:"to_factory/user") do
60
+ birthday("2014-07-08T15:30 UTC")
61
+ email("test@example.com")
62
+ name("Jeff")
63
+ some_attributes(:a => 1)
64
+ some_id(8)
65
+ end
66
+
67
+ factory(:user_2, :parent => :"to_factory/user") do
68
+ birthday("2014-07-08T15:30 UTC")
69
+ email("test@example.com")
70
+ name("Jeff")
71
+ some_attributes(:a => 1)
72
+ some_id(8)
73
+ end
74
+
75
+ factory(:user_3, :parent => :"to_factory/user") do
76
+ birthday("2014-07-08T15:30 UTC")
77
+ email("test@example.com")
78
+ name("Jeff")
79
+ some_attributes(:a => 1)
80
+ some_id(8)
81
+ end
82
+
83
+ factory(:user_4, :parent => :"to_factory/user") do
84
+ birthday "2014-07-08T15:30 UTC"
85
+ email "test@example.com"
86
+ name "Jeff"
87
+ some_attributes({:a => 1})
88
+ some_id 8
89
+ end
90
+ end
91
+ FACTORY
92
+ end
93
+ end
94
+ end
@@ -2,8 +2,6 @@ describe ToFactory do
2
2
  let!(:user) { create_user! }
3
3
  let!(:project) { create_project!}
4
4
 
5
- before { FileUtils.rm_rf "./tmp/factories" }
6
-
7
5
  def user_file
8
6
  File.read("./tmp/factories/to_factory/user.rb") rescue nil
9
7
  end
@@ -11,16 +11,7 @@ require 'active_support/core_ext/hash'
11
11
  require "sqlite3"
12
12
  require "database_cleaner"
13
13
 
14
- begin
15
- require "pry-byebug"
16
- rescue LoadError
17
- begin
18
- require "ruby-debug"
19
- rescue LoadError
20
- $stderr.puts "No debugger available for #{RUBY_VERSION}"
21
- end
22
- end
23
-
14
+ require "byebug"
24
15
  require "to_factory"
25
16
 
26
17
  require "./spec/support/models/user"
@@ -0,0 +1 @@
1
+ class Egg < ActiveRecord::Base
@@ -0,0 +1,3 @@
1
+ class ToFactory::Project < ActiveRecord::Base
2
+ self.table_name = "projects"
3
+ end
@@ -4,21 +4,51 @@ describe ToFactory::Finders::Model do
4
4
  end
5
5
 
6
6
  let(:finder) { ToFactory::Finders::Model.new }
7
+ let(:path) { "./spec/support/models" }
7
8
 
8
9
  describe "#call" do
9
10
  let!(:user) { ToFactory::User.create! :name => "a user"}
10
11
  let!(:project) { ToFactory::Project.create! :name => "a project"}
11
12
 
13
+ context "with a match" do
14
+ it do
15
+ expect(finder.call).to match_array [user, project]
16
+ end
17
+ end
18
+
12
19
  context "no match"do
13
20
  let(:path) { "./tmp/doesnt_exist" }
14
21
  it do
15
22
  expect(finder.call).to eq []
16
23
  end
17
24
  end
18
- context "with a match" do
19
- let(:path) { "./spec/support/models" }
20
- it do
21
- expect(finder.call).to match_array [user, project]
25
+
26
+ context "with an invalid model file" do
27
+ let(:path) { "./spec/support/broken_models" }
28
+ before do
29
+ allow(finder).to receive(:warn)
30
+ end
31
+
32
+ it "displays a warning" do
33
+ expect(finder.call).to eq [project]
34
+
35
+ expect(finder).to have_received(:warn).
36
+ with( "Failed to eval ./spec/support/broken_models/invalid_ruby_file.rb")
37
+ end
38
+ end
39
+
40
+ context "with an invalid class" do
41
+ before do
42
+ allow(finder).to receive(:warn)
43
+ end
44
+
45
+ it "displays a warning" do
46
+ klass = double("BrokenClass", inspect: "BrokenClass")
47
+ expect(klass).to receive(:ancestors).and_raise("Some error")
48
+ finder.call(klasses: [klass])
49
+
50
+ expect(finder).to have_received(:warn).
51
+ with( "Failed to get record from BrokenClass \"Some error\"")
22
52
  end
23
53
  end
24
54
  end
@@ -21,6 +21,20 @@ describe ToFactory::Generation::Attribute do
21
21
  expect(attribute.format(123)) .to eq "123"
22
22
  expect(attribute.format(123.0)).to eq "123.0"
23
23
  end
24
+
25
+ it "formats BigDecimal"do
26
+ expect(attribute.format(BigDecimal.new "123456789012345678900.0")).to eq "BigDecimal.new(\"123456789012345678900.0\")"
27
+ end
28
+
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
32
+ parser = double "RubyParser"
33
+ expect(parser).to receive(:parse).and_raise "some error"
34
+ attribute.parser = parser
35
+
36
+ expect(attribute.format("anything")).to eq "ToFactory: RubyParser exception parsing this attribute".inspect
37
+ end
24
38
  end
25
39
 
26
40
 
@@ -46,17 +60,4 @@ describe ToFactory::Generation::Attribute do
46
60
  expect(attribute.format(input, false)).to eq expected
47
61
  end
48
62
  end
49
-
50
- if RUBY_VERSION =~ /\A1\.8/
51
- it "alters attributes that are unparseable by RubyParser" do
52
- #when reparsing the generated files, we don't want the parser itself
53
- #to raise an exception, rather than fix RubyParser now, a hotfix is to
54
- #warn about these attributes and replace them with something parseable
55
- value = File.read("./spec/support/ruby_parser_exception_causing_string.rb")
56
- expect(lambda{RubyParser.new.parse(value)}).to raise_error StringScanner::Error
57
- result = attribute.inspect_value(value)
58
- expect(lambda{RubyParser.new.parse(result)}).not_to raise_error
59
- expect(result).to match /ToFactory: RubyParser exception/
60
- end
61
- end
62
63
  end
@@ -13,6 +13,32 @@ describe ToFactory::Generation::Factory do
13
13
  let(:representation) { ToFactory::Representation.from(user) }
14
14
  let(:generator) { ToFactory::Generation::Factory.new representation }
15
15
 
16
+ describe "#name" do
17
+ context "with a simple name" do
18
+ let(:representation) { double "Representation", name: "some_name" }
19
+
20
+ it "adds just displays the name" do
21
+ expect(generator.name).to eq "some_name"
22
+ end
23
+ end
24
+
25
+ context "with a namespace" do
26
+ let(:representation) { double "Representation", name: "some_namespace/some_name" }
27
+
28
+ it "adds quotes to the name" do
29
+ expect(generator.name).to eq "some_namespace/some_name".inspect
30
+ end
31
+ end
32
+
33
+ context "with a an already quoted name in a namespace" do
34
+ let(:representation) { double "Representation", name: "some_namespace/some_name".inspect }
35
+
36
+ it "doesn't add extra adds quotes to the name" do
37
+ expect(generator.name).to eq "some_namespace/some_name".inspect
38
+ end
39
+ end
40
+ end
41
+
16
42
 
17
43
 
18
44
  describe "#header" do
@@ -18,17 +18,15 @@ Gem::Specification.new do |spec|
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"
22
+ spec.add_dependency "ruby2ruby"
23
+ spec.add_dependency "activerecord", "> 4.0"
24
+
21
25
  spec.add_development_dependency "sqlite3" , "~> 1.3.6"
22
- spec.add_development_dependency "database_cleaner", "~> 1.4.0"
26
+ spec.add_development_dependency "database_cleaner", "~> 1.5.1"
23
27
 
24
- if RUBY_VERSION =~ /^2\.\d/
25
- spec.add_development_dependency "pry-byebug"
26
- end
28
+ spec.add_development_dependency "byebug"
27
29
 
28
- spec.add_development_dependency "factory_girl", "~> 4.5"
29
30
  spec.add_development_dependency "rspec", "~> 3.0"
30
31
  spec.add_development_dependency "rake", "~> 10.0"
31
-
32
- spec.add_dependency "ruby2ruby"
33
- spec.add_dependency "activerecord", "> 4.0"
34
32
  end
metadata CHANGED
@@ -1,127 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: to_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Burns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-22 00:00:00.000000000 Z
11
+ date: 2015-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sqlite3
14
+ name: factory_girl
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.6
20
- type: :development
19
+ version: '4.5'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.6
26
+ version: '4.5'
27
27
  - !ruby/object:Gem::Dependency
28
- name: database_cleaner
28
+ name: ruby2ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.0
34
- type: :development
33
+ version: '0'
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.4.0
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: pry-byebug
42
+ name: activerecord
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
47
+ version: '4.0'
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ">"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '4.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: factory_girl
56
+ name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '4.5'
61
+ version: 1.3.6
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '4.5'
68
+ version: 1.3.6
69
69
  - !ruby/object:Gem::Dependency
70
- name: rspec
70
+ name: database_cleaner
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: 1.5.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: 1.5.1
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: byebug
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: ruby2ruby
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
103
+ version: '3.0'
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '3.0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: activerecord
112
+ name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">"
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '4.0'
118
- type: :runtime
117
+ version: '10.0'
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">"
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '4.0'
124
+ version: '10.0'
125
125
  description: Autogenerate and append/create factory_girl definitions from the console
126
126
  email:
127
127
  - markthedeveloper@gmail.com
@@ -168,11 +168,15 @@ files:
168
168
  - spec/example_factories/user_admin_with_header.rb
169
169
  - spec/example_factories/user_with_header.rb
170
170
  - spec/integration/config_spec.rb
171
+ - spec/integration/empty_factory_file_spec.rb
171
172
  - spec/integration/file_sync_spec.rb
172
173
  - spec/integration/file_writer_spec.rb
173
174
  - spec/integration/lint_spec.rb
175
+ - spec/integration/multiple_to_factory_calls_spec.rb
174
176
  - spec/integration/to_factory_method_spec.rb
175
177
  - spec/spec_helper.rb
178
+ - spec/support/broken_models/invalid_ruby_file.rb
179
+ - spec/support/broken_models/project.rb
176
180
  - spec/support/data_creation.rb
177
181
  - spec/support/match_sexp.rb
178
182
  - spec/support/models/not_active_record.rb
@@ -209,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
213
  version: '0'
210
214
  requirements: []
211
215
  rubyforge_project:
212
- rubygems_version: 2.4.5
216
+ rubygems_version: 2.4.5.1
213
217
  signing_key:
214
218
  specification_version: 4
215
219
  summary: Turn ActiveRecord instances into factories
@@ -229,11 +233,15 @@ test_files:
229
233
  - spec/example_factories/user_admin_with_header.rb
230
234
  - spec/example_factories/user_with_header.rb
231
235
  - spec/integration/config_spec.rb
236
+ - spec/integration/empty_factory_file_spec.rb
232
237
  - spec/integration/file_sync_spec.rb
233
238
  - spec/integration/file_writer_spec.rb
234
239
  - spec/integration/lint_spec.rb
240
+ - spec/integration/multiple_to_factory_calls_spec.rb
235
241
  - spec/integration/to_factory_method_spec.rb
236
242
  - spec/spec_helper.rb
243
+ - spec/support/broken_models/invalid_ruby_file.rb
244
+ - spec/support/broken_models/project.rb
237
245
  - spec/support/data_creation.rb
238
246
  - spec/support/match_sexp.rb
239
247
  - spec/support/models/not_active_record.rb
@@ -248,4 +256,3 @@ test_files:
248
256
  - spec/unit/generation/factory_spec.rb
249
257
  - spec/unit/parsing/file_spec.rb
250
258
  - spec/unit/parsing/klass_inference_spec.rb
251
- has_rdoc: