Sha256: b660ab7ac7f4794b5e72a28c81644ef26521299ccf963eed6b46237d2cbeb1f9

Contents?: true

Size: 1.76 KB

Versions: 35

Compression:

Stored size: 1.76 KB

Contents

# Mostly pinched from http://github.com/ryanb/nifty-generators/tree/master
Rails::Generator::Commands::Base.class_eval do
  def file_contains?(relative_destination, line)
    File.read(destination_path(relative_destination)).include?(line)
  end
end

Rails::Generator::Commands::Create.class_eval do

  def route_resources_to_namespace(namespace, resource_list)
    sentinel = 'ActionController::Routing::Routes.draw do |map|'
    
    namespace_map = "map.namespace(:#{namespace}) do |#{namespace}|"
    logger.route namespace_map
    unless options[:pretend] || file_contains?('config/routes.rb', namespace_map)
      gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
        "#{match}\n  #{namespace_map}\n  end"
      end
    end
    
    namespace_route = "#{namespace}.resources :#{resource_list}"

    logger.route namespace_route
    unless options[:pretend] || file_contains?('config/routes.rb', namespace_route)
      gsub_file 'config/routes.rb', /(#{Regexp.escape(namespace_map)})/mi do |match|
        "#{match}\n    #{namespace_route}"
      end
    end
  end
  
end

Rails::Generator::Commands::Destroy.class_eval do
  
  def route_resources_to_namespace(namespace, resource_list)
    # do ni
  end

  def insert_into(file, line)
    logger.remove "#{line} from #{file}"
    unless options[:pretend]
      gsub_file file, "\n  #{line}", ''
    end
  end

end

Rails::Generator::Commands::List.class_eval do

  def route_resources_to_namespace(namespace, resource_list)
    namespace_map = "map.namespace(:#{namespace}) do |#{namespace}|"
    logger.route namespace_map
    namespace_route = "#{namespace}.resources :#{resource_list}"
    logger.route namespace_route
  end
    
  def insert_into(file, line)
    logger.insert "#{line} into #{file}"
  end

end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
beef-admin_area-0.1.0 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.1 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.2 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.3 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.4 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.6 generators/admin_scaffold/lib/insert_commands.rb
beef-admin_area-0.1.7 generators/admin_scaffold/lib/insert_commands.rb
noodall-ui-0.0.13 generators/component/lib/insert_commands.rb
noodall-ui-0.0.12 generators/component/lib/insert_commands.rb
noodall-ui-0.0.11 generators/component/lib/insert_commands.rb
noodall-ui-0.0.10 generators/component/lib/insert_commands.rb
noodall-ui-0.0.9 generators/component/lib/insert_commands.rb
noodall-ui-0.0.8 generators/component/lib/insert_commands.rb
beef-admin_area-0.3.9 generators/admin_scaffold/lib/insert_commands.rb
noodall-ui-0.0.7 generators/component/lib/insert_commands.rb
noodall-ui-0.0.6 generators/component/lib/insert_commands.rb
noodall-ui-0.0.5 generators/component/lib/insert_commands.rb
noodall-ui-0.0.4 generators/component/lib/insert_commands.rb
noodall-ui-0.0.3 generators/component/lib/insert_commands.rb
noodall-ui-0.0.2 generators/component/lib/insert_commands.rb