Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/atech/extensions/seeds.rb,
lib/atech/extensions/active_record.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.concerned_with(*concerns) ⇒ Object

 Add a shortcut for adding a dependency for a model



5
6
7
8
9
# File 'lib/atech/extensions/active_record.rb', line 5

def self.concerned_with(*concerns)
  concerns.each do |concern|
    require_dependency "#{name.underscore}/#{concern}"
  end
end

.seedable?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
35
# File 'lib/atech/extensions/seeds.rb', line 25

def self.seedable?
  actual_count = self.count.to_i
  return (actual_count == 0) unless Rails.env.development?
  if actual_count == 0
    puts "\e[33;44madding #{self.name.to_s} objects\e[0m"
    true
  else
    puts "\e[33mskipping #{self.name.to_s} (#{actual_count} objects already exist)\e[0m"
    false
  end
end

Instance Method Details

#destroy(*args) ⇒ Object



20
21
22
23
# File 'lib/atech/extensions/seeds.rb', line 20

def destroy(*args)
  puts "\e[31mdestroyed\e[0m #{self.class.name} ##{self.id}"
  super(*args)
end

#save(options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/atech/extensions/seeds.rb', line 8

def save(options = {})
  return super(options) unless Rails.env.development?
  
  unless super(options)
    puts "\e[31m#{self.inspect}"
    puts "#{self.errors.inspect}\e[0m"
    Process.exit(1)
  else
    puts "\e[32mcreated\e[0m #{self.class.name} ##{self.id}"
  end
end