Module: SuspiciousLogin::Generators::OrmHelpers

Included in:
ActiveRecord::Generators::SuspiciousLoginGenerator
Defined in:
lib/generators/suspicious_login/orm_helpers.rb

Instance Method Summary collapse

Instance Method Details

#append_devise_module(devise_content, module_name) ⇒ Object



31
32
33
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 31

def append_devise_module(devise_content, module_name)
 (devise_content.blank? || devise_content.include?(module_name.to_s)) ? devise_content : devise_content + ", :#{module_name.to_s}"
end

#devise_module_exists?(devise_content, module_name) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 27

def devise_module_exists?(devise_content, module_name)
  devise_content.include?(module_name)
end

#force_gsub_file(path, flag, *args, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 4

def force_gsub_file(path, flag, *args, &block)
  config = args.last.is_a?(Hash) ? args.pop : {}

  path = File.expand_path(path, destination_root)
  say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true)

  unless options[:pretend]
    content = File.binread(path)
    content.gsub!(flag, *args, &block)
    File.open(path, "wb") { |file| file.write(content) }
  end
end

#migration_exists?(table_name) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 39

def migration_exists?(table_name)
  Dir.glob("#{File.join(destination_root, migration_path)}/[0-9]*_*.rb").grep(/\d+_add_devise_suspicious_login_to_#{table_name}.rb$/).first
end

#migration_pathObject



43
44
45
46
47
48
49
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 43

def migration_path
  if Rails.version >= '5.0.3'
    db_migrate_path
  else
    @migration_path ||= File.join("db", "migrate")
  end
end

#missing_modules(devise_content) ⇒ Object



21
22
23
24
25
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 21

def missing_modules(devise_content)
  missing_modules = []
  required_devise_modules.each { |mod| missing_modules << mod unless devise_content&.include?(mod.to_s)}
  missing_modules
end

#model_exists?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 35

def model_exists?
  File.exist?(File.join(destination_root, model_path))
end

#model_pathObject



51
52
53
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 51

def model_path
  @model_path ||= File.join("app", "models", "#{file_path}.rb")
end

#required_devise_modulesObject



17
18
19
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 17

def required_devise_modules
  [:trackable, :recoverable, :suspicious_login]
end