class ScajaxGenerator

Public Instance Methods

create__show_html_erb_file() click to toggle source

_show.html.erb

# File lib/generators/scajax/scajax_generator.rb, line 51
def create__show_html_erb_file
        file_path = "app/views/#{plural_name}/show.html.erb"
        file_in_array = IO.readlines(file_path)
        file_in_array.each {|line| line.gsub!(/ ?, ?:remote=> ?true| ?, ?remote: ?true/,'')}
        file_in_array.each_index do |i|
                if (file_in_array[i].include?("link_to")) and (!file_in_array[i].match(/Back/i))
                        until file_in_array[i].sub!(/%>/,', :remote=> true %>')
                                i+=1
                       end
                end
        end
        create_file "app/views/#{plural_name}/_show.html.erb","#{file_in_array.join}"
end
create_create_js_erb_file() click to toggle source

create.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 35
        def create_create_js_erb_file
                create_file "app/views/#{plural_name}/create.js.erb", <<-FILE
                $('table').append('<%= j render(@#{plural_name.singularize}) %>');
                $("#scajax").html("<%= escape_javascript(render 'show', notice: 
                "#{plural_name.singularize.capitalize} created successful.") %>");
                FILE
        end
create_destroy_js_erb_file() click to toggle source

destroy.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 15
        def create_destroy_js_erb_file
                create_file "app/views/#{plural_name}/destroy.js.erb", <<-FILE
                $('table tr td').find('a[href="/#{plural_name}/<%= @#{plural_name.singularize}.id %>"]').parent().parent()
                .remove();
                $('#scajax').html('');
                FILE
        end
create_edit_js_erb_file() click to toggle source

edit.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 23
        def create_edit_js_erb_file
                create_file "app/views/#{plural_name}/edit.js.erb", <<-FILE
                $("#scajax").html("<%= escape_javascript(render 'form')%>");
                FILE
        end
create_instance_partial_html_erb_file() click to toggle source

_resource.html.erb

# File lib/generators/scajax/scajax_generator.rb, line 115
def create_instance_partial_html_erb_file
        file_in_array = IO.readlines("app/views/#{plural_name}/index.html.erb")
        start_copy, stop_copy = 0
        file_in_array.each_index do |i|
                if (file_in_array[i].include?("@#{plural_name}.each"))
                        start_copy = i+1
                end
                if (file_in_array[i].include?("<% end %>"))
                        stop_copy = i

                end
        end
        out_file = []
        (start_copy...stop_copy).each{|i| out_file<<file_in_array[i]}
        out_file.each do |line|
                line.gsub!(" #{plural_name.singularize}."," @#{plural_name.singularize}.")   
                line.gsub!("(#{plural_name.singularize}","(@#{plural_name.singularize}")
        end
        create_file "app/views/#{plural_name}/_#{plural_name.singularize}.html.erb","#{out_file.join}" 
end
create_new_js_erb_file() click to toggle source

new.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 29
        def create_new_js_erb_file
                create_file "app/views/#{plural_name}/new.js.erb", <<-FILE
                $("#scajax").html("<%= escape_javascript(render 'form')%>");
                FILE
        end
create_show_js_erb_file() click to toggle source

show.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 9
        def create_show_js_erb_file
                create_file "app/views/#{plural_name}/show.js.erb", <<-FILE
                $('#scajax').html("<%= escape_javascript(render 'show')%>")
                FILE
        end
create_update_js_erb_file() click to toggle source

update.js.erb

# File lib/generators/scajax/scajax_generator.rb, line 43
        def create_update_js_erb_file
                create_file "app/views/#{plural_name}/update.js.erb", <<-FILE 
                $('table tr td').find('a[href="/#{plural_name}/<%= @#{plural_name.singularize}.id %>"]').
                parent().parent().replaceWith("<%= escape_javascript render(@#{plural_name.singularize}) %>");
                $("#scajax").html("<%= escape_javascript(render 'show', notice: "Update successful.") %>");
                FILE
        end
modify__form_file() click to toggle source

_form.html.erb

# File lib/generators/scajax/scajax_generator.rb, line 98
def modify__form_file #add remote:true
        file_path = "app/views/#{plural_name}/_form.html.erb"
        file_in_array = IO.readlines(file_path)
        file_in_array.each {|line| line.gsub!(/ ?, ?:remote=> ?true| ?, ?remote: ?true/,'')}
        file_in_array.each_index do |i|
                if (file_in_array[i].include?("form_for"))
                        until file_in_array[i].sub!("@#{plural_name.singularize}","@#{plural_name.singularize}, :remote=> true")
                                i+=1
                        end
                end
        end
        file = File.open(file_path,"w")
        file.puts file_in_array
        file.close 
        puts "    \033[96mmodified \033[39m #{file_path}"
end
modify_application_html_erb_file() click to toggle source

application.html.erb

# File lib/generators/scajax/scajax_generator.rb, line 4
def modify_application_html_erb_file
        file_path = "app/views/layouts/application.html.erb"
        inject_into_file "#{file_path}", "\n<div id=\"scajax\"></div>", after: "<%= yield %>"
end
modify_controller() click to toggle source

resource_controller

# File lib/generators/scajax/scajax_generator.rb, line 65
def modify_controller #adding forma.js ir rails version <4
        file_path = "app/controllers/#{plural_name}_controller.rb"
        file_in_array = IO.readlines(file_path)
        file_in_array.each_index do |i|
                if (file_in_array[i] =~/format.json(.*)/)
                        if !file_in_array[i+1].include?('format.js')
                               file_in_array.insert(i+1,"      format.js")
                        end
                end
        end
        file = File.open(file_path,"w")
        file.puts file_in_array
        file.close
        puts "    \033[96mmodified \033[39m #{file_path}"
end
modify_index_file() click to toggle source

index.htm.erb

# File lib/generators/scajax/scajax_generator.rb, line 81
def modify_index_file #add remote:true
        file_path = "app/views/#{plural_name}/index.html.erb"
        file_in_array = IO.readlines(file_path)
        file_in_array.each {|line| line.gsub!(/ ?, ?:remote=> ?true| ?, ?remote: ?true/,'')}
        file_in_array.each_index do |i|
                if (file_in_array[i].include?("link_to")) and (!file_in_array[i].match(/Back/i))
                        until file_in_array[i].sub!(/%>/,', :remote=> true %>')
                                i+=1
                       end
                end
        end
        file = File.open(file_path,"w")
        file.puts file_in_array
        file.close 
        puts "    \033[96mmodified \033[39m #{file_path}"
end