dibber 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODFiZTE4ZmRiMjBkNmU1M2NlNDA5NTczMzRmMDZmNWQ3YTljNjZkZQ==
5
- data.tar.gz: !binary |-
6
- ZmFkYWQ1NzkxM2NjMDVmMGExYTJhMTBkOTJmZTZkNTljODAwYzdjZA==
2
+ SHA1:
3
+ metadata.gz: df49d47736e3cf6e58a22a2b84d77e76912c8d32
4
+ data.tar.gz: 03277a6b8d5f532f6ba343bfba8dc71a789785ee
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MWI4OGUyZjMxNTU2NTQzZTNhOGU3ZDM5OTY0Yjk0ZjEwOWMzNTYzOTQ5N2U1
10
- MjIwNTc3MzUxMmZjZTM2ZTlhOWUxZGJkY2U5MmU4Mjc4OWFkY2MxMTVmNjU4
11
- ZGMzNDFkNThjYTgwYzBkZmE0YmNiMjBkNzNjMDJmNjM0ZmQ2N2Y=
12
- data.tar.gz: !binary |-
13
- NmJmYTM5NjM0ZWYzNmM1MDBmMGFlMmY3ZGUwY2UyYmFhMWM2OTc1ZTFhYzU4
14
- OGNlYjJhMDViMDhlNDdjY2RhYzYwODZiODRmYjExYWEyZjBjOGFlOTJlOWMy
15
- YWZiYWIyOTZiMmFiMzZhMmE2MWZhNzIyYTJjMjZjOGExN2RhNDI=
6
+ metadata.gz: 330909b6d4fe39385438b0eda1984c7f1f9571cae69eeba9732bd0927ae9d027ea0f4a6b7fa6324991d446158f89373235bf34c3685f92097cf41e50e0eb4f0f
7
+ data.tar.gz: 627b1582b890c6721a35f969c15c338372b1f96aa445e48af4ff4f3a12f9d56690a088557a5034c1c2ba44a32c5f0e7da6a59dbb9dbcffe9ce8235f5fcfd7619
data/README.rdoc CHANGED
@@ -21,9 +21,9 @@ Add this to your Gemfile:
21
21
 
22
22
  === Rails Examples
23
23
 
24
- You have a rails app with a Thing model, and you want to seed it with some
25
- things. Thing instances have the attributes 'name', 'colour', 'size'.
26
- You have a YAML file 'db/seeds/things.yml' that looks like this:
24
+ You have a rails app with a `Thing` model, and you want to seed it with some
25
+ things. `Thing` instances have the attributes `name`, `colour`, `size`.
26
+ You have a YAML file `db/seeds/things.yml` that looks like this:
27
27
 
28
28
  foo:
29
29
  colour: red
@@ -36,42 +36,32 @@ You have a YAML file 'db/seeds/things.yml' that looks like this:
36
36
  Add this to your 'db/seeds.rb'
37
37
 
38
38
  Seeder = Dibber::Seeder
39
- Seeder.seed :thing
39
+ Seeder.seed Thing
40
40
  puts Seeder.report
41
41
 
42
- Then run 'rake db:seed'
42
+ Then run `rake db:seed`
43
43
 
44
- Seeder will create two new things.
44
+ Seeder will create two new things.
45
45
 
46
46
  You'll then be able to do this:
47
47
 
48
- thing = Thing.find_by_name(:foo)
48
+ thing = Thing.find_by(name: 'foo')
49
49
  thing.colour ---> 'red'
50
50
 
51
- === Outside Rails
51
+ == Report
52
52
 
53
- Dibber can be used outside of Rails, but in this case you will need to
54
- specify the location of the seed files.
55
-
56
- Seeder.seeds_path = "some/path/to/seeds"
57
-
58
- You can also use this technique in Rails if you want to put your seed files
59
- in an alternative folder to 'db/seeds'
60
-
61
- == Report
62
-
63
53
  Seeder.report outputs a report detailing start and end time, and a log of how
