fluent_fixtures 0.6.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +3 -1
- data.tar.gz.sig +0 -0
- data/History.md +45 -0
- data/LICENSE.txt +1 -1
- data/Manifest.txt +0 -1
- data/README.md +13 -9
- data/Rakefile +5 -93
- data/TheSetup.md +39 -0
- data/lib/fluent_fixtures.rb +5 -5
- data/lib/fluent_fixtures/dsl.rb +38 -0
- data/lib/fluent_fixtures/factory.rb +26 -1
- data/spec/fluent_fixtures/collection_spec.rb +1 -1
- data/spec/fluent_fixtures/dsl_spec.rb +57 -3
- data/spec/fluent_fixtures/factory_spec.rb +62 -2
- data/spec/fluent_fixtures_spec.rb +1 -1
- data/spec/spec_helper.rb +10 -3
- metadata +54 -136
- metadata.gz.sig +0 -0
- data/ChangeLog +0 -211
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: eee92bfee49cce7ea83ea5d38280616573319442d803d1fe427510974abd80f9
|
4
|
+
data.tar.gz: cc0c25b2f87b7033b01fdd1c47b83915046f5c782d155c2a91a452491c68c195
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42d8f738f4c4bafdd1a750c3229faee3cb68493a2392420004f09c3f795ebda4e0a54552d358e0d93442af6c52971a2d47a6a79507617a1f17fa3242e1c6b5b6
|
7
|
+
data.tar.gz: 56f682e25e373a04d5426471a3b5c8dea7fc50376f56c9a6a63e44c155955497fe3ecb6d404989769b7f68e1f71f8bcf4b1811dddabc8aaf99f7c450a16a37c1
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
YU�i�w���eO�h���Y�)D�qL|��h��B��(��R��_��2�=�;�?7�|�YZ�b�v5V:�q��p�Fj+
|
2
|
+
Lߗ�<M4OVV�I���Mf|M]����]�45\|=wZ��!�2�:Ӊ"�6AB�0���J����8%
|
3
|
+
����u��(��|.uMǃ�wģ6�7z��mE@�V�����S�y� ��z�s�g�p.����yP�8tw�^>��=�7$U��O84G�=Ɠ��C�'&��Ҋ�U&�,|�lh�A����Z�Q�Y:�b�0iji�w _yŇtK���V��W�ΰ�zg=7�X3J��xq�aR������q7}�`�/�����
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.md
CHANGED
@@ -1,3 +1,48 @@
|
|
1
|
+
# Release History for fluent_fixtures
|
2
|
+
|
3
|
+
---
|
4
|
+
|
5
|
+
## v0.9.0 [2020-11-02] Michael Granger <ged@FaerieMUD.org>
|
6
|
+
|
7
|
+
Improvements:
|
8
|
+
|
9
|
+
- De-hoeify
|
10
|
+
- Update the Sequel example's bundle
|
11
|
+
- Bump Faker version to latest, fix usage
|
12
|
+
- Update for Ruby 2.7
|
13
|
+
- Update project links (bitbucket -> sr.ht)
|
14
|
+
|
15
|
+
Bugfixes:
|
16
|
+
|
17
|
+
- Fix passing keywords as trailing hash
|
18
|
+
|
19
|
+
|
20
|
+
## v0.8.1 [2018-11-20] Michael Granger <ged@FaerieMUD.org>
|
21
|
+
|
22
|
+
Bugfixes:
|
23
|
+
|
24
|
+
- Make dependencies explicit in `additions_for`.
|
25
|
+
This fixes the case where the base fixture is not named the same
|
26
|
+
thing as the file that it is defined in. You can now explicitly
|
27
|
+
depend on another fixture file with the `depends_on` keyword
|
28
|
+
argument to `additions_for`.
|
29
|
+
|
30
|
+
|
31
|
+
## v0.8.0 [2018-08-28] Michael Granger <ged@FaerieMUD.org>
|
32
|
+
|
33
|
+
Enhancements:
|
34
|
+
|
35
|
+
- Add syntax for adding decorators to already-existing fixtures
|
36
|
+
|
37
|
+
|
38
|
+
## v0.7.0 [2018-06-12] Michael Granger <ged@FaerieMUD.org>
|
39
|
+
|
40
|
+
Enhancements:
|
41
|
+
|
42
|
+
- Add composed decorators
|
43
|
+
- Raise a more-informative error when invoking a non-existent fixture.
|
44
|
+
|
45
|
+
|
1
46
|
## v0.6.1 [2017-10-30] Michael Granger <ged@FaerieMUD.org>
|
2
47
|
|
3
48
|
Bugfixes:
|
data/LICENSE.txt
CHANGED
data/Manifest.txt
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# fluent_fixtures
|
2
2
|
|
3
3
|
home
|
4
|
-
:
|
4
|
+
: https://hg.sr.ht/~ged/fluent_fixtures
|
5
5
|
|
6
6
|
code
|
7
|
-
:
|
7
|
+
: https://hg.sr.ht/~ged/fluent_fixtures/browse
|
8
8
|
|
9
9
|
github
|
10
10
|
: https://github.com/ged/fluent_fixtures
|
@@ -23,6 +23,7 @@ To see a walkthrough of how you might set your own fixtures up, check out the [T
|
|
23
23
|
|
24
24
|
If you're already on your way and just want some API docs, [we got those, too](FluentFixtures.html).
|
25
25
|
|
26
|
+
|
26
27
|
## Prerequisites
|
27
28
|
|
28
29
|
* Ruby
|
@@ -36,20 +37,23 @@ If you're already on your way and just want some API docs, [we got those, too](F
|
|
36
37
|
## Contributing
|
37
38
|
|
38
39
|
You can check out the current development source with Mercurial via its
|
39
|
-
[project page][
|
40
|
-
mirror][github].
|
40
|
+
[project page][sr.ht]. Or if you prefer Git, via [its Github mirror][github].
|
41
41
|
|
42
42
|
After checking out the source, run:
|
43
43
|
|
44
|
-
$ rake
|
44
|
+
$ rake setup
|
45
|
+
|
46
|
+
This task will install dependencies, and do any other necessary setup for development.
|
47
|
+
|
48
|
+
|
49
|
+
## Author(s)
|
45
50
|
|
46
|
-
|
47
|
-
and generate the API documentation.
|
51
|
+
* Michael Granger <ged@faeriemud.org>
|
48
52
|
|
49
53
|
|
50
54
|
## License
|
51
55
|
|
52
|
-
Copyright (c) 2016, Michael Granger
|
56
|
+
Copyright (c) 2016-2020, Michael Granger
|
53
57
|
All rights reserved.
|
54
58
|
|
55
59
|
Redistribution and use in source and binary forms, with or without
|
@@ -78,6 +82,6 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
78
82
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
79
83
|
|
80
84
|
|
81
|
-
[
|
85
|
+
[sr.ht]: https://hg.sr.ht/~ged/fluent_fixtures
|
82
86
|
[github]: https://github.com/ged/fluent_fixtures
|
83
87
|
|
data/Rakefile
CHANGED
@@ -1,97 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
|
4
|
-
require 'hoe'
|
5
|
-
rescue LoadError
|
6
|
-
abort "This Rakefile requires hoe (gem install hoe)"
|
7
|
-
end
|
8
|
-
|
9
|
-
GEMSPEC = 'fluent_fixtures.gemspec'
|
10
|
-
|
11
|
-
|
12
|
-
Hoe.plugin :mercurial
|
13
|
-
Hoe.plugin :signing
|
14
|
-
Hoe.plugin :deveiate
|
15
|
-
|
16
|
-
Hoe.plugins.delete :rubyforge
|
17
|
-
|
18
|
-
hoespec = Hoe.spec 'fluent_fixtures' do |spec|
|
19
|
-
spec.readme_file = 'README.md'
|
20
|
-
spec.history_file = 'History.md'
|
21
|
-
spec.extra_rdoc_files = FileList[ '*.rdoc', '*.md' ]
|
22
|
-
spec.license 'BSD-3-Clause'
|
23
|
-
spec.urls = {
|
24
|
-
home: 'http://deveiate.org/projects/fluent_fixtures',
|
25
|
-
code: 'http://bitbucket.org/ged/fluent_fixtures',
|
26
|
-
docs: 'http://deveiate.org/code/fluent_fixtures',
|
27
|
-
github: 'http://github.com/ged/fluent_fixtures',
|
28
|
-
}
|
29
|
-
|
30
|
-
spec.developer 'Michael Granger', 'ged@FaerieMUD.org'
|
31
|
-
|
32
|
-
spec.dependency 'loggability', '~> 0.11'
|
33
|
-
spec.dependency 'inflecto', '~> 0.0'
|
34
|
-
|
35
|
-
spec.dependency 'faker', '~> 1.6', :developer
|
36
|
-
spec.dependency 'hoe-deveiate', '~> 0.3', :developer
|
37
|
-
spec.dependency 'simplecov', '~> 0.12', :developer
|
38
|
-
spec.dependency 'rdoc-generator-fivefish', '~> 0.1', :developer
|
39
|
-
|
40
|
-
spec.require_ruby_version( '>=2.2.0' )
|
41
|
-
spec.hg_sign_tags = true if spec.respond_to?( :hg_sign_tags= )
|
42
|
-
spec.check_history_on_release = true if spec.respond_to?( :check_history_on_release= )
|
43
|
-
|
44
|
-
self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
45
|
-
end
|
4
|
+
require 'rake/deveiate'
|
46
5
|
|
47
6
|
|
48
|
-
|
49
|
-
|
50
|
-
# Run the tests before checking in
|
51
|
-
task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
|
52
|
-
|
53
|
-
task :test => :spec
|
54
|
-
|
55
|
-
# Rebuild the ChangeLog immediately before release
|
56
|
-
task :prerelease => 'ChangeLog'
|
57
|
-
CLOBBER.include( 'ChangeLog' )
|
58
|
-
|
59
|
-
desc "Build a coverage report"
|
60
|
-
task :coverage do
|
61
|
-
ENV["COVERAGE"] = 'yes'
|
62
|
-
Rake::Task[:spec].invoke
|
63
|
-
end
|
64
|
-
CLOBBER.include( 'coverage' )
|
65
|
-
|
66
|
-
|
67
|
-
# Use the fivefish formatter for docs generated from development checkout
|
68
|
-
if File.directory?( '.hg' )
|
69
|
-
require 'rdoc/task'
|
70
|
-
|
71
|
-
Rake::Task[ 'docs' ].clear
|
72
|
-
RDoc::Task.new( 'docs' ) do |rdoc|
|
73
|
-
rdoc.main = "README.md"
|
74
|
-
rdoc.markup = 'markdown'
|
75
|
-
rdoc.rdoc_files.include( "*.md", "ChangeLog", "lib/**/*.rb" )
|
76
|
-
rdoc.generator = :fivefish
|
77
|
-
rdoc.title = 'fluent_fixtures'
|
78
|
-
rdoc.rdoc_dir = 'doc'
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
task :gemspec => GEMSPEC
|
83
|
-
file GEMSPEC => __FILE__
|
84
|
-
task GEMSPEC do |task|
|
85
|
-
spec = $hoespec.spec
|
86
|
-
spec.files.delete( '.gemtest' )
|
87
|
-
spec.signing_key = nil
|
88
|
-
spec.cert_chain = ['certs/ged.pem']
|
89
|
-
spec.version = "#{spec.version}.pre.#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
90
|
-
puts "Spec version is set to: %s" % [ spec.version ]
|
91
|
-
File.open( task.name, 'w' ) do |fh|
|
92
|
-
fh.write( spec.to_ruby )
|
93
|
-
end
|
7
|
+
Rake::DevEiate.setup( 'fluent_fixtures' ) do |project|
|
8
|
+
project.publish_to = 'deveiate:/usr/local/www/public/code'
|
94
9
|
end
|
95
|
-
|
96
|
-
CLOBBER.include( GEMSPEC.to_s )
|
97
|
-
|
data/TheSetup.md
CHANGED
@@ -164,6 +164,45 @@ The block executes in the context of the new object if the `base` block doesn't
|
|
164
164
|
### Hooks
|
165
165
|
|
166
166
|
|
167
|
+
### Extending Other Fixtures
|
168
|
+
|
169
|
+
Sometimes you want a collection of decorators that apply to fixtures declared elsewhere. You can do this to keeps concerns which are separated in the code separate in fixtures which test it, or just to aid in organizing fixtures according to criteria other than their fixtured classes.
|
170
|
+
|
171
|
+
To do this, you can use the `#additions_for` declaration. It takes the name of the fixture you wish to extend as its first argument, and a block that will be evaluated in the context of the target fixture as the second:
|
172
|
+
|
173
|
+
# lib/acme/fixtures/customers.rb
|
174
|
+
require 'faker'
|
175
|
+
|
176
|
+
module Acme::Fixtures::Customers
|
177
|
+
# ...
|
178
|
+
base :customer do
|
179
|
+
self.first_name ||= Faker::Name.first_name
|
180
|
+
self.last_name ||= Faker::Name.last_name
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
|
185
|
+
# lib/acme/fixtures/stripe.rb
|
186
|
+
require 'stripe'
|
187
|
+
|
188
|
+
module Acme::Fixtures::Stripe
|
189
|
+
|
190
|
+
additions_for( :customers ) do
|
191
|
+
decorator :with_stripe_custom_account do
|
192
|
+
acct = Stripe::Account.create({
|
193
|
+
:country => "US",
|
194
|
+
:type => "custom"
|
195
|
+
})
|
196
|
+
self.stripe_id = acct.id
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
end
|
201
|
+
|
202
|
+
user = Acme::Fixtures.customer.with_stripe_custom_account.create
|
203
|
+
user.stripe_id
|
204
|
+
# => "acct_12QkqYGSOD4VcegJ"
|
205
|
+
|
167
206
|
|
168
207
|
## RSpec
|
169
208
|
|
data/lib/fluent_fixtures.rb
CHANGED
@@ -24,19 +24,19 @@ module FluentFixtures
|
|
24
24
|
|
25
25
|
|
26
26
|
# Package version
|
27
|
-
VERSION = '0.
|
27
|
+
VERSION = '0.9.0'
|
28
28
|
|
29
29
|
# Version control revision
|
30
|
-
REVISION = %q$Revision
|
30
|
+
REVISION = %q$Revision$
|
31
31
|
|
32
32
|
|
33
33
|
# Loggability API -- set up a named logger
|
34
34
|
log_as :fluent_fixtures
|
35
35
|
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
37
|
+
autoload :Collection, 'fluent_fixtures/collection'
|
38
|
+
autoload :DSL, 'fluent_fixtures/dsl'
|
39
|
+
autoload :Factory, 'fluent_fixtures/factory'
|
40
40
|
|
41
41
|
end # module FluentFixtures
|
42
42
|
|
data/lib/fluent_fixtures/dsl.rb
CHANGED
@@ -67,6 +67,44 @@ module FluentFixtures::DSL
|
|
67
67
|
end
|
68
68
|
|
69
69
|
|
70
|
+
### Declare a decorator that is composed out of other decorators and an optional
|
71
|
+
### +block+. The first +hash+ pair should be the name of the declared decorator
|
72
|
+
### and the names of the decorator/s it is composed of.
|
73
|
+
###
|
74
|
+
### Example:
|
75
|
+
###
|
76
|
+
### decorator :foo { ... }
|
77
|
+
### decorator :bar { ... }
|
78
|
+
### compose( :simple => :foo ) { ... }
|
79
|
+
### compose( :complex => [:foo, :bar] ) { ... }
|
80
|
+
### compose( :complex_with_args => {foo: [1,2], bar: "Something"} ) { ... }
|
81
|
+
def compose( **hash, &block )
|
82
|
+
name, components = hash.first
|
83
|
+
|
84
|
+
raise ArgumentError, "expected a name and one or more component decorators" unless name
|
85
|
+
unless [Symbol, Array, Hash].include?( components.class )
|
86
|
+
raise ArgumentError, "invalid compose values: expected symbol, array, or hash; got %p" %
|
87
|
+
[ components.class ]
|
88
|
+
end
|
89
|
+
|
90
|
+
options = hash.reject {|k,_| k == name }.merge( prelude: components )
|
91
|
+
block ||= Proc.new {}
|
92
|
+
|
93
|
+
self.decorator( name, **options, &block )
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
### Declare decorators for the +other_fixture+ instead of the current one.
|
98
|
+
def additions_for( other_fixture, depends_on: nil, &block )
|
99
|
+
self.depends_on( depends_on ) if depends_on
|
100
|
+
|
101
|
+
mod = self.collection.modules[ other_fixture ] or
|
102
|
+
raise "no such fixture %p" % [ other_fixture ]
|
103
|
+
|
104
|
+
mod.module_eval( &block )
|
105
|
+
end
|
106
|
+
|
107
|
+
|
70
108
|
### Returns +true+ if there is a decorator with the specified +name+.
|
71
109
|
def decorator?( name )
|
72
110
|
return self.decorators.key?( name.to_sym )
|
@@ -181,11 +181,14 @@ class FluentFixtures::Factory
|
|
181
181
|
### Apply a decorator declared in the fixture module by the given
|
182
182
|
### +decorator_name+ to the specified +instance+.
|
183
183
|
def apply_named_decorator( instance, args, decorator_name )
|
184
|
-
decorator_block = self.fixture_module.decorators[ decorator_name ]
|
184
|
+
decorator_block = self.fixture_module.decorators[ decorator_name ] or
|
185
|
+
raise "non-existent fixture `%s`" % [ decorator_name ]
|
185
186
|
decorator_options = self.fixture_module.decorator_options[ decorator_name ] || {}
|
186
187
|
self.log.debug "Applying decorator %p (%p - %p) to a %p with args: %p" %
|
187
188
|
[ decorator_name, decorator_block, decorator_options, instance.class, args ]
|
188
189
|
|
190
|
+
self.apply_prelude( instance, decorator_options[:prelude] ) if decorator_options[:prelude]
|
191
|
+
|
189
192
|
instance = self.try_to_save( instance ) if decorator_options[:presave]
|
190
193
|
instance.instance_exec( *args, &decorator_block )
|
191
194
|
|
@@ -206,6 +209,28 @@ class FluentFixtures::Factory
|
|
206
209
|
end
|
207
210
|
|
208
211
|
|
212
|
+
### Apply a decorator +prelude+ to the current instance.
|
213
|
+
def apply_prelude( instance, prelude, args=[] )
|
214
|
+
case prelude
|
215
|
+
when Symbol
|
216
|
+
self.log.debug "Applying single prelude decorator: %p" % [ prelude ]
|
217
|
+
self.apply_named_decorator( instance, args, prelude )
|
218
|
+
when Array
|
219
|
+
self.log.debug "Applying multiple prelude decorators: %p" % [ prelude ]
|
220
|
+
prelude.each do |sublude|
|
221
|
+
self.apply_prelude( instance, sublude, args )
|
222
|
+
end
|
223
|
+
when Hash
|
224
|
+
self.log.debug "Applying one or more prelude decorators with args: %p" % [ prelude ]
|
225
|
+
prelude.each do |sublude, args|
|
226
|
+
self.apply_prelude( instance, sublude, args )
|
227
|
+
end
|
228
|
+
else
|
229
|
+
raise ArgumentError, "unhandled prelude type %p" % [ prelude.class ]
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
|
209
234
|
### Look for common transaction mechanisms on the fixtured class, and wrap one of
|
210
235
|
### them around the +block+ if one exists. If no transaction mechanism can be found,
|
211
236
|
### just yield to the block.
|
@@ -6,7 +6,7 @@ require 'fluent_fixtures/dsl'
|
|
6
6
|
require 'faker'
|
7
7
|
|
8
8
|
|
9
|
-
describe FluentFixtures::DSL do
|
9
|
+
RSpec.describe FluentFixtures::DSL do
|
10
10
|
|
11
11
|
let( :collection ) { Module.new {extend FluentFixtures::Collection} }
|
12
12
|
|
@@ -14,11 +14,12 @@ describe FluentFixtures::DSL do
|
|
14
14
|
Class.new do
|
15
15
|
def initialize( params={} )
|
16
16
|
@saved = false
|
17
|
+
@friends = []
|
17
18
|
params.each do |name, value|
|
18
19
|
self.send( "#{name}=", value )
|
19
20
|
end
|
20
21
|
end
|
21
|
-
attr_accessor :name, :login, :email
|
22
|
+
attr_accessor :name, :login, :email, :friends
|
22
23
|
def save; @saved = true; end
|
23
24
|
def saved?; @saved; end
|
24
25
|
def bizarroify
|
@@ -40,7 +41,7 @@ describe FluentFixtures::DSL do
|
|
40
41
|
mod.base( :fixture ) do
|
41
42
|
self.name ||= Faker::Name.name
|
42
43
|
self.login ||= Faker::Internet.user_name
|
43
|
-
self.email ||= Faker::Internet.email( self.login )
|
44
|
+
self.email ||= Faker::Internet.email( name: self.login )
|
44
45
|
end
|
45
46
|
mod
|
46
47
|
end
|
@@ -142,5 +143,58 @@ describe FluentFixtures::DSL do
|
|
142
143
|
end
|
143
144
|
|
144
145
|
|
146
|
+
it "can declare composed decorators" do
|
147
|
+
fixture_module.decorator( :with_first_name ) { self.first_name = 'Mark' }
|
148
|
+
fixture_module.decorator( :with_last_name ) { self.last_name = 'Walberg' }
|
149
|
+
fixture_module.decorator( :with_friends ) do
|
150
|
+
self.friends = [ 'Scott Ross', 'Hector Barros', 'Terry Yancey', 'Anothony Thomas' ]
|
151
|
+
end
|
152
|
+
|
153
|
+
fixture_module.compose( :marky_mark => [:with_first_name, :with_last_name, :with_friends] )
|
154
|
+
|
155
|
+
expect( fixture_module ).to have_decorator( :marky_mark )
|
156
|
+
expect( fixture_module.decorator_options[:marky_mark] ).
|
157
|
+
to include( prelude: [:with_first_name, :with_last_name, :with_friends] )
|
158
|
+
end
|
159
|
+
|
160
|
+
|
161
|
+
it "can extend an existing fixture with more decorators" do
|
162
|
+
collection.modules[ :tyrant ] = fixture_module
|
163
|
+
|
164
|
+
mod = Module.new do
|
165
|
+
def self::name ; "FixtureAdditionTests"; end
|
166
|
+
end
|
167
|
+
|
168
|
+
mod.extend( collection )
|
169
|
+
mod.additions_for( :tyrant ) do
|
170
|
+
decorator :despotic do
|
171
|
+
self.authority = :absolute
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
expect( fixture_module ).to have_decorator( :despotic )
|
176
|
+
end
|
177
|
+
|
178
|
+
|
179
|
+
it "can add a dependency via an extension" do
|
180
|
+
expect( collection ).to receive( :load ) do |*args|
|
181
|
+
expect( args ).to eq([ :tyrants ])
|
182
|
+
collection.modules[ :tyrant ] = fixture_module
|
183
|
+
end
|
184
|
+
|
185
|
+
mod = Module.new do
|
186
|
+
def self::name ; "FixtureAdditionTests"; end
|
187
|
+
end
|
188
|
+
|
189
|
+
mod.extend( collection )
|
190
|
+
mod.additions_for( :tyrant, depends_on: :tyrants ) do
|
191
|
+
decorator :despotic do
|
192
|
+
self.authority = :absolute
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
expect( fixture_module ).to have_decorator( :despotic )
|
197
|
+
end
|
198
|
+
|
145
199
|
end
|
146
200
|
|
@@ -6,7 +6,7 @@ require 'faker'
|
|
6
6
|
require 'fluent_fixtures/factory'
|
7
7
|
|
8
8
|
|
9
|
-
describe FluentFixtures::Factory do
|
9
|
+
RSpec.describe FluentFixtures::Factory do
|
10
10
|
|
11
11
|
let( :collection ) { Module.new {extend FluentFixtures::Collection} }
|
12
12
|
|
@@ -52,7 +52,7 @@ describe FluentFixtures::Factory do
|
|
52
52
|
mod.base( :fixture ) do
|
53
53
|
self.name ||= Faker::Name.name
|
54
54
|
self.login ||= Faker::Internet.user_name
|
55
|
-
self.email ||= Faker::Internet.email( self.login )
|
55
|
+
self.email ||= Faker::Internet.email( name: self.login )
|
56
56
|
end
|
57
57
|
mod
|
58
58
|
end
|
@@ -403,5 +403,65 @@ describe FluentFixtures::Factory do
|
|
403
403
|
|
404
404
|
end
|
405
405
|
|
406
|
+
|
407
|
+
describe "composed decorators" do
|
408
|
+
|
409
|
+
it "applies a single-decorator prelude before running" do
|
410
|
+
fixture_module.decorator( :with_anonymized_email ) { self.email = 'xxx@xxx.xxx' }
|
411
|
+
fixture_module.decorator( :with_anonymized_login ) { self.login = 'xxxxxxx' }
|
412
|
+
fixture_module.compose( :anonymized => :with_anonymized_email ) do
|
413
|
+
self.name = 'Xxxx Xxxxxxxxx'
|
414
|
+
end
|
415
|
+
|
416
|
+
object = factory.anonymized.instance
|
417
|
+
|
418
|
+
expect( object.name ).to eq( 'Xxxx Xxxxxxxxx' )
|
419
|
+
expect( object.email ).to eq( 'xxx@xxx.xxx' )
|
420
|
+
expect( object.login ).to_not eq( 'xxxxxxx' )
|
421
|
+
end
|
422
|
+
|
423
|
+
|
424
|
+
it "applies a multi-decorator prelude before running" do
|
425
|
+
fixture_module.decorator( :with_anonymized_email ) { self.email = 'xxx@xxx.xxx' }
|
426
|
+
fixture_module.decorator( :with_anonymized_login ) { self.login = 'xxxxxxx' }
|
427
|
+
fixture_module.compose( :anonymized => [:with_anonymized_email, :with_anonymized_login] ) do
|
428
|
+
self.name = 'Xxxx Xxxxxxxxx'
|
429
|
+
end
|
430
|
+
|
431
|
+
object = factory.anonymized.instance
|
432
|
+
|
433
|
+
expect( object.name ).to eq( 'Xxxx Xxxxxxxxx' )
|
434
|
+
expect( object.email ).to eq( 'xxx@xxx.xxx' )
|
435
|
+
expect( object.login ).to eq( 'xxxxxxx' )
|
436
|
+
end
|
437
|
+
|
438
|
+
|
439
|
+
it "applies a decorator prelude with arguments before running" do
|
440
|
+
fixture_module.decorator( :with_anonymized_email ) do |base_email='xxx@xxxx.com'|
|
441
|
+
self.email = base_email.gsub(/\w/, 'x')
|
442
|
+
end
|
443
|
+
fixture_module.compose( :anonymized => {with_anonymized_email: 'thomas.dalton@example.com'} ) do
|
444
|
+
self.name = 'Xxxx Xxxxxxxxx'
|
445
|
+
end
|
446
|
+
|
447
|
+
object = factory.anonymized.instance
|
448
|
+
|
449
|
+
expect( object.name ).to eq( 'Xxxx Xxxxxxxxx' )
|
450
|
+
expect( object.email ).to eq( 'xxxxxx.xxxxxx@xxxxxxx.xxx' )
|
451
|
+
end
|
452
|
+
|
453
|
+
|
454
|
+
it "raises a useful error if composed from a non-existent fixture" do
|
455
|
+
fixture_module.compose( :anonymized => :with_anonymized_email ) do
|
456
|
+
self.name = 'Xxxx Xxxxxxxxx'
|
457
|
+
end
|
458
|
+
|
459
|
+
expect {
|
460
|
+
factory.anonymized.instance
|
461
|
+
}.to raise_error( /non-existent fixture `with_anonymized_email`/i )
|
462
|
+
end
|
463
|
+
|
464
|
+
end
|
465
|
+
|
406
466
|
end
|
407
467
|
|
data/spec/spec_helper.rb
CHANGED
@@ -10,13 +10,20 @@ require 'loggability/spechelpers'
|
|
10
10
|
|
11
11
|
### Mock with RSpec
|
12
12
|
RSpec.configure do |config|
|
13
|
-
config.run_all_when_everything_filtered = true
|
14
|
-
config.filter_run :focus
|
15
|
-
config.order = 'random'
|
16
13
|
config.mock_with( :rspec ) do |mock|
|
17
14
|
mock.syntax = :expect
|
18
15
|
end
|
19
16
|
|
17
|
+
config.disable_monkey_patching!
|
18
|
+
config.example_status_persistence_file_path = "spec/.status"
|
19
|
+
config.filter_run :focus
|
20
|
+
config.filter_run_when_matching :focus
|
21
|
+
config.order = :random
|
22
|
+
config.profile_examples = 5
|
23
|
+
config.run_all_when_everything_filtered = true
|
24
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
25
|
+
config.warnings = true
|
26
|
+
|
20
27
|
config.include( Loggability::SpecHelpers )
|
21
28
|
end
|
22
29
|
|
metadata
CHANGED
@@ -1,56 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent_fixtures
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
+
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
X0qdrKi+2aZZ0NGuFj9AItBsVmAvkBGIpX4TEKQp5haEbPpmaqO5nIIhV26PXmyT
|
36
|
-
OMKv6pWsoS81vw5KAGBmfX8nht/Py90DQrbRvakATGI=
|
13
|
+
MIID+DCCAmCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
|
14
|
+
REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEyMjQyMDE5NTFaFw0yMDEyMjMyMDE5
|
15
|
+
NTFaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
|
16
|
+
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
|
17
|
+
L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
|
18
|
+
M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
|
19
|
+
5PU2AEbf04GGSrmqADGWXeaslaoRdb1fu/0M5qfPTRn5V39sWD9umuDAF9qqil/x
|
20
|
+
Sl6phTvgBrG8GExHbNZpLARd3xrBYLEFsX7RvBn2UPfgsrtvpdXjsHGfpT3IPN+B
|
21
|
+
vQ66lts4alKC69TE5cuKasWBm+16A4aEe3XdZBRNmtOu/g81gvwA7fkJHKllJuaI
|
22
|
+
dXzdHqq+zbGZVSQ7pRYHYomD0IiDe1DbIouFnPWmagaBnGHwXkDT2bKKP+s2v21m
|
23
|
+
ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
|
24
|
+
N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYD
|
25
|
+
VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DANBgkqhkiG
|
26
|
+
9w0BAQsFAAOCAYEAifxlz7x0EfT3fjhM520ZEIrWa+tLMuLKNefkY18u8tZnx4EX
|
27
|
+
Xxwh3tna3fvNfrOrdY5leIj1dbv4FTRg+gIBnIxAySqvpGvI/Axg5EdYbwninCLL
|
28
|
+
LAKCmRo+5QwaPMYN2zdHIjGrp8jg1neCo5zy6tVvyTv0DMI6FLrydVJYduMMDFSy
|
29
|
+
gQKR1rVOcCJtnBnLCF9+kKEUKohAHOmGsE7OBZFnjMIpH5yUDUVJKByv0gIipFt0
|
30
|
+
1T6zff6oVU0w8WBiNKR381+6sF3wIZVnVY0XeJg6hNL+YecE8ILxLhHTmtT/BO0S
|
31
|
+
3xPze9uXDR+iD6HYl8KU5QEg/dXFPhfQb512vVkTJDZvMcwu6PxDUjHFChLjAji/
|
32
|
+
AZXjg1C5E9znTkeUR8ieU9F1MOKoiH57a5lYSTI8Ga8PpsNXTxNeXc16Ob26CqrJ
|
33
|
+
83uuAYSy65yXDGXXPVBeKPVnYrqp91pqpS5Nh7wfuiCrE8lgU8PATh7K4BV1UhAT
|
34
|
+
0MHbAT42wTYkfUj3
|
37
35
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
36
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
39
37
|
dependencies:
|
40
38
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
39
|
+
name: faker
|
42
40
|
requirement: !ruby/object:Gem::Requirement
|
43
41
|
requirements:
|
44
42
|
- - "~>"
|
45
43
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
44
|
+
version: '2.14'
|
47
45
|
type: :runtime
|
48
46
|
prerelease: false
|
49
47
|
version_requirements: !ruby/object:Gem::Requirement
|
50
48
|
requirements:
|
51
49
|
- - "~>"
|
52
50
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
51
|
+
version: '2.14'
|
54
52
|
- !ruby/object:Gem::Dependency
|
55
53
|
name: inflecto
|
56
54
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,140 +64,58 @@ dependencies:
|
|
66
64
|
- !ruby/object:Gem::Version
|
67
65
|
version: '0.0'
|
68
66
|
- !ruby/object:Gem::Dependency
|
69
|
-
name:
|
70
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '1.4'
|
75
|
-
type: :development
|
76
|
-
prerelease: false
|
77
|
-
version_requirements: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '1.4'
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: hoe-deveiate
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0.9'
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0.9'
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: hoe-highline
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0.2'
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0.2'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: faker
|
67
|
+
name: loggability
|
112
68
|
requirement: !ruby/object:Gem::Requirement
|
113
69
|
requirements:
|
114
70
|
- - "~>"
|
115
71
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
117
|
-
type: :
|
72
|
+
version: '0.17'
|
73
|
+
type: :runtime
|
118
74
|
prerelease: false
|
119
75
|
version_requirements: !ruby/object:Gem::Requirement
|
120
76
|
requirements:
|
121
77
|
- - "~>"
|
122
78
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
79
|
+
version: '0.17'
|
124
80
|
- !ruby/object:Gem::Dependency
|
125
|
-
name:
|
81
|
+
name: rake-deveiate
|
126
82
|
requirement: !ruby/object:Gem::Requirement
|
127
83
|
requirements:
|
128
84
|
- - "~>"
|
129
85
|
- !ruby/object:Gem::Version
|
130
|
-
version: '0.
|
86
|
+
version: '0.15'
|
131
87
|
type: :development
|
132
88
|
prerelease: false
|
133
89
|
version_requirements: !ruby/object:Gem::Requirement
|
134
90
|
requirements:
|
135
91
|
- - "~>"
|
136
92
|
- !ruby/object:Gem::Version
|
137
|
-
version: '0.
|
93
|
+
version: '0.15'
|
138
94
|
- !ruby/object:Gem::Dependency
|
139
95
|
name: rdoc-generator-fivefish
|
140
96
|
requirement: !ruby/object:Gem::Requirement
|
141
97
|
requirements:
|
142
98
|
- - "~>"
|
143
99
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0.
|
145
|
-
type: :development
|
146
|
-
prerelease: false
|
147
|
-
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0.1'
|
152
|
-
- !ruby/object:Gem::Dependency
|
153
|
-
name: rdoc
|
154
|
-
requirement: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '4.0'
|
159
|
-
type: :development
|
160
|
-
prerelease: false
|
161
|
-
version_requirements: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '4.0'
|
166
|
-
- !ruby/object:Gem::Dependency
|
167
|
-
name: hoe
|
168
|
-
requirement: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '3.16'
|
100
|
+
version: '0.4'
|
173
101
|
type: :development
|
174
102
|
prerelease: false
|
175
103
|
version_requirements: !ruby/object:Gem::Requirement
|
176
104
|
requirements:
|
177
105
|
- - "~>"
|
178
106
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
180
|
-
description:
|
181
|
-
|
182
|
-
|
183
|
-
It allows testers to describe test data via composition rather than setting up fragile monolithic datasets.
|
184
|
-
|
185
|
-
To see a walkthrough of how you might set your own fixtures up, check out the [The Setup](TheSetup_md.html).
|
186
|
-
|
187
|
-
If you're already on your way and just want some API docs, [we got those, too](FluentFixtures.html).
|
107
|
+
version: '0.4'
|
108
|
+
description: FluentFixtures is a toolkit for building testing objects with a fluent
|
109
|
+
interface.
|
188
110
|
email:
|
189
|
-
- ged@
|
111
|
+
- ged@faeriemud.org
|
190
112
|
executables: []
|
191
113
|
extensions: []
|
192
|
-
extra_rdoc_files:
|
193
|
-
- History.md
|
194
|
-
- LICENSE.txt
|
195
|
-
- Manifest.txt
|
196
|
-
- README.md
|
197
|
-
- TheSetup.md
|
114
|
+
extra_rdoc_files: []
|
198
115
|
files:
|
199
116
|
- ".document"
|
200
117
|
- ".rdoc_options"
|
201
118
|
- ".simplecov"
|
202
|
-
- ChangeLog
|
203
119
|
- History.md
|
204
120
|
- LICENSE.txt
|
205
121
|
- Manifest.txt
|
@@ -215,30 +131,32 @@ files:
|
|
215
131
|
- spec/fluent_fixtures/factory_spec.rb
|
216
132
|
- spec/fluent_fixtures_spec.rb
|
217
133
|
- spec/spec_helper.rb
|
218
|
-
homepage:
|
134
|
+
homepage: https://hg.sr.ht/~ged/fluent_fixtures
|
219
135
|
licenses:
|
220
136
|
- BSD-3-Clause
|
221
|
-
metadata:
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
137
|
+
metadata:
|
138
|
+
homepage_uri: https://hg.sr.ht/~ged/fluent_fixtures
|
139
|
+
documentation_uri: http://deveiate.org/code/fluent_fixtures
|
140
|
+
changelog_uri: http://deveiate.org/code/fluent_fixtures/History_md.html
|
141
|
+
source_uri: https://hg.sr.ht/~ged/fluent_fixtures/browse
|
142
|
+
bug_tracker_uri: https://todo.sr.ht/~ged/fluent_fixtures/browse
|
143
|
+
post_install_message:
|
144
|
+
rdoc_options: []
|
226
145
|
require_paths:
|
227
146
|
- lib
|
228
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
229
148
|
requirements:
|
230
149
|
- - ">="
|
231
150
|
- !ruby/object:Gem::Version
|
232
|
-
version:
|
151
|
+
version: '0'
|
233
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
153
|
requirements:
|
235
154
|
- - ">="
|
236
155
|
- !ruby/object:Gem::Version
|
237
156
|
version: '0'
|
238
157
|
requirements: []
|
239
|
-
|
240
|
-
|
241
|
-
signing_key:
|
158
|
+
rubygems_version: 3.1.2
|
159
|
+
signing_key:
|
242
160
|
specification_version: 4
|
243
|
-
summary: FluentFixtures is a toolkit for building testing objects with a fluent interface
|
161
|
+
summary: FluentFixtures is a toolkit for building testing objects with a fluent interface.
|
244
162
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|
data/ChangeLog
DELETED
@@ -1,211 +0,0 @@
|
|
1
|
-
2017-06-26 Michael Granger <ged@FaerieMUD.org>
|
2
|
-
|
3
|
-
* README.md, lib/fluent_fixtures.rb,
|
4
|
-
lib/fluent_fixtures/collection.rb:
|
5
|
-
Start work on better docs
|
6
|
-
[9f00baf84bb2] [tip]
|
7
|
-
|
8
|
-
2017-05-15 Michael Granger <ged@FaerieMUD.org>
|
9
|
-
|
10
|
-
* .hgtags:
|
11
|
-
Added tag v0.5.0 for changeset a6a7c1070f6d
|
12
|
-
[b8576e389b5e]
|
13
|
-
|
14
|
-
* .hgsigs:
|
15
|
-
Added signature for changeset ed67198925b5
|
16
|
-
[a6a7c1070f6d] [v0.5.0]
|
17
|
-
|
18
|
-
* History.md, lib/fluent_fixtures.rb:
|
19
|
-
Bump the minor version, update history.
|
20
|
-
[ed67198925b5]
|
21
|
-
|
22
|
-
2017-05-12 Michael Granger <ged@FaerieMUD.org>
|
23
|
-
|
24
|
-
* lib/fluent_fixtures/collection.rb, lib/fluent_fixtures/dsl.rb,
|
25
|
-
lib/fluent_fixtures/factory.rb,
|
26
|
-
spec/fluent_fixtures/collection_spec.rb,
|
27
|
-
spec/fluent_fixtures/dsl_spec.rb,
|
28
|
-
spec/fluent_fixtures/factory_spec.rb:
|
29
|
-
Add a `presave` option for decorators that need a saved instance.
|
30
|
-
[d4160c6c04e0] [github/master]
|
31
|
-
|
32
|
-
2016-12-13 Michael Granger <ged@FaerieMUD.org>
|
33
|
-
|
34
|
-
* .hgtags:
|
35
|
-
Added tag v0.4.0 for changeset c40d3bf82a13
|
36
|
-
[f2a8c07ad5c0]
|
37
|
-
|
38
|
-
* .hgsigs:
|
39
|
-
Added signature for changeset 08f17f26d0cb
|
40
|
-
[c40d3bf82a13] [v0.4.0]
|
41
|
-
|
42
|
-
* History.md, lib/fluent_fixtures.rb:
|
43
|
-
Bumping the minor version, update history.
|
44
|
-
[08f17f26d0cb]
|
45
|
-
|
46
|
-
* fluent_fixtures.gemspec, lib/fluent_fixtures/dsl.rb,
|
47
|
-
spec/fluent_fixtures/dsl_spec.rb:
|
48
|
-
Added syntactic sugar for loading dependent fixtures.
|
49
|
-
[76eda4f07dab]
|
50
|
-
|
51
|
-
* .gems, Rakefile:
|
52
|
-
Update simplecov dependency
|
53
|
-
[323862c0cf01]
|
54
|
-
|
55
|
-
2016-11-26 Michael Granger <ged@FaerieMUD.org>
|
56
|
-
|
57
|
-
* .hgtags:
|
58
|
-
Added tag v0.3.0 for changeset e544333544cd
|
59
|
-
[85277035e13e]
|
60
|
-
|
61
|
-
* .hgsigs:
|
62
|
-
Added signature for changeset 5b362f519048
|
63
|
-
[e544333544cd] [v0.3.0]
|
64
|
-
|
65
|
-
* History.md, lib/fluent_fixtures.rb:
|
66
|
-
Bump the minor version, update history.
|
67
|
-
[5b362f519048]
|
68
|
-
|
69
|
-
* lib/fluent_fixtures/factory.rb,
|
70
|
-
spec/fluent_fixtures/factory_spec.rb:
|
71
|
-
Make the factory Enumerable and add a #generator method.
|
72
|
-
[4726dd9edf86]
|
73
|
-
|
74
|
-
2016-10-28 Michael Granger <ged@FaerieMUD.org>
|
75
|
-
|
76
|
-
* .hgtags:
|
77
|
-
Added tag v0.2.0 for changeset f79d1cd08ad6
|
78
|
-
[5b146c864a81]
|
79
|
-
|
80
|
-
* .hgsigs:
|
81
|
-
Added signature for changeset bde330b02946
|
82
|
-
[f79d1cd08ad6] [v0.2.0]
|
83
|
-
|
84
|
-
* History.md, lib/fluent_fixtures.rb:
|
85
|
-
Bump the minor version, update history.
|
86
|
-
[bde330b02946]
|
87
|
-
|
88
|
-
* lib/fluent_fixtures/factory.rb,
|
89
|
-
spec/fluent_fixtures/factory_spec.rb:
|
90
|
-
Fix the way #create and #instance handle their arguments.
|
91
|
-
[94fff76f0a8e]
|
92
|
-
|
93
|
-
* .hgignore:
|
94
|
-
Ignore the pkg/ directory
|
95
|
-
[f4e96804d322]
|
96
|
-
|
97
|
-
* examples/sequel_model/acme_fixtures.rb:
|
98
|
-
Make some examples read a bit more clearly
|
99
|
-
[78c923459cc5]
|
100
|
-
|
101
|
-
* .hgtags:
|
102
|
-
Added tag v0.1.0 for changeset 0b4ecbd00a8f
|
103
|
-
[9cfa00bbea21]
|
104
|
-
|
105
|
-
* .hgsigs:
|
106
|
-
Added signature for changeset c6eb79628953
|
107
|
-
[0b4ecbd00a8f] [v0.1.0]
|
108
|
-
|
109
|
-
* History.md, lib/fluent_fixtures.rb:
|
110
|
-
Bump the minor version, update history.
|
111
|
-
[c6eb79628953]
|
112
|
-
|
113
|
-
* .gems, Manifest.txt, lib/fluent_fixtures/dsl.rb,
|
114
|
-
lib/fluent_fixtures/factory.rb,
|
115
|
-
spec/fluent_fixtures/collection_spec.rb,
|
116
|
-
spec/fluent_fixtures/dsl_spec.rb,
|
117
|
-
spec/fluent_fixtures/factory_spec.rb:
|
118
|
-
Add an after-save hook and a declaration for it.
|
119
|
-
[45426c7cbfd8]
|
120
|
-
|
121
|
-
* certs/ged.pem:
|
122
|
-
Update gem cert to the latest one
|
123
|
-
[f3b80f1dca30]
|
124
|
-
|
125
|
-
* GettingStarted.md, README.md, TheSetup.md:
|
126
|
-
Add some more documentation work
|
127
|
-
[9428d297d024]
|
128
|
-
|
129
|
-
2016-10-20 Michael Granger <ged@FaerieMUD.org>
|
130
|
-
|
131
|
-
* examples/acme_fixtures.rb, examples/lib/acme.rb,
|
132
|
-
examples/lib/acme/base.rb, examples/lib/acme/fixtures.rb,
|
133
|
-
examples/lib/acme/fixtures/groups.rb,
|
134
|
-
examples/lib/acme/fixtures/users.rb, examples/lib/acme/group.rb,
|
135
|
-
examples/lib/acme/user.rb, examples/nodb/acme_fixtures.rb,
|
136
|
-
examples/nodb/lib/acme.rb, examples/nodb/lib/acme/base.rb,
|
137
|
-
examples/nodb/lib/acme/fixtures.rb,
|
138
|
-
examples/nodb/lib/acme/fixtures/groups.rb,
|
139
|
-
examples/nodb/lib/acme/fixtures/users.rb,
|
140
|
-
examples/nodb/lib/acme/group.rb, examples/nodb/lib/acme/user.rb,
|
141
|
-
examples/sequel_model/.pryrc, examples/sequel_model/Gemfile,
|
142
|
-
examples/sequel_model/Gemfile.lock,
|
143
|
-
examples/sequel_model/acme_fixtures.rb,
|
144
|
-
examples/sequel_model/lib/acme.rb,
|
145
|
-
examples/sequel_model/lib/acme/customer.rb,
|
146
|
-
examples/sequel_model/lib/acme/fixtures.rb,
|
147
|
-
examples/sequel_model/lib/acme/fixtures/customers.rb,
|
148
|
-
examples/sequel_model/lib/acme/fixtures/order_items.rb,
|
149
|
-
examples/sequel_model/lib/acme/fixtures/orders.rb,
|
150
|
-
examples/sequel_model/lib/acme/order.rb,
|
151
|
-
examples/sequel_model/lib/acme/order_item.rb,
|
152
|
-
examples/sequel_model/migrations/1_schema.rb:
|
153
|
-
Split examples into per-backend directories
|
154
|
-
[49d76036d758]
|
155
|
-
|
156
|
-
2016-06-01 Michael Granger <ged@FaerieMUD.org>
|
157
|
-
|
158
|
-
* .hgtags:
|
159
|
-
Added tag v0.0.2 for changeset f13e6d1aa624
|
160
|
-
[9c56821be4a9]
|
161
|
-
|
162
|
-
* .hgsigs:
|
163
|
-
Added signature for changeset e500071dd9c0
|
164
|
-
[f13e6d1aa624] [v0.0.2]
|
165
|
-
|
166
|
-
* History.md, lib/fluent_fixtures.rb:
|
167
|
-
Bump the patch version, update history.
|
168
|
-
[e500071dd9c0]
|
169
|
-
|
170
|
-
* Rakefile, fluent_fixtures.gemspec:
|
171
|
-
Remove the release failsafe from the Rakefile
|
172
|
-
[61698db3838e]
|
173
|
-
|
174
|
-
* .hgtags:
|
175
|
-
Added tag v0.0.1 for changeset cd547b1e30a8
|
176
|
-
[e26dbd686588]
|
177
|
-
|
178
|
-
* .hgsigs:
|
179
|
-
Added signature for changeset 588b8ccc042c
|
180
|
-
[cd547b1e30a8] [v0.0.1]
|
181
|
-
|
182
|
-
* History.md:
|
183
|
-
Update history
|
184
|
-
[588b8ccc042c]
|
185
|
-
|
186
|
-
* .hgignore, .hoerc, ChangeLog, Manifest.txt, fluent_fixtures.gemspec,
|
187
|
-
lib/fluent_fixtures/dsl.rb, lib/fluent_fixtures/factory.rb:
|
188
|
-
Clean up the manifest a bit.
|
189
|
-
[41b90ff8e6d0]
|
190
|
-
|
191
|
-
* .editorconfig, .hgignore, ChangeLog, GettingStarted.md, README.md,
|
192
|
-
Rakefile, examples/acme_fixtures.rb, examples/lib/acme.rb,
|
193
|
-
examples/lib/acme/base.rb, examples/lib/acme/fixtures.rb,
|
194
|
-
examples/lib/acme/fixtures/groups.rb,
|
195
|
-
examples/lib/acme/fixtures/users.rb, examples/lib/acme/group.rb,
|
196
|
-
examples/lib/acme/user.rb:
|
197
|
-
Add the start of examples and a "Getting Started" guide
|
198
|
-
[2230db2a4a5a]
|
199
|
-
|
200
|
-
* .document, .editorconfig, .gems, .gitignore, .hgignore, .pryrc,
|
201
|
-
.rdoc_options, .ruby-gemset, .ruby-version, .simplecov, Gemfile,
|
202
|
-
History.md, LICENSE.txt, Manifest.txt, README.md, Rakefile,
|
203
|
-
certs/ged.pem, fluent_fixtures.gemspec, lib/fluent_fixtures.rb,
|
204
|
-
lib/fluent_fixtures/collection.rb, lib/fluent_fixtures/dsl.rb,
|
205
|
-
lib/fluent_fixtures/factory.rb,
|
206
|
-
spec/fluent_fixtures/collection_spec.rb,
|
207
|
-
spec/fluent_fixtures/dsl_spec.rb,
|
208
|
-
spec/fluent_fixtures/factory_spec.rb, spec/fluent_fixtures_spec.rb,
|
209
|
-
spec/spec_helper.rb:
|
210
|
-
Initial import
|
211
|
-
[76c036a3676b]
|