nexus_seed 0.2.2 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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