64
54
  the number of things has changed
65
55
 
66
56
  == Overwriting existing entries
67
57
 
68
- Seeder#build will not overwrite existing data unless directed to do so.
58
+ Seeder#build will not overwrite existing data unless directed to do so.
69
59
 
70
60
  thing.update_attribute(:colour, 'black')
71
61
  Seeder.seed :thing
72
62
  thing.reload.colour ----> 'black'
73
63
 
74
- Seeder.seed(:thing, :overwrite => true)
64
+ Seeder.seed(:thing, overwrite: true)
75
65
  thing.reload.colour ----> 'red'
76
66
 
77
67
 
@@ -83,6 +73,16 @@ the class name:
83
73
 
84
74
  Seeder.new(Thing, 'other_things.yml').build
85
75
 
76
+ == Outside Rails
77
+
78
+ Dibber can be used outside of Rails, but in this case you will need to
79
+ specify the location of the seed files.
80
+
81
+ Seeder.seeds_path = "some/path/to/seeds"
82
+
83
+ You can also use this technique in Rails if you want to put your seed files
84
+ in a folder other than 'db/seeds'
85
+
86
86
  == More examples
87
87
 
88
88
  Take a look at test/examples/seeds.rb for some more usage examples.
data/Rakefile CHANGED
@@ -14,6 +14,10 @@ Rake::RDocTask.new do |rdoc|
14
14
  rdoc.options << '--line-numbers'
15
15
  end
16
16
 
17
- Rake::TestTask.new do |t|
17
+ Rake::TestTask.new(:test) do |t|
18
+ t.libs << "test"
19
+ t.libs << "lib"
18
20
  t.test_files = FileList['test/**/*_test.rb']
19
21
  end
22
+
23
+ task :default => :test
data/lib/dibber/seeder.rb CHANGED
@@ -5,44 +5,50 @@ module Dibber
5
5
  class Seeder
6
6
  attr_accessor :klass, :file, :attribute_method, :name_method, :overwrite
7
7
 
8
- def self.seed(name, args = {})
9
- class_name = name.to_s.strip.classify
10
- new_klass = (/\A\w+(::\w+)+\Z/ =~ class_name) ? eval(class_name) : Kernel.const_get(class_name)
11
- new_file = "#{name.to_s.pluralize}.yml"
12
- new(new_klass, new_file, args).build
13
- end
8
+ class << self
9
+
10
+ def seed(klass, args = {})
11
+ if klass.kind_of?(String) || klass.kind_of?(Symbol)
12
+ name = klass.to_s
13
+ class_name = klass.to_s.strip.classify
14
+ klass = Kernel.const_get(class_name)
15
+ else
16
+ name = klass.to_s.underscore
17
+ end
18
+ new_file = "#{name.pluralize}.yml"
19
+ new(klass, new_file, args).build
20
+ end
14
21
 
15
- def self.process_log
16
- @process_log || start_process_log
17
- end
22
+ def process_log
23
+ @process_log ||= start_process_log
24
+ end
18
25
 
19
- def self.start_process_log
20
- @process_log = ProcessLog.new
21
- @process_log.start :time, 'Time.now.strftime("%Y-%b-%d %H:%M:%S.%3N %z")'
22
- return @process_log
23
- end
26
+ def clear_process_log
27
+ @process_log = nil
28
+ end
24
29
 
25
- def self.report
26
- process_log.report + error_report
27
- end
30
+ def report
31
+ process_log.report + error_report
32
+ end
28
33
 
29
- def self.monitor(klass)
30
- log_name = klass.to_s.tableize.to_sym
31
- unless process_log.exists?(log_name)
32
- process_log.start(log_name, "#{klass}.count")
34
+ def monitor(klass)
35
+ log_name = klass.to_s.tableize.to_sym
36
+ unless process_log.exists?(log_name)
37
+ process_log.start(log_name, "#{klass}.count")
38
+ end
33
39
  end
34
- end
35
40
 
