class DeviseInvalidatableGenerator
Public Class Methods
next_migration_number(dirname)
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 17 def self.next_migration_number(dirname) if ActiveRecord::Base.timestamped_migrations Time.now.utc.strftime('%Y%m%d%H%M%S') else '%.3d' % (current_migration_number(dirname) + 1) end end
source_root()
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 13 def self.source_root @_devise_source_root ||= File.expand_path('../templates', __FILE__) end
Public Instance Methods
generate()
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 25 def generate if options['mongoid'] create_session_model else create_migration_file end inject_devise_directives_into_model end
Private Instance Methods
create_migration_file()
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 37 def create_migration_file migration_template 'migration.rb', 'db/migrate/devise_create_user_sessions.rb' end
create_session_model()
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 41 def create_session_model model_path = File.join('app', 'models', 'user_session.rb') template('user_session.rb', model_path) end
inject_devise_directives_into_model()
click to toggle source
# File lib/generators/devise_invalidatable/devise_invalidatable_generator.rb, line 46 def inject_devise_directives_into_model model_path = File.join('app', 'models', "#{file_path}.rb") class_path = namespaced? ? class_name.to_s.split('::') : [class_name] indent_depth = class_path.size content = ['devise :invalidatable'] content = content.map { |line| ' ' * indent_depth + line }.join("\n") << "\n" inject_into_class(model_path, class_path.last, content) end