nexus_seed 0.2.2 → 0.2.4

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
  SHA256:
3
- metadata.gz: a012eef395a297f8d3b65a52bab58b7b62d40adddb980184e2560306ba4735a4
4
- data.tar.gz: 2696a317e4ac4f124b1ad30f7d45d9b82f0397ee49321ac32c1cb5912a9d8a46
3
+ metadata.gz: 936025124e216f8a89748901685b47b16924ef8e36309700d76f8a065416fc27
4
+ data.tar.gz: a753c4960123ccc4cbbf7e29e839a93c9c27bbe2b8f2735aae49f7d744e36cf4
5
5
  SHA512:
6
- metadata.gz: 5e779de6e869ae7903a5aae85b0f7e2261e04a9f5a420430cf2ca31ab192e622306ca0d46064ebc65b93b88a1ac32760cb7a75c313dd6ac99311a8659610bb82
7
- data.tar.gz: 3ab831a9c73f7c42dab47b5eee630840d48333716534e601bb01cfce89ae18ef08c2e08a0dd444d947406db5bf05e85f4852451b0a6a79381c6e0605acb2ed78
6
+ metadata.gz: f1dd0fa68eed7eb2449fd1abcdead0b51d087ffbc782dd900c889925a55d4d59a614cd00703e60a8846d4fd1b0d6f21a1fbe348ad2f6e5a1432193e8171e4e92
7
+ data.tar.gz: 188afd7d7cf54e8a7590fc72d37d6e437a4e80abe3bf0ef86f36ea9611ca0d56f26d116fc8b4123830a062caad4c99aac1217615543e1acbf4284dcb2b067414
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ module NexusSeed
3
+ class Base < ActiveRecord::Base
4
+ def self.transaction(**options, &block)
5
+ super
6
+
7
+ NexusSeed::Builder.seed_report
8
+
9
+ if ENV['destroy_seeds']
10
+ NexusSeed::Builder.destroy_seeds
11
+ end
12
+ end
13
+ end
14
+ end
@@ -64,11 +64,11 @@ module NexusSeed
64
64
  after_save(result, params)
65
65
  end
66
66
 
67
- def before_save(instance, params = nil)
67
+ def before_save(instance, _params = nil)
68
68
  instance
69
69
  end
70
70
 
71
- def after_save(instance, params = nil)
71
+ def after_save(instance, _params = nil)
72
72
  instance
73
73
  end
74
74
 
@@ -5,6 +5,7 @@ module NexusSeed
5
5
  @counts = {}
6
6
  @start = Time.now
7
7
  @seeds = []
8
+ @logger = Logger.new(STDOUT)
8
9
 
9
10
  def self.build_called
10
11
  @build_called
@@ -23,22 +24,22 @@ module NexusSeed
23
24
  if ENV['seed_report']
24
25
  total = 0
25
26
 
26
- pp('SEED REPORT:')
27
+ @logger.info('SEED REPORT:')
27
28
  NexusSeed::Builders.constants.select do |c|
28
29
  NexusSeed::Builders.const_get(c).is_a?(Class)
29
30
  k = NexusSeed::Builders.const_get(c).new.send(:klass)
30
31
  if @counts[k.name.demodulize] != k.count
31
32
  total += (k.count - @counts[k.name.demodulize])
32
- pp("Generated #{k.count - @counts[k.name.demodulize]} new #{k.name.demodulize}s")
33
+ @logger.info("Generated #{k.count - @counts[k.name.demodulize]} new #{k.name.demodulize}s")
33
34
  end
34
35
  end
35
36
 
36
- pp("Generated total of #{total} new seeds.")
37
+ @logger.info("Generated total of #{total} new seeds.")
37
38
  else
38
- pp('Seeding completed.')
39
+ @logger.info('Seeding completed.')
39
40
  end
40
41
 
41
- pp("Time: #{(Time.now-@start).round(2)}s")
42
+ @logger.info("Time: #{(Time.now - @start).round(2)}s")
42
43
  end
43
44
 
44
45
  def self.add_seed(seed)
@@ -46,12 +47,14 @@ module NexusSeed
46
47
  end
47
48
 
48
49
  def self.destroy_seeds
49
- count = 0
50
- @seeds.reverse.each do |seed|
51
- count += 1
52
- seed.destroy
50
+ if Rails.env.test? || Rails.env.development?
51
+ count = 0
52
+ @seeds.reverse.each do |seed|
53
+ count += 1
54
+ seed.destroy
55
+ end
56
+ @logger.info("Destroyed #{count} seeds (including dependants). All seeds deleted.")
53
57
  end
54
- pp("Destroyed #{count} seeds (including dependants). All seeds deleted.")
55
58
  end
56
59
 
57
60
  def self.pre_seed_counts
@@ -69,6 +72,5 @@ module NexusSeed
69
72
  end
70
73
 
71
74
  module Builders
72
-
73
75
  end
74
76
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module NexusSeed
3
- # Leave this as 0.2.2 in order for CI process to replace with the tagged version.
4
- VERSION = '0.2.2'
3
+ # Leave this as 0.2.4 in order for CI process to replace with the tagged version.
4
+ VERSION = '0.2.4'
5
5
  end
data/lib/nexus_seed.rb CHANGED
@@ -3,13 +3,14 @@ require 'nexus_seed'
3
3
  require 'nexus_seed/builder/base'
4
4
  Dir["/app/db/nexus_seed/builders/*.rb"].each { |file| require file }
5
5
  require 'nexus_seed/builder'
6
+ require 'nexus_seed/base'
6
7
 
7
8
  module NexusSeed
8
9
  # defaults
9
- @@retry_limit = 0
10
- @@sleep_interval = 5
11
- @@retries = 0
12
- @@logger = SemanticLogger::Logger.new('NexusSeed')
10
+ @retry_limit = 0
11
+ @sleep_interval = 5
12
+ @retries = 0
13
+ @logger = SemanticLogger::Logger.new('NexusSeed')
13
14
 
14
15
  # override this method with your specific requirement
15
16
  def requires
@@ -52,36 +53,36 @@ module NexusSeed
52
53
 
53
54
  # retry limit
54
55
  def retries
55
- @@retries
56
+ @retries
56
57
  end
57
58
 
58
59
  # sleep interval
59
60
  def sleep_interval
60
- @@sleep_interval
61
+ @sleep_interval
61
62
  end
62
63
 
63
64
  # retry limit
64
65
  def retry_limit
65
- @@retry_limit
66
+ @retry_limit
66
67
  end
67
68
 
68
69
  def retry_limit=(limit)
69
- @@retry_limit = limit
70
+ @retry_limit = limit
70
71
  end
71
72
 
72
73
  def sleep_interval=(seconds)
73
74
  # nope
74
75
  return if seconds.to_i == 0
75
76
 
76
- @@sleep_interval = seconds
77
+ @sleep_interval = seconds
77
78
  end
78
79
 
79
80
  def retries=(retries)
80
- @@retries = retries
81
+ @retries = retries
81
82
  end
82
83
 
83
84
  def logger
84
- @@logger
85
+ @logger
85
86
  end
86
87
 
87
88
  def task_options(opts = {})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexus_seed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johnathon Harris
@@ -36,6 +36,7 @@ files:
36
36
  - Gemfile
37
37
  - README.md
38
38
  - lib/nexus_seed.rb
39
+ - lib/nexus_seed/base.rb
39
40
  - lib/nexus_seed/builder.rb
40
41
  - lib/nexus_seed/builder/base.rb
41
42
  - lib/nexus_seed/version.rb