Module: SuspiciousLogin::Generators::OrmHelpers
- Included in:
- ActiveRecord::Generators::SuspiciousLoginGenerator
- Defined in:
- lib/generators/suspicious_login/orm_helpers.rb
Instance Method Summary collapse
- #append_devise_module(devise_content, module_name) ⇒ Object
- #devise_module_exists?(devise_content, module_name) ⇒ Boolean
- #force_gsub_file(path, flag, *args, &block) ⇒ Object
- #migration_exists?(table_name) ⇒ Boolean
- #migration_path ⇒ Object
- #missing_modules(devise_content) ⇒ Object
- #model_exists? ⇒ Boolean
- #model_path ⇒ Object
- #required_devise_modules ⇒ Object
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
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.(path, destination_root) say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true) unless [: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
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_path ⇒ Object
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
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_path ⇒ Object
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_modules ⇒ Object
17 18 19 |
# File 'lib/generators/suspicious_login/orm_helpers.rb', line 17 def required_devise_modules [:trackable, :recoverable, :suspicious_login] end |