36
- def self.objects_from(file)
37
- YAML.load_file("#{seeds_path}#{file}")
38
- end
41
+ def objects_from(file)
42
+ YAML.load_file("#{seeds_path}#{file}")
43
+ end
39
44
 
40
- def self.seeds_path
41
- @seeds_path || try_to_guess_seeds_path || raise_no_seeds_path_error
42
- end
45
+ def seeds_path
46
+ @seeds_path || try_to_guess_seeds_path || raise_no_seeds_path_error
47
+ end
43
48
 
44
- def self.seeds_path=(path)
45
- @seeds_path = add_trailing_slash_to(path)
49
+ def seeds_path=(path)
50
+ @seeds_path = add_trailing_slash_to(path)
51
+ end
46
52
  end
47
53
 
48
54
  def initialize(klass, file, args = {})
@@ -60,7 +66,7 @@ module Dibber
60
66
  objects.each do |name, attributes|
61
67
  object = find_or_initialize_by(name)
62
68
  if overwrite or object.new_record?
63
- object.send("#{attribute_method}=", attributes)
69
+ object.send("#{attribute_method}=", attributes)
64
70
  unless object.save
65
71
  self.class.errors << object.errors
66
72
  end
@@ -86,14 +92,20 @@ module Dibber
86
92
  end
87
93
 
88
94
  private
95
+ def self.start_process_log
96
+ process_log = ProcessLog.new
97
+ process_log.start :time, 'Time.now.strftime("%Y-%b-%d %H:%M:%S.%3N %z")'
98
+ return process_log
99
+ end
100
+
89
101
  def self.raise_no_seeds_path_error
90
102
  raise "You must set the path to your seed files via Seeder.seeds_path = 'path/to/seed/files'"
91
103
  end
92
-
104
+
93
105
  def check_objects_exist
94
106
  raise "No objects returned from file: #{self.class.seeds_path}#{file}" unless objects
95
107
  end
96
-
108
+
97
109
  def find_or_initialize_by(name)
98
110
  if klass.exists?(name_method_sym => name)
99
111
  klass.where(name_method_sym => name).first
@@ -101,7 +113,7 @@ module Dibber
101
113
  klass.new(name_method_sym => name)
102
114
  end
103
115
  end
104
-
116
+
105
117
  def name_method_sym
106
118
  name_method.to_sym
107
119
  end
@@ -1,12 +1,15 @@
1
1
  module Dibber
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
4
4
 
5
5
  # History
6
6
  # =======
7
+ # 0.5.0 Allow the `Seeder.seed` method to take a Class or the string/symbol
8
+ # representation of the class name.
9
+ #
7
10
  # 0.4.0 Removes dependency on find_or_initialize_by_name type ActiveRecord
8
11
  # dynamic methods that are no longer supported in Rails
9
- #
12
+ #
10
13
  # 0.3.1 Adds error messages when object save fails
11
14
  #
12
15
  # 0.3.0 Adds seed method
@@ -19,11 +22,11 @@ end
19
22
  #
20
23
  # 0.2.1 Fixes bug in overwrite code
21
24
  # System was not correctly identifying when an object was a new record
22
- #
25
+ #
23
26
  # 0.2.0 Stops overwriting existing entries unless explicitly directed to
24
27
  # Now need to specify :overwrite => true when creating a new Seeder if
25
28
  # existing entries are to be overwritten.
26
- #
29
+ #
27
30
  # 0.1.1 Working version
28
31
  # No History before this point
29
32
  #
@@ -0,0 +1,4 @@
1
+ module Foo
2
+ class Bar < NotQuiteActiveRecord
3
+ end
4
+ end
@@ -1,13 +1,10 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'../..','lib')
2
-
3
- require 'test/unit'
1
+ require 'test_helper'
4
2
  require 'dibber'
5
3
 
6
4
  module Dibber
7
- class ProcessLogTest < Test::Unit::TestCase
5
+ class ProcessLogTest < Minitest::Test
8
6
  def setup
