jqgrid_for_rails 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -0
 - data/MIT-LICENSE +20 -0
 - data/README.rdoc +116 -0
 - data/Rakefile +24 -0
 - data/install.rb +1 -0
 - data/lib/app/helpers/jqgrids_helper.rb +101 -0
 - data/lib/jqgrid_for_rails/controllers/helpers.rb +57 -0
 - data/lib/jqgrid_for_rails/core_ext.rb +5 -0
 - data/lib/jqgrid_for_rails.rb +13 -0
 - data/lib/tasks/jqgrid_for_rails.rake +4 -0
 - data/rails/init.rb +2 -0
 - data/test/controllers/helpers_test.rb +29 -0
 - data/test/core_ext_test.rb +11 -0
 - data/test/database.yml +22 -0
 - data/test/jqgrid_for_rails_plugin.sqlite3.db +0 -0
 - data/test/jqgrid_for_rails_test.rb +13 -0
 - data/test/jqgrids_helper_test.rb +60 -0
 - data/test/schema.rb +12 -0
 - data/test/test_helper.rb +35 -0
 - data/uninstall.rb +1 -0
 - metadata +99 -0
 
    
        data/.gitignore
    ADDED
    
    
    
        data/MIT-LICENSE
    ADDED
    
    | 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2010 [name of plugin creator]
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 4 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 5 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 6 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 7 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 8 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 9 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 12 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 15 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 16 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 17 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 18 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 19 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 20 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.rdoc
    ADDED
    
    | 
         @@ -0,0 +1,116 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            == JqgridForRails
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            This is a simple plug-in to create JqGrid(http://www.trirand.com/blog) javascript code easily and cleaner inside rails views.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            == Example
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            There is an example application at:
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            https://github.com/Juanmcuello/jqgrid_for_rails_example
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            == Installation
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            To install it as a plugin just:
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              $ rails plugin install git@github.com:Juanmcuello/jqgrid_for_rails.git
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            == Views
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            To generate the grid, you can first create a method in a helper and then call the +jqgrid+ method to generate the java script code. For example, if you have an invoices_helper.rb file, you can define a method there:
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              module InvoicesHelper
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                include JqgridsHelper
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                def invoices_jqgrid
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  options = {:html_tags => true}
         
     | 
| 
      
 30 
     | 
    
         
            +
                  grid_options = {
         
     | 
| 
      
 31 
     | 
    
         
            +
                    :url => '/invoices',
         
     | 
| 
      
 32 
     | 
    
         
            +
                    :datatype => 'json',
         
     | 
| 
      
 33 
     | 
    
         
            +
                    :mtype => 'GET',
         
     | 
| 
      
 34 
     | 
    
         
            +
                    :colNames => ['Inv No','Date'],
         
     | 
| 
      
 35 
     | 
    
         
            +
                    :colModel  => [
         
     | 
| 
      
 36 
     | 
    
         
            +
                      { :name => 'invid',   :index => 'invid',    :width => 55 },
         
     | 
| 
      
 37 
     | 
    
         
            +
                      { :name => 'invdate', :index => 'invdate',  :width => 90 },
         
     | 
| 
      
 38 
     | 
    
         
            +
                    ],
         
     | 
| 
      
 39 
     | 
    
         
            +
                    :pager => '#invoices_pager',
         
     | 
| 
      
 40 
     | 
    
         
            +
                    :rowNum => 10,
         
     | 
| 
      
 41 
     | 
    
         
            +
                    :rowList => [10, 20, 30],
         
     | 
| 
      
 42 
     | 
    
         
            +
                    :caption => 'My first grid',
         
     | 
| 
      
 43 
     | 
    
         
            +
                    :onSelectRow => "function() { alert('Row selected!');}".to_json_var
         
     | 
| 
      
 44 
     | 
    
         
            +
                  }
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  jqgrid 'invoices_list', options, grid_options
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            Now you can use the helper in the view:
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              <%= raw(invoices_jqgrid) %>
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            Or, if you are using Rails 2.3.x :
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
              <%= invoices_jqgrid %>
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            This will result in something like:
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
              <table id="invoices_list"></table>
         
     | 
| 
      
 61 
     | 
    
         
            +
              <div id="invoices_pager"></div>
         
     | 
| 
      
 62 
     | 
    
         
            +
              <script>
         
     | 
| 
      
 63 
     | 
    
         
            +
                jQuery("#invoices_list").jqGrid({
         
     | 
| 
      
 64 
     | 
    
         
            +
                  "url": "/invoices",
         
     | 
| 
      
 65 
     | 
    
         
            +
                  "datatype": "json",
         
     | 
| 
      
 66 
     | 
    
         
            +
                  "mtype": "GET",
         
     | 
| 
      
 67 
     | 
    
         
            +
                  "colNames": ["Inv No","Date"],
         
     | 
| 
      
 68 
     | 
    
         
            +
                  "colModel": [
         
     | 
| 
      
 69 
     | 
    
         
            +
                    {"name":"invid", "index":"invid", "width":55},
         
     | 
| 
      
 70 
     | 
    
         
            +
                    {"name":"invdate", "index":"invdate", "width":90}],
         
     | 
| 
      
 71 
     | 
    
         
            +
                  "pager": "#invoices_pager",
         
     | 
| 
      
 72 
     | 
    
         
            +
                  "rowNum": 10,
         
     | 
| 
      
 73 
     | 
    
         
            +
                  "rowList": [10,20,30],
         
     | 
| 
      
 74 
     | 
    
         
            +
                  "caption": "My first grid",
         
     | 
| 
      
 75 
     | 
    
         
            +
                  "onSelectRow": function() { alert('Row selected!');}});
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                jQuery("#invoices_list").jqGrid("navGrid", "#invoices_pager", {});
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
              </script
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            Note: resulting code was indented for clarification.
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            You can do it better using +content_for+ :
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            At the views:
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
              <% content_for :head do %>
         
     | 
| 
      
 88 
     | 
    
         
            +
                <%= invoices_jqgrid %>
         
     | 
| 
      
 89 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            Don't forget to include the jquery and jqgrid javascript and stylesheet files!
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
            == Controllers
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            You can use the +json_for_jqgrid+ method at the controllers to generate the json response for the grid. It receives the records found by the +paginate+ method offered by will_paginate[https://github.com/mislav/will_paginate].
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
              def index
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                @columns = ['invid', 'invdate']
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                @invoices = Invoice.paginate(:page => params[:page], :per_page => params[:rows] )
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                if request.xhr?
         
     | 
| 
      
 105 
     | 
    
         
            +
                  render :json => json_for_jqgrid(@invoices, @columns, {:page => params[:page]})
         
     | 
| 
      
 106 
     | 
    
         
            +
                end
         
     | 
| 
      
 107 
     | 
    
         
            +
              end
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
            == Maintainers
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            * Juan Manuel Cuello (http://github.com/Juanmcuello)
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
            == License
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
            Copyright (c) 2010 Juan M. Cuello, released under the MIT license
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rake'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rake/testtask'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'rake/rdoctask'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            desc 'Default: run unit tests.'
         
     | 
| 
      
 6 
     | 
    
         
            +
            task :default => :test
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            desc 'Test the jqgrid_for_rails plugin.'
         
     | 
| 
      
 9 
     | 
    
         
            +
            Rake::TestTask.new(:test) do |t|
         
     | 
| 
      
 10 
     | 
    
         
            +
              t.libs << '.'
         
     | 
| 
      
 11 
     | 
    
         
            +
              t.libs << 'lib'
         
     | 
| 
      
 12 
     | 
    
         
            +
              t.libs << 'test'
         
     | 
| 
      
 13 
     | 
    
         
            +
              t.pattern = 'test/**/*_test.rb'
         
     | 
| 
      
 14 
     | 
    
         
            +
              t.verbose = true
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            desc 'Generate documentation for the jqgrid_for_rails plugin.'
         
     | 
| 
      
 18 
     | 
    
         
            +
            Rake::RDocTask.new(:rdoc) do |rdoc|
         
     | 
| 
      
 19 
     | 
    
         
            +
              rdoc.rdoc_dir = 'rdoc'
         
     | 
| 
      
 20 
     | 
    
         
            +
              rdoc.title    = 'JqgridForRails'
         
     | 
| 
      
 21 
     | 
    
         
            +
              rdoc.options << '--line-numbers' << '--inline-source'
         
     | 
| 
      
 22 
     | 
    
         
            +
              rdoc.rdoc_files.include('README')
         
     | 
| 
      
 23 
     | 
    
         
            +
              rdoc.rdoc_files.include('lib/**/*.rb')
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
    
        data/install.rb
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Install hook code here
         
     | 
| 
         @@ -0,0 +1,101 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module JqgridsHelper
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              # Generates the jqGrid javascript code. Also html tags for the table and pager can be generated.
         
     | 
| 
      
 4 
     | 
    
         
            +
              # The javascript code is enclosed between the <script> tags.
         
     | 
| 
      
 5 
     | 
    
         
            +
              #
         
     | 
| 
      
 6 
     | 
    
         
            +
              # The +grid_id+ parameter should be the id of the html table tag that will contain the grid.
         
     | 
| 
      
 7 
     | 
    
         
            +
              # If [:html_tags] is +true+, the grid_id will be used when creating the <table> tags.
         
     | 
| 
      
 8 
     | 
    
         
            +
              #
         
     | 
| 
      
 9 
     | 
    
         
            +
              # === Options
         
     | 
| 
      
 10 
     | 
    
         
            +
              #
         
     | 
| 
      
 11 
     | 
    
         
            +
              # [:html_tags]
         
     | 
| 
      
 12 
     | 
    
         
            +
              #   If true, <table> tag for the grid, and <div> tag for the table will be generated as well.
         
     | 
| 
      
 13 
     | 
    
         
            +
              #
         
     | 
| 
      
 14 
     | 
    
         
            +
              # [:on_document_ready]
         
     | 
| 
      
 15 
     | 
    
         
            +
              #   If true, all the javascript code will be enclosed inside a +jQuery(document).ready+ function
         
     | 
| 
      
 16 
     | 
    
         
            +
              #
         
     | 
| 
      
 17 
     | 
    
         
            +
              # === Grid Options
         
     | 
| 
      
 18 
     | 
    
         
            +
              #
         
     | 
| 
      
 19 
     | 
    
         
            +
              # This hash can contain any option accepted by the jqGrid. The has will encoded to json to create
         
     | 
| 
      
 20 
     | 
    
         
            +
              # the javascript code for the grid.
         
     | 
| 
      
 21 
     | 
    
         
            +
              #
         
     | 
| 
      
 22 
     | 
    
         
            +
              # See http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options
         
     | 
| 
      
 23 
     | 
    
         
            +
              #
         
     | 
| 
      
 24 
     | 
    
         
            +
              # For options that represents javascript functions, the value should be converted to a json_var
         
     | 
| 
      
 25 
     | 
    
         
            +
              # using the +to_json_var+ method.
         
     | 
| 
      
 26 
     | 
    
         
            +
              #
         
     | 
| 
      
 27 
     | 
    
         
            +
              # For example:
         
     | 
| 
      
 28 
     | 
    
         
            +
              # :onLoadComplete => "function() { alert('This is a function!');}".to_json_var
         
     | 
| 
      
 29 
     | 
    
         
            +
              #
         
     | 
| 
      
 30 
     | 
    
         
            +
              # === Nav Options
         
     | 
| 
      
 31 
     | 
    
         
            +
              #
         
     | 
| 
      
 32 
     | 
    
         
            +
              # This hash can contain any option accepted by the nav options of jqGrid.
         
     | 
| 
      
 33 
     | 
    
         
            +
              #
         
     | 
| 
      
 34 
     | 
    
         
            +
              # === Example
         
     | 
| 
      
 35 
     | 
    
         
            +
              #
         
     | 
| 
      
 36 
     | 
    
         
            +
              #  options = {:on_document_ready => true, :html_tags => false}
         
     | 
| 
      
 37 
     | 
    
         
            +
              #
         
     | 
| 
      
 38 
     | 
    
         
            +
              #  grid_options = {
         
     | 
| 
      
 39 
     | 
    
         
            +
              #    :url => '/invoices',
         
     | 
| 
      
 40 
     | 
    
         
            +
              #    :datatype => 'json',
         
     | 
| 
      
 41 
     | 
    
         
            +
              #    :mtype => 'GET',
         
     | 
| 
      
 42 
     | 
    
         
            +
              #    :colNames => ['Inv No','Date', 'Amount','Tax','Total','Notes'],
         
     | 
| 
      
 43 
     | 
    
         
            +
              #    :colModel  => [
         
     | 
| 
      
 44 
     | 
    
         
            +
              #      { :name => 'invid',   :index => 'invid',    :width => 55 },
         
     | 
| 
      
 45 
     | 
    
         
            +
              #      { :name => 'invdate', :index => 'invdate',  :width => 90 },
         
     | 
| 
      
 46 
     | 
    
         
            +
              #      { :name => 'amount',  :index => 'amount',   :width => 80,   :align => 'right' },
         
     | 
| 
      
 47 
     | 
    
         
            +
              #      { :name => 'tax',     :index => 'tax',      :width => 80,   :align => 'right' },
         
     | 
| 
      
 48 
     | 
    
         
            +
              #      { :name => 'total',   :index => 'total',    :width => 80,   :align => 'right' },
         
     | 
| 
      
 49 
     | 
    
         
            +
              #      { :name => 'note',    :index => 'note',     :width => 150,  :sortable => false }
         
     | 
| 
      
 50 
     | 
    
         
            +
              #    ],
         
     | 
| 
      
 51 
     | 
    
         
            +
              #    :pager => '#invoices_pager',
         
     | 
| 
      
 52 
     | 
    
         
            +
              #    :rowNum => 10,
         
     | 
| 
      
 53 
     | 
    
         
            +
              #    :rowList => [10, 20, 30],
         
     | 
| 
      
 54 
     | 
    
         
            +
              #    :sortname => 'invid',
         
     | 
| 
      
 55 
     | 
    
         
            +
              #    :sortorder => 'desc',
         
     | 
| 
      
 56 
     | 
    
         
            +
              #    :viewrecords => true,
         
     | 
| 
      
 57 
     | 
    
         
            +
              #    :caption => 'My first grid',
         
     | 
| 
      
 58 
     | 
    
         
            +
              #    :onSelectRow => "function() { alert('Row selected!');}".to_json_var
         
     | 
| 
      
 59 
     | 
    
         
            +
              #  }
         
     | 
| 
      
 60 
     | 
    
         
            +
              #
         
     | 
| 
      
 61 
     | 
    
         
            +
              #  jqgrid 'invoices_list', options, grid_options
         
     | 
| 
      
 62 
     | 
    
         
            +
              #
         
     | 
| 
      
 63 
     | 
    
         
            +
              def jqgrid grid_id, options = {}, grid_options = {}, nav_options = {}
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                html_output = []
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                # Table
         
     | 
| 
      
 68 
     | 
    
         
            +
                html_output << content_tag(:table, nil, :id => grid_id) if options[:html_tags]
         
     | 
| 
      
 69 
     | 
    
         
            +
                js_output   =  "jQuery(\"##{grid_id}\").jqGrid(#{grid_options.to_json});"
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                # Pager
         
     | 
| 
      
 72 
     | 
    
         
            +
                if grid_options[:pager]
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                  pager_id = id_from_pager_option(grid_options[:pager])
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                  html_output << content_tag(:div, nil, :id => pager_id) if options[:html_tags]
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
                  if nav_options
         
     | 
| 
      
 79 
     | 
    
         
            +
                    js_output << "jQuery(\"##{grid_id}\").jqGrid(\"navGrid\", \"##{pager_id}\", #{nav_options.to_json});"
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
                end
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
                wrap_with_document_ready! js_output if options[:on_document_ready]
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
                html_output << "<script>" << js_output << "</script>"
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                html_output.join("\n")
         
     | 
| 
      
 88 
     | 
    
         
            +
              end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            private
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
              def wrap_with_document_ready! str
         
     | 
| 
      
 93 
     | 
    
         
            +
                str.replace("jQuery(document).ready(function() {#{str}});")
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
              def id_from_pager_option pager_option
         
     | 
| 
      
 97 
     | 
    
         
            +
                pager_option.match(/#\w+/).to_s[1..-1]
         
     | 
| 
      
 98 
     | 
    
         
            +
              end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
            end
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,57 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module JqgridForRails
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Controllers
         
     | 
| 
      
 3 
     | 
    
         
            +
                # Those helpers are convenience methods added to ApplicationController.
         
     | 
| 
      
 4 
     | 
    
         
            +
                module Helpers
         
     | 
| 
      
 5 
     | 
    
         
            +
                  
         
     | 
| 
      
 6 
     | 
    
         
            +
                  # Returns a json string ready to be send to a jqgrid component.
         
     | 
| 
      
 7 
     | 
    
         
            +
                  #
         
     | 
| 
      
 8 
     | 
    
         
            +
                  # +records+ should be the result of an active record query through
         
     | 
| 
      
 9 
     | 
    
         
            +
                  # the +paginate+ method offered by will_paginate.
         
     | 
| 
      
 10 
     | 
    
         
            +
                  #
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # +columns+ is an array with the name of the fields in the order they
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # should be returned.
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #
         
     | 
| 
      
 14 
     | 
    
         
            +
                  # === Options
         
     | 
| 
      
 15 
     | 
    
         
            +
                  #
         
     | 
| 
      
 16 
     | 
    
         
            +
                  # [:id_column]
         
     | 
| 
      
 17 
     | 
    
         
            +
                  #   Says which is the column that should be used as the row id
         
     | 
| 
      
 18 
     | 
    
         
            +
                  #
         
     | 
| 
      
 19 
     | 
    
         
            +
                  # :page]
         
     | 
| 
      
 20 
     | 
    
         
            +
                  #   Says the page number
         
     | 
| 
      
 21 
     | 
    
         
            +
                  #
         
     | 
| 
      
 22 
     | 
    
         
            +
                  def json_for_jqgrid records, columns = nil, options = {}
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                    return if records.empty?
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    columns ||= records.first.attributes.keys
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    options[:id_column] ||= columns.first
         
     | 
| 
      
 29 
     | 
    
         
            +
                    options[:page]      ||= 1
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                    { :page => options[:page],
         
     | 
| 
      
 32 
     | 
    
         
            +
                      :total => records.total_pages,
         
     | 
| 
      
 33 
     | 
    
         
            +
                      :records => records.total_entries,
         
     | 
| 
      
 34 
     | 
    
         
            +
                      :rows => records.map do |r| {
         
     | 
| 
      
 35 
     | 
    
         
            +
                        :id => r.attributes[options[:id_column]],
         
     | 
| 
      
 36 
     | 
    
         
            +
                        :cell => r.attributes.values_at(*columns)}
         
     | 
| 
      
 37 
     | 
    
         
            +
                      end
         
     | 
| 
      
 38 
     | 
    
         
            +
                    }.to_json
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                  # Returns the 'order by' string created using the params received from the jqgrid.
         
     | 
| 
      
 42 
     | 
    
         
            +
                  #
         
     | 
| 
      
 43 
     | 
    
         
            +
                  # === Example
         
     | 
| 
      
 44 
     | 
    
         
            +
                  #
         
     | 
| 
      
 45 
     | 
    
         
            +
                  #   order_by_from_params({'sidx' => 'updated_at', 'sord' => 'asc'})
         
     | 
| 
      
 46 
     | 
    
         
            +
                  #   => 'updated_at asc'
         
     | 
| 
      
 47 
     | 
    
         
            +
                  #
         
     | 
| 
      
 48 
     | 
    
         
            +
                  def order_by_from_params params
         
     | 
| 
      
 49 
     | 
    
         
            +
                    order_by = params['sidx'] if params['sidx']
         
     | 
| 
      
 50 
     | 
    
         
            +
                    order_by << " #{params['sord']}" if params['sord'] && order_by
         
     | 
| 
      
 51 
     | 
    
         
            +
                    order_by
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
      
 53 
     | 
    
         
            +
                
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
              end
         
     | 
| 
      
 56 
     | 
    
         
            +
            end
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # JqgridForRails
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'jqgrid_for_rails/core_ext'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'jqgrid_for_rails/controllers/helpers'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            ActionController::Base.send :include, JqgridForRails::Controllers::Helpers
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            %w{ models controllers helpers }.each do |dir|
         
     | 
| 
      
 9 
     | 
    
         
            +
              path = File.join(File.dirname(__FILE__), 'app', dir)
         
     | 
| 
      
 10 
     | 
    
         
            +
              $LOAD_PATH << path
         
     | 
| 
      
 11 
     | 
    
         
            +
              ActiveSupport::Dependencies.autoload_paths << path
         
     | 
| 
      
 12 
     | 
    
         
            +
              ActiveSupport::Dependencies.autoload_once_paths.delete(path)
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
    
        data/rails/init.rb
    ADDED
    
    
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'test/test_helper' 
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class MockController < ApplicationController
         
     | 
| 
      
 4 
     | 
    
         
            +
            end
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class ControllerHelpersTest < ActionController::TestCase
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 9 
     | 
    
         
            +
                @controller = MockController.new
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              tests MockController
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              test "order_by_from with sidx and sord" do
         
     | 
| 
      
 15 
     | 
    
         
            +
                params = {'sidx' => 'updated_at', 'sord' => 'desc' }
         
     | 
| 
      
 16 
     | 
    
         
            +
                assert_equal 'updated_at desc', @controller.order_by_from_params(params)
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              test "order_by_from with sidx" do
         
     | 
| 
      
 20 
     | 
    
         
            +
                params = {'sidx' => 'updated_at'}
         
     | 
| 
      
 21 
     | 
    
         
            +
                assert_equal 'updated_at', @controller.order_by_from_params(params)
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              test "order_by_from without sidx" do
         
     | 
| 
      
 25 
     | 
    
         
            +
                params = {'sord' => 'desc' }
         
     | 
| 
      
 26 
     | 
    
         
            +
                assert_nil @controller.order_by_from_params(params)
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
    
        data/test/database.yml
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            sqlite:
         
     | 
| 
      
 2 
     | 
    
         
            +
              :adapter: sqlite
         
     | 
| 
      
 3 
     | 
    
         
            +
              :database: vendor/plugins/jqgrid_for_rails/test/jqgrid_for_rails_plugin.sqlite.db
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            sqlite3:
         
     | 
| 
      
 6 
     | 
    
         
            +
              :adapter: sqlite3
         
     | 
| 
      
 7 
     | 
    
         
            +
              :database: vendor/plugins/jqgrid_for_rails/test/jqgrid_for_rails_plugin.sqlite3.db
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            postgresql:
         
     | 
| 
      
 10 
     | 
    
         
            +
              :adapter: postgresql
         
     | 
| 
      
 11 
     | 
    
         
            +
              :username: postgres
         
     | 
| 
      
 12 
     | 
    
         
            +
              :password: postgres
         
     | 
| 
      
 13 
     | 
    
         
            +
              :database: jqgrid_for_rails_plugin_test
         
     | 
| 
      
 14 
     | 
    
         
            +
              :min_messages: ERROR
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            mysql:
         
     | 
| 
      
 17 
     | 
    
         
            +
              :adapter: mysql
         
     | 
| 
      
 18 
     | 
    
         
            +
              :host: localhost
         
     | 
| 
      
 19 
     | 
    
         
            +
              :username: root
         
     | 
| 
      
 20 
     | 
    
         
            +
              :password: root 
         
     | 
| 
      
 21 
     | 
    
         
            +
              :database: jqgrid_for_rails_plugin_test
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
         Binary file 
     | 
| 
         @@ -0,0 +1,60 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.dirname(__FILE__) + '/test_helper.rb'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class MockView < ActionView::Base
         
     | 
| 
      
 4 
     | 
    
         
            +
              include JqgridsHelper
         
     | 
| 
      
 5 
     | 
    
         
            +
            end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            class JqgridsHelperTest < Test::Unit::TestCase
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def test_jqgrid_small
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                @template = MockView.new
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                grid_id = 'grid_id'
         
     | 
| 
      
 14 
     | 
    
         
            +
                options = {:html_tags => true}
         
     | 
| 
      
 15 
     | 
    
         
            +
                grid_options = { :url => "/jqGridModel?model=Wine" }
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                expected  = '<table id="'+grid_id+'"></table>' + "\n"
         
     | 
| 
      
 18 
     | 
    
         
            +
                expected << '<script>' + "\n"
         
     | 
| 
      
 19 
     | 
    
         
            +
                expected <<    'jQuery("#'+grid_id+'").jqGrid({"url":"/jqGridModel?model=Wine"});' + "\n"
         
     | 
| 
      
 20 
     | 
    
         
            +
                expected << '</script>'
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                assert_equal(expected, @template.jqgrid(grid_id, options , grid_options))
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              def test_jqgrid_medium
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                @template = MockView.new
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                grid_id = 'grid_id'
         
     | 
| 
      
 31 
     | 
    
         
            +
                pager_id = 'gridpager'
         
     | 
| 
      
 32 
     | 
    
         
            +
                grid_options = { :pager => "jQuery('##{pager_id}')".to_json_var }
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                options = {:on_document_ready => true }
         
     | 
| 
      
 35 
     | 
    
         
            +
                expected = expected_grid(grid_id, pager_id, options)
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert_equal(expected, @template.jqgrid(grid_id, options, grid_options))
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                options = {:on_document_ready => true, :html_tags => true }
         
     | 
| 
      
 39 
     | 
    
         
            +
                expected = expected_grid(grid_id, pager_id, options)
         
     | 
| 
      
 40 
     | 
    
         
            +
                assert_equal(expected, @template.jqgrid(grid_id, options, grid_options))
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              def expected_grid grid_id, pager_id, options
         
     | 
| 
      
 44 
     | 
    
         
            +
                expected = ''
         
     | 
| 
      
 45 
     | 
    
         
            +
                expected << '<table id="'+grid_id+'"></table>' + "\n" if options[:html_tags]
         
     | 
| 
      
 46 
     | 
    
         
            +
                expected << '<div id="'+pager_id+'"></div>' + "\n" if options[:html_tags]
         
     | 
| 
      
 47 
     | 
    
         
            +
                expected << '<script>' + "\n"
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                js =  'jQuery(document).ready(function() {
         
     | 
| 
      
 50 
     | 
    
         
            +
                        jQuery("#' + grid_id + '").jqGrid({
         
     | 
| 
      
 51 
     | 
    
         
            +
                          "pager":jQuery(\'#' + pager_id + '\')
         
     | 
| 
      
 52 
     | 
    
         
            +
                        });
         
     | 
| 
      
 53 
     | 
    
         
            +
                        jQuery("#grid_id").jqGrid("navGrid", "#gridpager", {});
         
     | 
| 
      
 54 
     | 
    
         
            +
                      });'
         
     | 
| 
      
 55 
     | 
    
         
            +
                expected << js.gsub(/\n\s+/, '') + "\n"
         
     | 
| 
      
 56 
     | 
    
         
            +
                expected << '</script>'
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            end
         
     | 
    
        data/test/schema.rb
    ADDED
    
    
    
        data/test/test_helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,35 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ENV['RAILS_ENV'] = 'test'
         
     | 
| 
      
 2 
     | 
    
         
            +
            ENV['RAILS_ROOT'] ||= File.dirname(__FILE__) + '/../../../..'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            require 'test/unit'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config/environment.rb'))
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            def load_schema 
         
     | 
| 
      
 8 
     | 
    
         
            +
              config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
         
     | 
| 
      
 9 
     | 
    
         
            +
              ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              db_adapter = ENV['DB']
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              # no db passed, try one of these fine config-free DBs before bombing.
         
     | 
| 
      
 14 
     | 
    
         
            +
              db_adapter ||= 
         
     | 
| 
      
 15 
     | 
    
         
            +
              begin 
         
     | 
| 
      
 16 
     | 
    
         
            +
                require 'rubygems' 
         
     | 
| 
      
 17 
     | 
    
         
            +
                require 'sqlite'
         
     | 
| 
      
 18 
     | 
    
         
            +
                'sqlite' 
         
     | 
| 
      
 19 
     | 
    
         
            +
              rescue MissingSourceFile 
         
     | 
| 
      
 20 
     | 
    
         
            +
                begin 
         
     | 
| 
      
 21 
     | 
    
         
            +
                  require 'sqlite3'
         
     | 
| 
      
 22 
     | 
    
         
            +
                  'sqlite3' 
         
     | 
| 
      
 23 
     | 
    
         
            +
                rescue MissingSourceFile 
         
     | 
| 
      
 24 
     | 
    
         
            +
                end 
         
     | 
| 
      
 25 
     | 
    
         
            +
              end 
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              if db_adapter.nil? 
         
     | 
| 
      
 28 
     | 
    
         
            +
                raise "No DB Adapter selected. Pass the DB= option to pick one, or install Sqlite or Sqlite3."
         
     | 
| 
      
 29 
     | 
    
         
            +
              end 
         
     | 
| 
      
 30 
     | 
    
         
            +
              ActiveRecord::Base.establish_connection(config[db_adapter])
         
     | 
| 
      
 31 
     | 
    
         
            +
              load(File.dirname(__FILE__) + "/schema.rb")
         
     | 
| 
      
 32 
     | 
    
         
            +
              require File.dirname(__FILE__) + '/../rails/init.rb'
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
    
        data/uninstall.rb
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Uninstall hook code here
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,99 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification 
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: jqgrid_for_rails
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version 
         
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 27
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 6 
     | 
    
         
            +
              segments: 
         
     | 
| 
      
 7 
     | 
    
         
            +
              - 0
         
     | 
| 
      
 8 
     | 
    
         
            +
              - 1
         
     | 
| 
      
 9 
     | 
    
         
            +
              - 0
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
      
 11 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 12 
     | 
    
         
            +
            authors: 
         
     | 
| 
      
 13 
     | 
    
         
            +
            - Juan Manuel Cuello
         
     | 
| 
      
 14 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 15 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 16 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2011-01-06 00:00:00 -03:00
         
     | 
| 
      
 19 
     | 
    
         
            +
            default_executable: 
         
     | 
| 
      
 20 
     | 
    
         
            +
            dependencies: 
         
     | 
| 
      
 21 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 22 
     | 
    
         
            +
              name: will_paginate
         
     | 
| 
      
 23 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 24 
     | 
    
         
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 25 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 26 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 27 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 29 
     | 
    
         
            +
                    hash: 3
         
     | 
| 
      
 30 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 31 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 32 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 33 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 34 
     | 
    
         
            +
              version_requirements: *id001
         
     | 
| 
      
 35 
     | 
    
         
            +
            description: Simple solution to create jqgrids easily using Rails
         
     | 
| 
      
 36 
     | 
    
         
            +
            email: juanmacuello@gmail.com
         
     | 
| 
      
 37 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            files: 
         
     | 
| 
      
 44 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 45 
     | 
    
         
            +
            - MIT-LICENSE
         
     | 
| 
      
 46 
     | 
    
         
            +
            - README.rdoc
         
     | 
| 
      
 47 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 48 
     | 
    
         
            +
            - install.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            - lib/app/helpers/jqgrids_helper.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
            - lib/jqgrid_for_rails.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
            - lib/jqgrid_for_rails/controllers/helpers.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
            - lib/jqgrid_for_rails/core_ext.rb
         
     | 
| 
      
 53 
     | 
    
         
            +
            - lib/tasks/jqgrid_for_rails.rake
         
     | 
| 
      
 54 
     | 
    
         
            +
            - rails/init.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            - test/controllers/helpers_test.rb
         
     | 
| 
      
 56 
     | 
    
         
            +
            - test/core_ext_test.rb
         
     | 
| 
      
 57 
     | 
    
         
            +
            - test/database.yml
         
     | 
| 
      
 58 
     | 
    
         
            +
            - test/jqgrid_for_rails_plugin.sqlite3.db
         
     | 
| 
      
 59 
     | 
    
         
            +
            - test/jqgrid_for_rails_test.rb
         
     | 
| 
      
 60 
     | 
    
         
            +
            - test/jqgrids_helper_test.rb
         
     | 
| 
      
 61 
     | 
    
         
            +
            - test/schema.rb
         
     | 
| 
      
 62 
     | 
    
         
            +
            - test/test_helper.rb
         
     | 
| 
      
 63 
     | 
    
         
            +
            - uninstall.rb
         
     | 
| 
      
 64 
     | 
    
         
            +
            has_rdoc: true
         
     | 
| 
      
 65 
     | 
    
         
            +
            homepage: http://github.com/Juanmcuello/jqgrid_for_rails
         
     | 
| 
      
 66 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 69 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            require_paths: 
         
     | 
| 
      
 72 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 73 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 74 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 75 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 76 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 77 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 78 
     | 
    
         
            +
                  hash: 3
         
     | 
| 
      
 79 
     | 
    
         
            +
                  segments: 
         
     | 
| 
      
 80 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 81 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 82 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 83 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 84 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 85 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 86 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 87 
     | 
    
         
            +
                  hash: 3
         
     | 
| 
      
 88 
     | 
    
         
            +
                  segments: 
         
     | 
| 
      
 89 
     | 
    
         
            +
                  - 0
         
     | 
| 
      
 90 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 91 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 94 
     | 
    
         
            +
            rubygems_version: 1.3.7
         
     | 
| 
      
 95 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 96 
     | 
    
         
            +
            specification_version: 3
         
     | 
| 
      
 97 
     | 
    
         
            +
            summary: Simple solution to create jqgrids easily using Rails
         
     | 
| 
      
 98 
     | 
    
         
            +
            test_files: []
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     |