From 10b13f01f88f8e034f9703f2ddc467a2109644ed Mon Sep 17 00:00:00 2001 From: Joel Quenneville Date: Fri, 20 Apr 2012 14:50:37 -0500 Subject: [PATCH 1/3] fixed some pluralization issues --- .rvmrc | 48 +++++++++++++++++++ ajax-datatables-rails.gemspec | 2 - lib/ajax-datatables-rails.rb | 2 +- .../ajaxdatatable/templates/datatable.rb | 2 +- 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 .rvmrc diff --git a/.rvmrc b/.rvmrc new file mode 100644 index 00000000..c850957b --- /dev/null +++ b/.rvmrc @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# This is an RVM Project .rvmrc file, used to automatically load the ruby +# development environment upon cd'ing into the directory + +# First we specify our desired [@], the @gemset name is optional, +# Only full ruby name is supported here, for short names use: +# echo "rvm use 1.9.3" > .rvmrc +environment_id="ruby-1.9.3-p125@ajax-datatables-rails" + +# Uncomment the following lines if you want to verify rvm version per project +# rvmrc_rvm_version="1.11.0-pre" # 1.10.1 seams as a safe start +# eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || { +# echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading." +# return 1 +# } + +# First we attempt to load the desired environment directly from the environment +# file. This is very fast and efficient compared to running through the entire +# CLI and selector. If you want feedback on which environment was used then +# insert the word 'use' after --create as this triggers verbose mode. +if [[ -d "${rvm_path:-$HOME/.rvm}/environments" + && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] +then + \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" + [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] && + \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true +else + # If the environment file has not yet been created, use the RVM CLI to select. + rvm --create "$environment_id" || { + echo "Failed to create RVM environment '${environment_id}'." + return 1 + } +fi + +# If you use bundler, this might be useful to you: +# if [[ -s Gemfile ]] && { +# ! builtin command -v bundle >/dev/null || +# builtin command -v bundle | grep $rvm_path/bin/bundle >/dev/null +# } +# then +# printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n" +# gem install bundler +# fi +# if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null +# then +# bundle install | grep -vE '^Using|Your bundle is complete' +# fi diff --git a/ajax-datatables-rails.gemspec b/ajax-datatables-rails.gemspec index 4bbb6771..f22a1f23 100644 --- a/ajax-datatables-rails.gemspec +++ b/ajax-datatables-rails.gemspec @@ -14,6 +14,4 @@ Gem::Specification.new do |gem| gem.name = "ajax-datatables-rails" gem.require_paths = ["lib"] gem.version = AjaxDatatablesRails::VERSION - - gem.add_runtime_dependency 'jquery-datatables-rails', '~> 1.9.1' end diff --git a/lib/ajax-datatables-rails.rb b/lib/ajax-datatables-rails.rb index cbe9c3ea..89390e5e 100644 --- a/lib/ajax-datatables-rails.rb +++ b/lib/ajax-datatables-rails.rb @@ -1,4 +1,4 @@ -require 'rails' +# require 'rails' class AjaxDatatablesRails diff --git a/lib/generators/ajaxdatatable/templates/datatable.rb b/lib/generators/ajaxdatatable/templates/datatable.rb index 343915b3..323cca98 100644 --- a/lib/generators/ajaxdatatable/templates/datatable.rb +++ b/lib/generators/ajaxdatatable/templates/datatable.rb @@ -1,4 +1,4 @@ -class <%= model.classify %>Datatable < AjaxDatatableRails +class <%= model.classify.pluralize %>Datatable < AjaxDatatablesRails model_name <%= model.classify %> columns # insert array of column names here searchable_columns #insert array of columns that will be searched From 9d2ff10c0e1a6ddf73a9400107ed95b025f979aa Mon Sep 17 00:00:00 2001 From: Joel Quenneville Date: Fri, 20 Apr 2012 16:36:13 -0500 Subject: [PATCH 2/3] changed the class variables over to instance variables and updated the template" --- lib/ajax-datatables-rails.rb | 24 ++++--------------- .../ajaxdatatable/templates/datatable.rb | 10 +++++--- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/lib/ajax-datatables-rails.rb b/lib/ajax-datatables-rails.rb index 89390e5e..d1419339 100644 --- a/lib/ajax-datatables-rails.rb +++ b/lib/ajax-datatables-rails.rb @@ -4,25 +4,11 @@ class AjaxDatatablesRails VERSION = '0.0.1' - class << self - - def columns(column_array) - @@columns ||= column_array - end - - def model_name(model_name) - @@model_name ||= model_name - end - - def searchable_columns(columns_array) - @@searchable_columns ||= columns_array - end - - end - def initialize(view) @view = view end + + attr_reader :columns, :model_name, :searchable_columns def method_missing(meth, *args, &block) @view.send(meth, *args, &block) @@ -31,7 +17,7 @@ def method_missing(meth, *args, &block) def as_json(options = {}) { sEcho: params[:sEcho].to_i, - iTotalRecords: @@model_name.count, + iTotalRecords: @model_name.count, iTotalDisplayRecords: get_raw_records.count, aaData: data } @@ -57,7 +43,7 @@ def sort_records(records) def search_records(records) if params[:sSearch].present? - query = @@searchable_columns.map do |column| + query = @searchable_columns.map do |column| "#{column} LIKE :search" end.join(" OR ") records = records.where(query, search: "%#{params[:sSearch]}%") @@ -74,7 +60,7 @@ def per_page end def sort_column - @@columns[params[:iSortCol_0].to_i] + @columns[params[:iSortCol_0].to_i] end def sort_direction diff --git a/lib/generators/ajaxdatatable/templates/datatable.rb b/lib/generators/ajaxdatatable/templates/datatable.rb index 323cca98..35928f34 100644 --- a/lib/generators/ajaxdatatable/templates/datatable.rb +++ b/lib/generators/ajaxdatatable/templates/datatable.rb @@ -1,7 +1,11 @@ class <%= model.classify.pluralize %>Datatable < AjaxDatatablesRails - model_name <%= model.classify %> - columns # insert array of column names here - searchable_columns #insert array of columns that will be searched + + def initialize(view) + @model_name = <%= model.classify %> + @columns = # insert array of column names here + @searchable_columns = #insert array of columns that will be searched + super(view) + end private From 6b74f5289289e468f91d61e9fd099776341a807d Mon Sep 17 00:00:00 2001 From: Joel Quenneville Date: Fri, 20 Apr 2012 17:11:56 -0500 Subject: [PATCH 3/3] moved the generator to a different folder --- lib/generators/datatable_generator.rb | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 lib/generators/datatable_generator.rb diff --git a/lib/generators/datatable_generator.rb b/lib/generators/datatable_generator.rb deleted file mode 100644 index 2d8bdf77..00000000 --- a/lib/generators/datatable_generator.rb +++ /dev/null @@ -1,3 +0,0 @@ -class DatatableGenerator < Rails::Generators::Base - create_file "app/datatables/datatable.rb", "# test" -end \ No newline at end of file