9
7
  @process_log = ProcessLog.new
10
-
11
8
  end
12
9
 
13
10
  def test_one
@@ -1,12 +1,10 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'../..','lib')
2
-
3
- require 'test/unit'
4
- require 'dibber'
1
+ require 'test_helper'
5
2
  require_relative 'thing'
3
+ require_relative 'foo/bar'
6
4
 
7
5
  module Dibber
8
6
 
9
- class SeederTest < Test::Unit::TestCase
7
+ class SeederTest < Minitest::Test
10
8
 
11
9
  def setup
12
10
  Seeder.seeds_path = File.join(File.dirname(__FILE__), 'seeds')
@@ -14,6 +12,7 @@ module Dibber
14
12
 
15
13
  def teardown
16
14
  Thing.clear_all
15
+ Foo::Bar.clear_all
17
16
  end
18
17
 
19
18
  def test_process_log
@@ -31,8 +30,15 @@ module Dibber
31
30
  end
32
31
 
33
32
  def test_monitor
33
+ Seeder.clear_process_log
34
34
  Seeder.monitor(Thing)
35
- assert_equal({:command => 'Thing.count', :start => Thing.count}, Seeder.process_log.raw[:things])
35
+ assert_equal({command: 'Thing.count', start: Thing.count}, Seeder.process_log.raw[:things])
36
+ end
37
+
38
+ def test_clear_process_log
39
+ test_monitor
40
+ Seeder.clear_process_log
41
+ assert_equal(nil, Seeder.process_log.raw[:things])
36
42
  end
37
43
 
38
44
  def test_seeds_path
@@ -56,7 +62,7 @@ module Dibber
56
62
 
57
63
  def test_build_with_no_objects
58
64
  thing_seeder = Seeder.new(Thing, 'empty.yml')
59
- assert_raise RuntimeError do
65
+ assert_raises RuntimeError do
60
66
  thing_seeder.build
61
67
  end
62
68
  end
@@ -142,21 +148,71 @@ module Dibber
142
148
  end
143
149
 
144
150
  def test_seed_with_non_existent_class
145
- assert_raise NameError do
151
+ assert_raises NameError do
146
152
  Seeder.seed(:non_existent_class)
147
153
  end
148
154
  end
149
155
 
150
156
  def test_seed_with_non_existent_seed_file
151
157
  no_file_found_error = Errno::ENOENT
152
- assert_raise no_file_found_error do
158
+ assert_raises no_file_found_error do
153
159
  Seeder.seed(:array)
154
160
  end
155
161
  end
156
162
 
163
+ def test_seed_with_sub_class_string
164
+ assert_equal(0, Foo::Bar.count)
165
+ Seeder.seed('foo/bar')
166
+ assert_equal(1, Foo::Bar.count)
167
+ bar = Foo::Bar.find_or_initialize_by(name: :some)
168
+ assert_equal([bar], Foo::Bar.saved)
169
+ assert_equal({'title' => 'thing'}, bar.attributes)
170
+ end
171
+
172
+ def test_seed_with_class
173
+ assert_equal(0, Thing.count)
174
+ Seeder.seed(Thing)
175
+ assert_equal(2, Thing.count)
176
+ foo = Thing.find_or_initialize_by(name: :foo)
177
+ bar = Thing.find_or_initialize_by(name: :bar)
178
+ assert_equal([foo, bar], Thing.saved)
179
+ assert_equal({'title' => 'one'}, foo.attributes)
180
+ end
181
+
182
+ def test_seed_with_class_with_alternative_name_method
183
+ Seeder.seed(Thing, :name_method => 'other_method')
184
+ assert_equal(2, Thing.count)
185
+ foo = Thing.find_or_initialize_by(other_method: :foo)
186
+ bar = Thing.find_or_initialize_by(other_method: :bar)
187
+ assert_equal([foo, bar], Thing.saved)
188
+ assert_equal({'title' => 'one'}, foo.attributes)
189
+ end
190
+
191
+ def test_seed_with_class_that_does_not_exist
192
+ assert_raises NameError do
193
+ Seeder.seed(NonExistentClass)
194
+ end
195
+ end
196
+
197
+ def test_seed_with_class_with_non_existent_seed_file
198
+ no_file_found_error = Errno::ENOENT
199
+ assert_raises no_file_found_error do
200
+ Seeder.seed(Array)
201
+ end
202
+ end
203
+
204
+ def test_seed_with_sub_class
205
+ assert_equal(0, Foo::Bar.count)
206
+ Seeder.seed(Foo::Bar)
207
+ assert_equal(1, Foo::Bar.count)
208
+ bar = Foo::Bar.find_or_initialize_by(name: :some)
209
+ assert_equal([bar], Foo::Bar.saved)
210
+ assert_equal({'title' => 'thing'}, bar.attributes)
211
+ end
212
+
157
213
  def test_seeds_path_with_none_set
