to_factory 0.2.0 → 0.2.1
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 +7 -0
- data/README.md +14 -6
- data/lib/to_factory/collation.rb +3 -3
- data/lib/to_factory/file_writer.rb +5 -9
- data/lib/to_factory/generation/attribute.rb +24 -3
- data/lib/to_factory/generation/factory.rb +5 -13
- data/lib/to_factory/version.rb +1 -1
- data/lib/to_factory.rb +20 -2
- data/spec/integration/file_writer_spec.rb +1 -1
- data/spec/integration/to_factory_method_spec.rb +21 -0
- data/spec/spec_helper.rb +0 -1
- data/spec/support/ruby_parser_exception_causing_string.rb +31 -0
- data/spec/unit/collation_spec.rb +1 -1
- data/spec/unit/file_writer_spec.rb +2 -2
- data/spec/unit/generation/attribute_spec.rb +19 -0
- metadata +119 -167
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2b7199b7f56596066bd61469c11ed611c8559011
|
4
|
+
data.tar.gz: 9799646595d3bb9835d61cceffde7514334bfc9a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eb276d7e60f92af6de9fb7a6c6fa0883cdffbd43d585141d359bb64b6e4539936d7fe40545453026419ccfa513a72db5804eecbe80ffd75f42d886d2f7c61e1c
|
7
|
+
data.tar.gz: 9345ae024ec70089a05d6430e1039691bbfad6eb43833525e8bb1ed4d7ba9054560a5d15b780617f4ede28efb51bc88c3e770250a24883ecc435563f05efc804
|
data/README.md
CHANGED
@@ -11,10 +11,13 @@ ToFactory :wrench:
|
|
11
11
|
|
12
12
|
Easily add factories with valid data for an existing project.
|
13
13
|
|
14
|
+
If you find yourself retro-fitting tests this gem will save you some of the legwork.
|
15
|
+
|
14
16
|
* auto-generate all factories
|
15
17
|
* adhoc generate from existing records
|
16
18
|
* unintrusively update factory files in place
|
17
|
-
*
|
19
|
+
* display factory definition for a record
|
20
|
+
* parse and write `FactoryGirl` syntax or older `Factory.define` syntax
|
18
21
|
|
19
22
|
Tested against Ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.x, 2.2.0
|
20
23
|
|
@@ -63,11 +66,6 @@ ToFactory(exclude: [User, Project])
|
|
63
66
|
#Use Adhoc instances from the console
|
64
67
|
ToFactory User.last
|
65
68
|
|
66
|
-
#List defined factory names
|
67
|
-
ToFactory.definitions
|
68
|
-
#=> [:user, :admin, :project]
|
69
|
-
|
70
|
-
|
71
69
|
#writes to spec/factories/user.rb
|
72
70
|
FactoryGirl.define
|
73
71
|
factory(:user) do |u|
|
@@ -76,6 +74,16 @@ FactoryGirl.define
|
|
76
74
|
end
|
77
75
|
end
|
78
76
|
|
77
|
+
#List defined factory names
|
78
|
+
ToFactory.definitions
|
79
|
+
#=> [:user, :admin, :project]
|
80
|
+
|
81
|
+
#Display definition from record
|
82
|
+
ToFactory.definition_for @user
|
83
|
+
|
84
|
+
#Display existing definition from name
|
85
|
+
ToFactory.definition_for :admin
|
86
|
+
|
79
87
|
#doesn't overwrite existing factories
|
80
88
|
ToFactory User.last
|
81
89
|
#Exception =>
|
data/lib/to_factory/collation.rb
CHANGED
@@ -16,8 +16,8 @@ module ToFactory
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def organize
|
19
|
-
representations.group_by
|
20
|
-
o[
|
19
|
+
representations.group_by{|i| i.klass.name.underscore}.inject({}) do |o, (klass_name,r)|
|
20
|
+
o[klass_name] = r.sort_by(&:hierarchy_order)
|
21
21
|
o
|
22
22
|
end
|
23
23
|
end
|
@@ -54,7 +54,7 @@ module ToFactory
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def raise_already_exists!(keys)
|
57
|
-
|
57
|
+
raise ToFactory::AlreadyExists.new "an item for each of the following keys #{keys.inspect} already exists"
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
@@ -5,8 +5,8 @@ module ToFactory
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def write(definitions)
|
8
|
-
definitions.each do |
|
9
|
-
write_to(
|
8
|
+
definitions.each do |klass_name, representations|
|
9
|
+
write_to(klass_name) do
|
10
10
|
wrap_factories(representations.map(&:definition))
|
11
11
|
end
|
12
12
|
end
|
@@ -14,10 +14,6 @@ module ToFactory
|
|
14
14
|
|
15
15
|
private
|
16
16
|
|
17
|
-
def name_from(klass)
|
18
|
-
klass.name.underscore.gsub /^"|"$/, ""
|
19
|
-
end
|
20
|
-
|
21
17
|
def write_to(name)
|
22
18
|
mkdir(name)
|
23
19
|
|
@@ -35,9 +31,9 @@ module ToFactory
|
|
35
31
|
end
|
36
32
|
|
37
33
|
def modern_header(definitions)
|
38
|
-
out =
|
39
|
-
out << definitions.join("\n")
|
40
|
-
out << "
|
34
|
+
out = "FactoryGirl.define do\n"
|
35
|
+
out << definitions.join("\n\n")
|
36
|
+
out << "end"
|
41
37
|
end
|
42
38
|
|
43
39
|
def mkdir(name)
|
@@ -26,8 +26,6 @@ module ToFactory
|
|
26
26
|
formatted
|
27
27
|
end
|
28
28
|
|
29
|
-
private
|
30
|
-
|
31
29
|
def format(value, nested)
|
32
30
|
case value
|
33
31
|
when Time, DateTime
|
@@ -37,12 +35,30 @@ module ToFactory
|
|
37
35
|
when Hash
|
38
36
|
inspect_hash(value, nested)
|
39
37
|
when Array
|
40
|
-
value
|
38
|
+
inspect_array(value, nested)
|
39
|
+
when String
|
40
|
+
validate_parseable!(value).inspect
|
41
41
|
else
|
42
42
|
value.inspect
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
private
|
47
|
+
|
48
|
+
def validate_parseable!(value)
|
49
|
+
return value if parse(value)
|
50
|
+
|
51
|
+
"ToFactory: RubyParser exception parsing this attribute after factory generation"
|
52
|
+
end
|
53
|
+
|
54
|
+
def parse(value)
|
55
|
+
@parser ||= RubyParser.new
|
56
|
+
@parser.parse(value)
|
57
|
+
true
|
58
|
+
rescue
|
59
|
+
false
|
60
|
+
end
|
61
|
+
|
46
62
|
def inspect_time(value)
|
47
63
|
time = in_utc(value).strftime("%Y-%m-%dT%H:%M%Z").inspect
|
48
64
|
time.gsub(/UTC"$/, "Z\"").gsub(/GMT"$/, "Z\"")
|
@@ -60,6 +76,11 @@ module ToFactory
|
|
60
76
|
end
|
61
77
|
end
|
62
78
|
|
79
|
+
def inspect_array(value, nested)
|
80
|
+
values = value.map{|v| format(v, nested)}.join(", ")
|
81
|
+
"[#{values}]"
|
82
|
+
end
|
83
|
+
|
63
84
|
def key_value_pair(key, value)
|
64
85
|
formatted_key = inspect_value(key, true)
|
65
86
|
formatted_value = inspect_value(value.fetch(key), true)
|
@@ -19,20 +19,12 @@ module ToFactory
|
|
19
19
|
|
20
20
|
def header(&block)
|
21
21
|
if ToFactory.new_syntax?
|
22
|
-
|
22
|
+
generic_header(" factory", "", " end", &block)
|
23
23
|
else
|
24
|
-
|
24
|
+
generic_header("Factory.define", " |o|", "end", &block)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
def modern_header(&block)
|
29
|
-
generic_header("factory", "", &block)
|
30
|
-
end
|
31
|
-
|
32
|
-
def header_factory_girl_1(&block)
|
33
|
-
generic_header("Factory.define", " |o|", &block)
|
34
|
-
end
|
35
|
-
|
36
28
|
def factory_attribute(attr, value)
|
37
29
|
Attribute.new(attr, value).to_s
|
38
30
|
end
|
@@ -49,10 +41,10 @@ module ToFactory
|
|
49
41
|
@representation.parent_name
|
50
42
|
end
|
51
43
|
|
52
|
-
def generic_header(factory_start, block_arg, &block)
|
53
|
-
out = "
|
44
|
+
def generic_header(factory_start, block_arg, ending, &block)
|
45
|
+
out = "#{factory_start}(:#{name}#{parent_clause}) do#{block_arg}\n"
|
54
46
|
out << yield.to_s
|
55
|
-
out << "
|
47
|
+
out << "#{ending}\n"
|
56
48
|
end
|
57
49
|
|
58
50
|
def parent_clause
|
data/lib/to_factory/version.rb
CHANGED
data/lib/to_factory.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
1
3
|
require "to_factory/version"
|
2
4
|
require "to_factory/config"
|
3
5
|
require "to_factory/generation/factory"
|
@@ -14,6 +16,7 @@ require "to_factory/options_parser"
|
|
14
16
|
|
15
17
|
module ToFactory
|
16
18
|
class MissingActiveRecordInstanceException < Exception;end
|
19
|
+
class NotFoundError < Exception;end
|
17
20
|
|
18
21
|
class << self
|
19
22
|
def new_syntax?
|
@@ -27,9 +30,24 @@ module ToFactory
|
|
27
30
|
false
|
28
31
|
end
|
29
32
|
|
33
|
+
def definition_for(item)
|
34
|
+
if item.is_a? ActiveRecord::Base
|
35
|
+
Representation.from(item).definition
|
36
|
+
else
|
37
|
+
if found = representations.find{|r| r.name.to_s == item.to_s }
|
38
|
+
found.definition
|
39
|
+
else
|
40
|
+
raise NotFoundError.new "No definition found for #{item}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
30
45
|
def definitions
|
31
|
-
|
32
|
-
|
46
|
+
representations.map(&:name)
|
47
|
+
end
|
48
|
+
|
49
|
+
def representations
|
50
|
+
Finders::Factory.new.call
|
33
51
|
end
|
34
52
|
end
|
35
53
|
end
|
@@ -9,7 +9,7 @@ describe ToFactory::FileWriter do
|
|
9
9
|
fs = ToFactory::FileSync.new
|
10
10
|
representations = fs.all_representations
|
11
11
|
#sanity check generation isn't broken
|
12
|
-
expect(representations.keys).to eq [
|
12
|
+
expect(representations.keys).to eq ["to_factory/user"]
|
13
13
|
expect(representations.values[0][0]).to be_a ToFactory::Representation
|
14
14
|
|
15
15
|
fw.write representations
|
@@ -23,6 +23,22 @@ describe ToFactory do
|
|
23
23
|
|
24
24
|
end
|
25
25
|
|
26
|
+
describe "ToFactory.definition_for" do
|
27
|
+
let(:expected_user_file) { File.read "./spec/example_factories/#{version}_syntax/user.rb"}
|
28
|
+
it do
|
29
|
+
expect(ToFactory.definition_for user).to match_sexp expected_user_file
|
30
|
+
end
|
31
|
+
|
32
|
+
it do
|
33
|
+
ToFactory(user)
|
34
|
+
expect(ToFactory.definition_for :"to_factory/user").to match_sexp expected_user_file
|
35
|
+
end
|
36
|
+
|
37
|
+
it "raises a not found error" do
|
38
|
+
expect(lambda{ToFactory.definition_for :"to_factory/user"}).to raise_error ToFactory::NotFoundError
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
26
42
|
describe "Object#ToFactory" do
|
27
43
|
context "with multiple levels of parent classes" do
|
28
44
|
let(:filename) { "spec/example_factories/#{version}_syntax/#{'user_admin_super_admin'}.rb"}
|
@@ -43,8 +59,13 @@ describe ToFactory do
|
|
43
59
|
|
44
60
|
it "generates all factories" do
|
45
61
|
ToFactory()
|
62
|
+
#simple check for equivalent ruby
|
46
63
|
expect(user_file) .to match_sexp expected_user_file
|
47
64
|
expect(project_file).to match_sexp expected_project_file
|
65
|
+
|
66
|
+
#once we are sure output is equivalent ruby, check output is identical
|
67
|
+
expect(user_file.chomp) .to eq expected_user_file.chomp
|
68
|
+
expect(project_file.chomp).to eq expected_project_file.chomp
|
48
69
|
end
|
49
70
|
|
50
71
|
def user_file_includes(content)
|
data/spec/spec_helper.rb
CHANGED
data/spec/unit/collation_spec.rb
CHANGED
@@ -33,7 +33,7 @@ describe ToFactory::Collation do
|
|
33
33
|
pre_existing = [ admin, user, super_admin ]
|
34
34
|
|
35
35
|
result = ToFactory::Collation.organize(new_definitions, pre_existing)
|
36
|
-
result = result[
|
36
|
+
result = result["to_factory/user"]
|
37
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
|
@@ -13,8 +13,8 @@ describe ToFactory::FileWriter do
|
|
13
13
|
it "adds factories for all models" do
|
14
14
|
user_representation = double :name => :user, "definition" => "factory a"
|
15
15
|
project_representation = double :name => "project", :definition =>"factory b"
|
16
|
-
fw.write({
|
17
|
-
|
16
|
+
fw.write({"to_factory/user" =>[user_representation],
|
17
|
+
"to_factory/project" => [project_representation]
|
18
18
|
})
|
19
19
|
|
20
20
|
if ToFactory.new_syntax?
|
@@ -22,6 +22,25 @@ describe ToFactory::Generation::Attribute do
|
|
22
22
|
|
23
23
|
expect(attribute.inspect_value(hash)).to eq expected
|
24
24
|
end
|
25
|
+
|
26
|
+
it "handles arrays correctly" do
|
27
|
+
expected = "[1, 2, :a, \"4\"]"
|
28
|
+
|
29
|
+
input = [1, 2, :a, "4"]
|
30
|
+
expect(attribute.format(input, false)).to eq expected
|
31
|
+
end
|
25
32
|
end
|
26
33
|
|
34
|
+
if RUBY_VERSION =~ /\A1\.8/
|
35
|
+
it "alters attributes that are unparseable by RubyParser" do
|
36
|
+
#when reparsing the generated files, we don't want the parser itself
|
37
|
+
#to raise an exception, rather than fix RubyParser now, a hotfix is to
|
38
|
+
#warn about these attributes and replace them with something parseable
|
39
|
+
value = File.read("./spec/support/ruby_parser_exception_causing_string.rb")
|
40
|
+
expect(lambda{RubyParser.new.parse(value)}).to raise_error StringScanner::Error
|
41
|
+
result = attribute.inspect_value(value)
|
42
|
+
expect(lambda{RubyParser.new.parse(result)}).not_to raise_error
|
43
|
+
expect(result).to match /ToFactory: RubyParser exception/
|
44
|
+
end
|
45
|
+
end
|
27
46
|
end
|
metadata
CHANGED
@@ -1,177 +1,137 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: to_factory
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 0.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Mark Burns
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2015-01-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: sqlite3
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.6
|
20
|
+
type: :development
|
23
21
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 23
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 3
|
33
|
-
- 6
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
34
26
|
version: 1.3.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: database_cleaner
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.4.0
|
35
34
|
type: :development
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: ruby-debug
|
39
35
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.4.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
43
45
|
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
version: "0"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
49
48
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: database_cleaner
|
53
49
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
- 3
|
63
|
-
version: "0.3"
|
64
|
-
type: :development
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
67
56
|
name: ruby2ruby
|
68
|
-
|
69
|
-
|
70
|
-
none: false
|
71
|
-
requirements:
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
72
59
|
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
78
62
|
type: :runtime
|
79
|
-
version_requirements: *id004
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: activerecord
|
82
63
|
prerelease: false
|
83
|
-
|
84
|
-
|
85
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activerecord
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
86
73
|
- - ">"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
segments:
|
90
|
-
- 2
|
91
|
-
- 0
|
92
|
-
version: "2.0"
|
93
|
-
- - <
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
hash: 27
|
96
|
-
segments:
|
97
|
-
- 4
|
98
|
-
- 0
|
99
|
-
version: "4.0"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
100
76
|
type: :runtime
|
101
|
-
version_requirements: *id005
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: i18n
|
104
77
|
prerelease: false
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
segments:
|
112
|
-
- 0
|
113
|
-
- 7
|
114
|
-
version: "0.7"
|
115
|
-
type: :runtime
|
116
|
-
version_requirements: *id006
|
117
|
-
- !ruby/object:Gem::Dependency
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
118
84
|
name: factory_girl
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
hash: 3
|
126
|
-
segments:
|
127
|
-
- 2
|
128
|
-
- 0
|
129
|
-
version: "2.0"
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.5'
|
130
90
|
type: :development
|
131
|
-
version_requirements: *id007
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: rspec
|
134
91
|
prerelease: false
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '4.5'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.0'
|
145
104
|
type: :development
|
146
|
-
version_requirements: *id008
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: rake
|
149
105
|
prerelease: false
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '10.0'
|
160
118
|
type: :development
|
161
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '10.0'
|
162
125
|
description: Autogenerate and append/create factory_girl definitions from the console
|
163
|
-
email:
|
126
|
+
email:
|
164
127
|
- markthedeveloper@gmail.com
|
165
128
|
executables: []
|
166
|
-
|
167
129
|
extensions: []
|
168
|
-
|
169
130
|
extra_rdoc_files: []
|
170
|
-
|
171
|
-
|
172
|
-
- .
|
173
|
-
- .
|
174
|
-
- .travis.yml
|
131
|
+
files:
|
132
|
+
- ".gitignore"
|
133
|
+
- ".rspec"
|
134
|
+
- ".travis.yml"
|
175
135
|
- Gemfile
|
176
136
|
- README.md
|
177
137
|
- Rakefile
|
@@ -227,6 +187,7 @@ files:
|
|
227
187
|
- spec/support/models/not_active_record.rb
|
228
188
|
- spec/support/models/project.rb
|
229
189
|
- spec/support/models/user.rb
|
190
|
+
- spec/support/ruby_parser_exception_causing_string.rb
|
230
191
|
- spec/unit/collation_spec.rb
|
231
192
|
- spec/unit/file_writer_spec.rb
|
232
193
|
- spec/unit/finders/factory_spec.rb
|
@@ -237,41 +198,31 @@ files:
|
|
237
198
|
- spec/unit/parsing/klass_inference_spec.rb
|
238
199
|
- tmp/.keep
|
239
200
|
- to_factory.gemspec
|
240
|
-
|
241
|
-
|
242
|
-
licenses:
|
201
|
+
homepage: ''
|
202
|
+
licenses:
|
243
203
|
- MIT
|
204
|
+
metadata: {}
|
244
205
|
post_install_message:
|
245
206
|
rdoc_options: []
|
246
|
-
|
247
|
-
require_paths:
|
207
|
+
require_paths:
|
248
208
|
- lib
|
249
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
-
|
251
|
-
requirements:
|
209
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
252
211
|
- - ">="
|
253
|
-
- !ruby/object:Gem::Version
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
version: "0"
|
258
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
259
|
-
none: false
|
260
|
-
requirements:
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
261
216
|
- - ">="
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
|
264
|
-
segments:
|
265
|
-
- 0
|
266
|
-
version: "0"
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: '0'
|
267
219
|
requirements: []
|
268
|
-
|
269
220
|
rubyforge_project:
|
270
|
-
rubygems_version:
|
221
|
+
rubygems_version: 2.4.5
|
271
222
|
signing_key:
|
272
|
-
specification_version:
|
223
|
+
specification_version: 4
|
273
224
|
summary: Turn ActiveRecord instances into factories
|
274
|
-
test_files:
|
225
|
+
test_files:
|
275
226
|
- spec/db/migrate/1_create_users.rb
|
276
227
|
- spec/db/migrate/2_create_projects.rb
|
277
228
|
- spec/db/migrate/3_create_not_namespaced.rb
|
@@ -305,6 +256,7 @@ test_files:
|
|
305
256
|
- spec/support/models/not_active_record.rb
|
306
257
|
- spec/support/models/project.rb
|
307
258
|
- spec/support/models/user.rb
|
259
|
+
- spec/support/ruby_parser_exception_causing_string.rb
|
308
260
|
- spec/unit/collation_spec.rb
|
309
261
|
- spec/unit/file_writer_spec.rb
|
310
262
|
- spec/unit/finders/factory_spec.rb
|