class LinkedRails::ModelGenerator
Public Instance Methods
copy_files()
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 19 def copy_files # rubocop:disable Metrics/AbcSize template 'action_list.rb', File.join('app', 'actions', class_path, "#{file_name}_action_list.rb") template 'controller.rb', File.join('app', 'controllers', class_path, "#{plural_file_name}_controller.rb") template 'form.rb', File.join('app', 'forms', class_path, "#{file_name}_form.rb") template 'menu_list.rb', File.join('app', 'menus', class_path, "#{file_name}_menu_list.rb") template 'policy.rb', File.join('app', 'policies', class_path, "#{file_name}_policy.rb") template 'serializer.rb', File.join('app', 'serializers', class_path, "#{file_name}_serializer.rb") end
create_migration_file()
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 10 def create_migration_file # rubocop:disable Metrics/AbcSize return unless options[:migration] && options[:parent].nil? if options[:indexes] == false attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } end migration_template 'create_table_migration.rb', File.join(db_migrate_path, "create_#{table_name}.rb") end
insert_route()
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 28 def insert_route after = after_sorted_match(routes_path, /linked_resource\((\w+\))/) opts = after ? {after: after} : {before: 'end'} inject_into_file(routes_path, routes_line, opts) end
Private Instance Methods
after_sorted_match(file, matcher, name = class_name)
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 37 def after_sorted_match(file, matcher, name = class_name) after = nil File.open(file).each do |line| match = line.match(matcher) after = line if match.try(:[], 1).present? && match[1] <= name end return if after == name after end
routes_line()
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 50 def routes_line " linked_resource(#{class_name})\n" end
routes_path()
click to toggle source
# File lib/generators/linked_rails/model/model_generator.rb, line 54 def routes_path File.join('config', 'routes.rb') end