158
214
  Seeder.seeds_path = nil
159
- assert_raise RuntimeError do
215
+ assert_raises RuntimeError do
160
216
  Seeder.seeds_path
161
217
  end
162
218
  end
@@ -0,0 +1,2 @@
1
+ some:
2
+ title: thing
@@ -1,22 +1,20 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'../..','lib')
2
-
3
- require 'test/unit'
1
+ require 'test_helper'
4
2
  require_relative 'thing'
5
3
 
6
4
  module Dibber
7
5
 
8
- class ThingTest < Test::Unit::TestCase
9
-
6
+ class ThingTest < Minitest::Test
7
+
10
8
  def teardown
11
9
  Thing.clear_all
12
10
  end
13
-
11
+
14
12
  def test_find_or_initialize_by_name
15
13
  @name = 'foo'
16
14
  @thing = Thing.find_or_initialize_by(name: @name)
17
15
  assert_equal(@name, @thing.name)
18
16
  end
19
-
17
+
20
18
  def test_find_or_initialize_by_name_with_symbol
21
19
  test_find_or_initialize_by_name
22
20
  assert_equal(1, Thing.count)
@@ -24,33 +22,33 @@ module Dibber
24
22
  assert_equal(1, Thing.count)
25
23
  assert_equal('foo', thing.name)
26
24
  end
27
-
25
+
28
26
  def test_find_or_initialize_by_name_when_thing_exists
29
27
  test_find_or_initialize_by_name
30
28
  test_find_or_initialize_by_name
31
29
  assert_equal(1, Thing.count)
32
30
  end
33
-
31
+
34
32
  def test_count
35
33
  assert_equal(0, Thing.count)
36
34
  Thing.find_or_initialize_by(name: :thing_for_count_test)
37
35
  assert_equal(1, Thing.count)
38
36
  end
39
-
37
+
40
38
  def test_attributes
41
39
  stuff = %w{this that}
42
40
  test_find_or_initialize_by_name
43
41
  @thing.attributes = stuff
44
42
  assert_equal(stuff, @thing.attributes)
45
43
  end
46
-
44
+
47
45
  def test_other_method
48
46
  stuff = %w{come home mother}
49
47
  test_find_or_initialize_by_name
50
48
  @thing.other_method = stuff
51
49
  assert_equal(stuff, @thing.other_method)
52
50
  end
53
-
51
+
54
52
  def test_save_and_saved
55
53
  thing = Thing.find_or_initialize_by(name: :thing_for_save_test)
56
54
  assert !Thing.saved.include?(thing), 'saved things should not include thing'
@@ -59,23 +57,23 @@ module Dibber
59
57
  thing.save
60
58
  assert_equal(1, Thing.saved.select{|t| t == thing}.length)
61
59
  end
62
-
60
+
63
61
  def test_clear
64
62
  test_find_or_initialize_by_name
65
63
  @thing.save
66
- assert_not_equal(0, Thing.count)
67
- assert_not_equal([], Thing.saved)
64
+ refute_equal(0, Thing.count)
65
+ refute_equal([], Thing.saved)
68
66
  Thing.clear_all
