fixture_replacement 4.0.1 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +14 -0
- data/VERSION +1 -1
- data/lib/fixture_replacement/class_methods.rb +4 -22
- data/lib/fixture_replacement/method_generator.rb +0 -8
- data/lib/fixture_replacement/random_data_generators.rb +36 -0
- data/lib/fixture_replacement/version.rb +2 -2
- data/lib/fixture_replacement.rb +2 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70ad8e924533702d5954ff854992ca3d215090e5e97e7f4e47221d51f04aebf4
|
4
|
+
data.tar.gz: 69ffca95d0436db069bcf3e536d87704414702db8ed3f037bb313372e443d871
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d66a2d0b581d785c5ff26144cbea3b2e724454ed151d1de19f35aacba3582d87df7fdcda2d0e43c400933fd18cbe494d3c043244577156c1230669fb9dc6fc43
|
7
|
+
data.tar.gz: 2261fdb8e7b312e73162b9d10c0e761cae31f00448827238904d6785c5827d04f72d5e0a73b72b6dda11461d814a2ff59b53896d541c2fe18b796ce85f3dbacd
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
== 4.1.0
|
2
|
+
|
3
|
+
* add more helpers:
|
4
|
+
* random_incrementing_number
|
5
|
+
* random_email
|
6
|
+
* random_first_name
|
7
|
+
* random_last_name
|
8
|
+
* random_name
|
9
|
+
|
10
|
+
Most of these call faker; so you'll need that library for most of these methods.
|
11
|
+
* rename FixtureReplacement.load_example_data => FixtureReplacement.load!
|
12
|
+
* bug fixes pertaining to module_method
|
13
|
+
* remove default_* methods, which were deprecated
|
14
|
+
|
1
15
|
== 4.0.1
|
2
16
|
|
3
17
|
- Minor release fixes
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.0
|
1
|
+
4.1.0
|
@@ -1,7 +1,9 @@
|
|
1
1
|
module FixtureReplacement
|
2
2
|
module ClassMethods
|
3
|
+
include FixtureReplacement::RandomDataGenerators
|
4
|
+
|
3
5
|
def included(_other_mod)
|
4
|
-
FixtureReplacement.
|
6
|
+
FixtureReplacement.load!
|
5
7
|
end
|
6
8
|
|
7
9
|
def attributes_for(fixture_name, options={}, &block)
|
@@ -13,17 +15,8 @@ module FixtureReplacement
|
|
13
15
|
AttributeBuilder.validate_instances!
|
14
16
|
end
|
15
17
|
|
16
|
-
def
|
17
|
-
chars = ("a".."z").to_a
|
18
|
-
string = ""
|
19
|
-
1.upto(length) { |i| string << chars[rand(chars.size-1)]}
|
20
|
-
string
|
21
|
-
end
|
22
|
-
|
23
|
-
def load_example_data
|
18
|
+
def load!
|
24
19
|
load "#{rails_root}/db/example_data.rb"
|
25
|
-
# rescue NameError
|
26
|
-
# load "./db/example_data.rb"
|
27
20
|
rescue LoadError, NameError
|
28
21
|
# no-op. If the file is not found, don't panic
|
29
22
|
end
|
@@ -38,16 +31,5 @@ module FixtureReplacement
|
|
38
31
|
AttributeBuilder.clear_out_instances!
|
39
32
|
load File.expand_path(File.dirname(__FILE__) + "/../fixture_replacement.rb")
|
40
33
|
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
# Any user defined instance methods need the module's class scope to be
|
45
|
-
# accessible inside the block given to attributes_for
|
46
|
-
#
|
47
|
-
# Addresses bug #16858 (see CHANGELOG)
|
48
|
-
def method_added(method)
|
49
|
-
module_function method if method != :method_added
|
50
|
-
public method
|
51
|
-
end
|
52
34
|
end
|
53
35
|
end
|
@@ -24,14 +24,6 @@ module FixtureReplacement
|
|
24
24
|
define_method("new_#{builder_name}") do |*args|
|
25
25
|
new_object = builder.instantiate(*args)
|
26
26
|
end
|
27
|
-
|
28
|
-
define_method("default_#{builder_name}") do |*args|
|
29
|
-
warning = "default_#{builder_name} has been deprecated. "
|
30
|
-
warning << "Please replace instances of default_#{builder_name} with the new_#{builder_name} method"
|
31
|
-
Kernel.warn(warning)
|
32
|
-
|
33
|
-
__send__ "new_#{builder_name}"
|
34
|
-
end
|
35
27
|
end
|
36
28
|
end
|
37
29
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module FixtureReplacement
|
2
|
+
module RandomDataGenerators
|
3
|
+
def random_string(length=10)
|
4
|
+
chars = ("a".."z").to_a
|
5
|
+
string = ""
|
6
|
+
1.upto(length) { |i| string << chars[rand(chars.size-1)]}
|
7
|
+
string
|
8
|
+
end
|
9
|
+
|
10
|
+
def random_incrementing_number
|
11
|
+
@increment ||= 0
|
12
|
+
@increment += 1
|
13
|
+
@increment
|
14
|
+
end
|
15
|
+
|
16
|
+
def random_email(*args)
|
17
|
+
require 'faker'
|
18
|
+
Faker::Internet.email(*args)
|
19
|
+
end
|
20
|
+
|
21
|
+
def random_first_name
|
22
|
+
require 'faker'
|
23
|
+
Faker::Name.first_name
|
24
|
+
end
|
25
|
+
|
26
|
+
def random_last_name
|
27
|
+
require 'faker'
|
28
|
+
Faker::Name.last_name
|
29
|
+
end
|
30
|
+
|
31
|
+
def random_name
|
32
|
+
require 'faker'
|
33
|
+
Faker::Name.name
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -2,8 +2,8 @@ module FixtureReplacement
|
|
2
2
|
module Version
|
3
3
|
unless defined?(FixtureReplacement::VERSION)
|
4
4
|
MAJOR = 4
|
5
|
-
MINOR =
|
6
|
-
TINY =
|
5
|
+
MINOR = 1
|
6
|
+
TINY = 0
|
7
7
|
|
8
8
|
version_string = "#{MAJOR}.#{MINOR}.#{TINY}"
|
9
9
|
version_string << " RC#{RELEASE_CANDIDATE}" if defined?(RELEASE_CANDIDATE)
|
data/lib/fixture_replacement.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
$LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), "."))
|
2
2
|
load "fixture_replacement/version.rb"
|
3
|
+
load "fixture_replacement/random_data_generators.rb"
|
3
4
|
load "fixture_replacement/class_methods.rb"
|
4
5
|
load "fixture_replacement/attribute_builder.rb"
|
5
6
|
load "fixture_replacement/method_generator.rb"
|
@@ -9,6 +10,7 @@ module FixtureReplacement
|
|
9
10
|
|
10
11
|
include FixtureReplacement::Version
|
11
12
|
extend FixtureReplacement::ClassMethods
|
13
|
+
extend self
|
12
14
|
end
|
13
15
|
|
14
16
|
load "fr.rb"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fixture_replacement
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Taylor
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- lib/fixture_replacement/attribute_builder.rb
|
33
33
|
- lib/fixture_replacement/class_methods.rb
|
34
34
|
- lib/fixture_replacement/method_generator.rb
|
35
|
+
- lib/fixture_replacement/random_data_generators.rb
|
35
36
|
- lib/fixture_replacement/version.rb
|
36
37
|
- lib/fr.rb
|
37
38
|
- philosophy_and_bugs.rdoc
|