69
67
  assert_equal(0, Thing.count)
70
68
  assert_equal([], Thing.saved)
71
69
  end
72
-
70
+
73
71
  def test_find_or_initialize_by_other_method
74
72
  thing = Thing.find_or_initialize_by(other_method: :something)
75
73
  assert_nil(thing.name)
76
74
  assert_equal('something', thing.other_method)
77
75
  end
78
-
76
+
79
77
  end
80
78
 
81
79
  end
@@ -9,11 +9,11 @@ Seeder = Dibber::Seeder
9
9
  # Set up the path to seed YAML files
10
10
  Seeder.seeds_path = File.expand_path('seeds', File.dirname(__FILE__))
11
11
 
12
- # Example 1. Seeder is used to monitor the process
12
+ # Example 1. Seeder is used to monitor the process
13
13
  # and grab the attributes from the YAML file
14
14
  Seeder.monitor Borough
15
15
  Seeder.objects_from("boroughs.yml").each do |holder, borough|
16
- Borough.find_or_create_by_name(borough)
16
+ Borough.find_or_initialize_by(name: borough).save
17
17
  end
18
18
 
19
19
  # Example 2. Seeder is only used to monitor the process
@@ -21,15 +21,15 @@ Seeder.monitor AdminUser
21
21
  admin_email = 'admin@undervale.co.uk'
22
22
  password = 'change_me'
23
23
  AdminUser.create!(
24
- :email => admin_email,
25
- :password => password,
26
- :password_confirmation => password
27
- ) unless AdminUser.exists?(:email => admin_email)
28
-
29
- # Example 3. Seeder grabs the attributes from the YAML and builds a
30
- # set of Fee objects with those attributes (or updates them if
31
- # they already exist).
32
- # Note that the build process defaults to using a 'name' field to store
24
+ email: admin_email,
25
+ password: password,
26
+ password_confirmation: password
27
+ ) unless AdminUser.exists?(email: admin_email)
28
+
29
+ # Example 3. Seeder grabs the attributes from the YAML and builds a
30
+ # set of Fee objects with those attributes (or updates them if
31
+ # they already exist).
32
+ # Note that the build process defaults to using a 'name' field to store
33
33
  # the root key.
34
34
  Seeder.new(Fee, 'fees.yml').build
35
35
 
@@ -38,7 +38,10 @@ Seeder.new(Fee, 'fees.yml', :name_method => :title).build
38
38
 
39
39
  # Example 5. If the seed file's name is the lower case plural of the class name
40
40
  # you can use the seed method:
41
- Seeder.seed(:fee)
41
+ Seeder.seed :fee
42
+
43
+ # Alternatively pass in the class:
44
+ Seeder.seed Fee
42
45
 
43
46
  # Example 6. Seeder working with a name-spaced object
44
47
  Seeder.new(Disclaimer::Document, 'disclaimer/documents.yml').build
@@ -46,7 +49,10 @@ Seeder.new(Disclaimer::Document, 'disclaimer/documents.yml').build
46
49
  # Example 7. You can also use the seed method with name-spaced objects.
47
50
  # In this case the seed files need to be in a name-spaced path (see previous
48
51
  # example)
49
- Seeder.seed('disclaimer/document')
52
+ Seeder.seed 'disclaimer/document'
53
+
54
+ # or if you prefer to pass in the class:
55
+ Seeder.seed Disclaimer::Document
50
56
 
51
57
  # Example 8. Seeder using values in the yaml file to set a single field
52
58
  Seeder.seed(:category, 'description')
@@ -54,8 +60,8 @@ Seeder.seed(:category, 'description')
54
60
  # Example 9. Seeder using alternative name and attributes fields
55
61
  Seeder.seed(
56
62
  :category,
57
- :name_method => :title,
58
- :attributes_method => :description
63
+ name_method: :title,
64
+ attributes_method: :description
59
65
  )
60
66
 
61
67
  # Example 10. You can also access Seeders attached process log, and set up a
@@ -0,0 +1,10 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
2
+ require 'dibber'
3
+
4
+ require 'minitest/autorun'
5
+
6
+ class Minitest::Test
7
+ # require 'active_support/testing/assertions'
8
+ # include ActiveSupport::Testing::Assertions
9
+
10
+ end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dibber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Nichols
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: active_support
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
27
41
  description: Packages up code needed to pull data from YAML files when seeding, and
28
42
  adds a process log.
29
43
  email:
@@ -39,9 +53,11 @@ files:
39
53
  - lib/dibber/process_log.rb
40
54
  - lib/dibber/seeder.rb
41
55
  - lib/dibber/version.rb
56
+ - test/dibber/foo/bar.rb
42
57
  - test/dibber/process_log_test.rb
43
58
  - test/dibber/seeder_test.rb
44
59
  - test/dibber/seeds/empty.yml
60
+ - test/dibber/seeds/foo/bars.yml
45
61
  - test/dibber/seeds/things.yml
46
62
  - test/dibber/thing.rb
47
63
  - test/dibber/thing_test.rb
@@ -57,6 +73,7 @@ files:
57
73
  - test/examples/seeds/disclaimer/documents.yml
58
74
  - test/examples/seeds/fees.yml
59
75
  - test/not_quite_active_record.rb
76
+ - test/test_helper.rb
60
77
  homepage: https://github.com/reggieb/Dibber
61
78
  licenses:
62
79
  - MIT-LICENSE
@@ -67,36 +84,39 @@ require_paths:
67
84
  - lib
68
85
  required_ruby_version: !ruby/object:Gem::Requirement
69
86
  requirements:
70
- - - ! '>='
87
+ - - ">="
71
88
  - !ruby/object:Gem::Version
72
89
  version: '0'
73
90
  required_rubygems_version: !ruby/object:Gem::Requirement
74
91
  requirements:
75
- - - ! '>='
92
+ - - ">="
76
93
  - !ruby/object:Gem::Version
77
94
  version: '0'
78
95
  requirements: []
79
96
  rubyforge_project:
80
- rubygems_version: 2.2.2
97
+ rubygems_version: 2.4.8
81
98
  signing_key:
82
99
  specification_version: 4
83
100
  summary: Tool for seeding database from YAML.
84
101
  test_files:
85
- - test/examples/models/admin_user.rb
102
+ - test/dibber/foo/bar.rb
103
+ - test/dibber/seeder_test.rb
104
+ - test/dibber/thing.rb
105
+ - test/dibber/process_log_test.rb
106
+ - test/dibber/seeds/foo/bars.yml
107
+ - test/dibber/seeds/things.yml
108
+ - test/dibber/seeds/empty.yml
109
+ - test/dibber/thing_test.rb
110
+ - test/examples/seeds.rb
111
+ - test/examples/models/borough.rb
86
112
  - test/examples/models/disclaimer.rb
87
- - test/examples/models/fee.rb
88
113
  - test/examples/models/category.rb
89
- - test/examples/models/borough.rb
90
- - test/examples/seeds/categories.yml
114
+ - test/examples/models/fee.rb
115
+ - test/examples/models/admin_user.rb
91
116
  - test/examples/seeds/fees.yml
117
+ - test/examples/seeds/categories.yml
92
118
  - test/examples/seeds/disclaimer/documents.yml
93
119
  - test/examples/seeds/boroughs.yml
94
- - test/examples/seeds.rb
95
120
  - test/examples/process_logs.rb
96
121
  - test/not_quite_active_record.rb
97
- - test/dibber/seeder_test.rb
98
- - test/dibber/thing_test.rb
99
- - test/dibber/seeds/empty.yml
100
- - test/dibber/seeds/things.yml
101
- - test/dibber/thing.rb
102
- - test/dibber/process_log_test.rb
122
+ - test/test_helper.rb