fancygrid 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/.bundle/config +2 -0
  2. data/.rspec +1 -0
  3. data/CHANGELOG +34 -0
  4. data/Gemfile +15 -0
  5. data/Gemfile.lock +125 -0
  6. data/LICENSE +20 -0
  7. data/README.rdoc +299 -0
  8. data/ROADMAP +1 -0
  9. data/Rakefile +45 -0
  10. data/VERSION +1 -0
  11. data/app/views/fancygrid/_cells.html.haml +13 -0
  12. data/app/views/fancygrid/base/controls.html.haml +40 -0
  13. data/app/views/fancygrid/base/list_frame.html.haml +37 -0
  14. data/app/views/fancygrid/base/search.html.haml +33 -0
  15. data/app/views/fancygrid/base/sort.html.haml +20 -0
  16. data/app/views/fancygrid/base/table_frame.html.haml +45 -0
  17. data/config/initializers/fancygrid.rb +67 -0
  18. data/config/locales/fancygrid.de.yml +41 -0
  19. data/config/locales/fancygrid.en.yml +42 -0
  20. data/fancygrid.gemspec +162 -0
  21. data/init.rb +1 -0
  22. data/lib/fancygrid.rb +73 -0
  23. data/lib/fancygrid/grid.rb +387 -0
  24. data/lib/fancygrid/helper.rb +129 -0
  25. data/lib/fancygrid/node.rb +533 -0
  26. data/lib/fancygrid/query_generator.rb +338 -0
  27. data/lib/fancygrid/view.rb +148 -0
  28. data/lib/generators/install_generator.rb +61 -0
  29. data/lib/generators/views_generator.rb +25 -0
  30. data/lib/version.rb +0 -0
  31. data/public/images/fancygrid/add.png +0 -0
  32. data/public/images/fancygrid/clear.png +0 -0
  33. data/public/images/fancygrid/ddn.png +0 -0
  34. data/public/images/fancygrid/dn.png +0 -0
  35. data/public/images/fancygrid/dots.png +0 -0
  36. data/public/images/fancygrid/loading.gif +0 -0
  37. data/public/images/fancygrid/magnifier.png +0 -0
  38. data/public/images/fancygrid/next.png +0 -0
  39. data/public/images/fancygrid/order.png +0 -0
  40. data/public/images/fancygrid/prev.png +0 -0
  41. data/public/images/fancygrid/reload.png +0 -0
  42. data/public/images/fancygrid/remove.png +0 -0
  43. data/public/images/fancygrid/spacer.gif +0 -0
  44. data/public/images/fancygrid/submit.png +0 -0
  45. data/public/images/fancygrid/th_bg.png +0 -0
  46. data/public/images/fancygrid/up.png +0 -0
  47. data/public/images/fancygrid/uup.png +0 -0
  48. data/public/javascripts/fancygrid.js +477 -0
  49. data/public/javascripts/fancygrid.min.js +17 -0
  50. data/public/stylesheets/fancygrid.css +289 -0
  51. data/public/stylesheets/fancygrid.scss +302 -0
  52. data/spec/dummy/Rakefile +7 -0
  53. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  54. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  55. data/spec/dummy/app/models/project.rb +3 -0
  56. data/spec/dummy/app/models/ticket.rb +3 -0
  57. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  58. data/spec/dummy/config.ru +4 -0
  59. data/spec/dummy/config/application.rb +45 -0
  60. data/spec/dummy/config/boot.rb +10 -0
  61. data/spec/dummy/config/database.yml +22 -0
  62. data/spec/dummy/config/environment.rb +5 -0
  63. data/spec/dummy/config/environments/development.rb +26 -0
  64. data/spec/dummy/config/environments/production.rb +49 -0
  65. data/spec/dummy/config/environments/test.rb +35 -0
  66. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  67. data/spec/dummy/config/initializers/inflections.rb +10 -0
  68. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  69. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  70. data/spec/dummy/config/initializers/session_store.rb +8 -0
  71. data/spec/dummy/config/locales/en.yml +5 -0
  72. data/spec/dummy/config/routes.rb +58 -0
  73. data/spec/dummy/db/migrate/20110112183948_create_projects.rb +11 -0
  74. data/spec/dummy/db/migrate/20110112183956_create_tickets.rb +14 -0
  75. data/spec/dummy/db/test.sqlite3 +0 -0
  76. data/spec/dummy/log/development.log +0 -0
  77. data/spec/dummy/log/production.log +0 -0
  78. data/spec/dummy/log/server.log +0 -0
  79. data/spec/dummy/log/test.log +1026 -0
  80. data/spec/dummy/public/404.html +26 -0
  81. data/spec/dummy/public/422.html +26 -0
  82. data/spec/dummy/public/500.html +26 -0
  83. data/spec/dummy/public/favicon.ico +0 -0
  84. data/spec/dummy/public/javascripts/application.js +2 -0
  85. data/spec/dummy/public/javascripts/controls.js +965 -0
  86. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  87. data/spec/dummy/public/javascripts/effects.js +1123 -0
  88. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  89. data/spec/dummy/public/javascripts/rails.js +175 -0
  90. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  91. data/spec/dummy/script/rails +6 -0
  92. data/spec/grid_spec.rb +15 -0
  93. data/spec/integration/navigation_spec.rb +9 -0
  94. data/spec/node_spec.rb +326 -0
  95. data/spec/query_generator_spec.rb +358 -0
  96. data/spec/spec_helper.rb +53 -0
  97. metadata +214 -0
data/ROADMAP ADDED
@@ -0,0 +1 @@
1
+ 1.0.0 - Stable release
data/Rakefile ADDED
@@ -0,0 +1,45 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'bundler/setup'
6
+ rescue LoadError
7
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
8
+ end
9
+
10
+ begin
11
+ require 'jeweler'
12
+ Jeweler::Tasks.new do |gem|
13
+ gem.name = "fancygrid"
14
+ gem.summary = %Q{Table rendering for rails applications}
15
+ gem.description = %Q{Enables easy table rendering in rails applications}
16
+ gem.email = "giniedp@online.de"
17
+ gem.homepage = "http://github.com/giniedp/fancygrid"
18
+ gem.authors = ["Alexander Gräfenstein"]
19
+ # gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
20
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
21
+ end
22
+ Jeweler::GemcutterTasks.new
23
+ rescue LoadError
24
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
25
+ end
26
+
27
+ require 'rake'
28
+ require 'rake/rdoctask'
29
+
30
+ require 'rspec/core'
31
+ require 'rspec/core/rake_task'
32
+
33
+ RSpec::Core::RakeTask.new(:spec)
34
+
35
+ task :default => :spec
36
+
37
+ Rake::RDocTask.new do |rdoc|
38
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
39
+
40
+ rdoc.rdoc_dir = 'rdoc'
41
+ rdoc.title = "fancygrid #{version}"
42
+ rdoc.options << '--line-numbers' << '--inline-source'
43
+ rdoc.rdoc_files.include('README*')
44
+ rdoc.rdoc_files.include('lib/**/*.rb')
45
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,13 @@
1
+ / available locals are
2
+ / grid : the fancygrid instance
3
+ / cell : the column to render
4
+ / record : the datarecord for the current row to render
5
+ / value : the value for current cell to render
6
+
7
+ / example rendering the actions show and edit for a users table
8
+ /- case grid.name
9
+ /- when :users
10
+ / - case cell.name
11
+ / - when :actions
12
+ / = link_to "Show", user_path(record)
13
+ / = link_to "Edit", edit_user_path(record)
@@ -0,0 +1,40 @@
1
+ %ul.fg-control-bar{ :class => css_class }
2
+ %li
3
+ %span
4
+ = t(:"pagination.per_page", :default => "Results per Page", :scope => Fancygrid.i18n_scope)
5
+ = select_tag(:per_page, options_for_select(fancygrid.per_page_options, fancygrid.view.get_pagination_per_page), :class => "fg-per-page")
6
+
7
+ %li.separator
8
+ %li.button
9
+ = fancygrid_button(:"fg-previous", :"pagination.prev_page", "Previous page")
10
+
11
+ %li
12
+ %span
13
+ = t(:"pagination.page", :default => "Page", :scope => Fancygrid.i18n_scope)
14
+ = text_field_tag(:"fg-page", fancygrid.view.get_pagination_page + 1, :class => :"fg-page" )
15
+ %span
16
+ = t(:"pagination.of", :default => "of", :scope => Fancygrid.i18n_scope)
17
+ %span.fg-page-total
18
+ = 0
19
+
20
+ %li.button
21
+ = fancygrid_button(:"fg-next", :"pagination.next_page","Next page")
22
+ %li.separator
23
+ %li
24
+ %span
25
+ = t(:"pagination.results", :default => "Total entries", :scope => Fancygrid.i18n_scope)
26
+ %span.fg-result-total
27
+ = fancygrid.resultcount or 0
28
+ %li.button
29
+ = fancygrid_button(:"fg-reload", :"pagination.reload", "Reload")
30
+ %li.button
31
+ = fancygrid_button(:"fg-clear", :"search.clear", "Clear search")
32
+ %li.button
33
+ = fancygrid_button(:"fg-magnify", :"search.toggle", "Toggle Search")
34
+
35
+ - if fancygrid.has_sort_window?
36
+ %li.button
37
+ = fancygrid_button(:"fg-sort", :"sort.submit", "Sort columns")
38
+ %li.separator
39
+
40
+ = yield :fancygrid_buttons
@@ -0,0 +1,37 @@
1
+ .fg-fancygrid{ :class => fancygrid.name }
2
+ - if fancygrid.has_complex_search?
3
+ = render(:template => Fancygrid.search_template, :locals => { :fancygrid => fancygrid })
4
+ - if fancygrid.has_top_control?
5
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => "controls top" })
6
+
7
+ .fg-tablewrapper
8
+ - unless fancygrid.is_static?
9
+ %ul.fg-search
10
+ - fancygrid.each_visible_leaf do |leaf|
11
+ - next unless leaf.searchable
12
+ %li{ :class => leaf.css_class }
13
+ %label{ :for => leaf.tag_name }
14
+ = leaf.human_name
15
+ - case leaf.search_input_kind
16
+ - when :none
17
+ = text_field_tag( leaf.tag_name, leaf.search_value, :class => "fg-attribute" )
18
+ - when :select
19
+ = select_tag( leaf.tag_name, options_for_select(leaf.search_select_collection, :selected => leaf.search_value), :class => "fg-attribute" )
20
+
21
+ %ul.fg-row
22
+ - fancygrid.each_record do |record|
23
+ %li{ :class => fancygrid.name.to_s.singularize }
24
+ = render_fancygrid_leaf(record, fancygrid, &format_block)
25
+
26
+ - if fancygrid.has_bottom_control?
27
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => "controls bottom" })
28
+
29
+ - unless fancygrid.is_static?
30
+ :javascript
31
+ $(function(){
32
+ var fancyOptions = #{fancygrid.js_options};
33
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid(fancyOptions);
34
+ if(!fancyOptions.isStatic){
35
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid("reloadPage");
36
+ }
37
+ });
@@ -0,0 +1,33 @@
1
+ :ruby
2
+ searchable_columns = fancygrid.serachable_leafs.map{ |leaf|
3
+ [leaf.human_name, leaf.tag_name]
4
+ }
5
+ search_operators = fancygrid.search_operators.map { |op|
6
+ [I18n.t(:"search.operator.#{op.to_s}", :default => op.to_s.humanize, :scope => Fancygrid.i18n_scope ), op.to_s]
7
+ }
8
+
9
+ = field_set_tag( t(:"search.title", :default => "Search", :scope => Fancygrid.i18n_scope), :class => :"fg-search" ) do
10
+ .fg-search-controls
11
+ = fancygrid_button(:"fg-search-add", :"search.add", 'Add')
12
+ = fancygrid_button(:"fg-search-submit", :"search.submit", 'Search')
13
+ = fancygrid_button(:"fg-clear", :"search.clear", 'Clear search')
14
+ = check_box_tag(:"fg-search-conditions", :all, fancygrid.view.get_search_operator.to_s == "all")
15
+ = label_tag(:"fg-search-conditions", t(:"fancygrid.search.conditions", :default => 'All conditions must met:'))
16
+
17
+ %ul.fg-search-criteria
18
+ - fancygrid.each_visible_leaf do |leaf|
19
+ - fancygrid.view.get_node_search_conditions(leaf).each do |condition|
20
+ %li.fg-search-criterion
21
+ = fancygrid_button(:"fg-search-remove", :"search.remove", "Remove")
22
+ = select_tag(:column_name, options_for_select(searchable_columns, leaf.tag_name))
23
+ = select_tag(:operator, options_for_select(search_operators, condition[:operator]))
24
+ = text_field_tag(:column_value, condition[:value])
25
+
26
+
27
+
28
+ .fg-search-template
29
+ %li.fg-search-criterion
30
+ = fancygrid_button(:"fg-search-remove", :"search.remove", "Remove")
31
+ = select_tag(:column_name, options_for_select(searchable_columns))
32
+ = select_tag(:operator, options_for_select(search_operators ))
33
+ = text_field_tag(:column_value, "")
@@ -0,0 +1,20 @@
1
+ .fg-sort-window.ui-widget-overlay{ :style => "display: none;" }
2
+ .fg-sort-content{ :style => "display: none;" }
3
+ .ui-state-highlight.ui-corner-all
4
+ = t(:"sort.info", :scope => Fancygrid.i18n_scope)
5
+ %ul.fg-sortable-visible.fg-sortable.ui-widget-content.ui-corner-all
6
+ %li.fg-not-sortable.ui-corner-all.ui-state-active
7
+ %h4
8
+ = t(:"sort.header_visible", :scope => Fancygrid.i18n_scope)
9
+ - fancygrid.each_visible_leaf do |leaf|
10
+ %li.ui-state-default.ui-widget-header.ui-corner-all{ :class => leaf.css_class, :id => leaf.tag_name}
11
+ %span.ui-icon.ui-icon-arrowthick-2-n-s
12
+ = leaf.human_name
13
+ %ul.fg-sortable-hidden.fg-sortable.ui-widget-content.ui-corner-all
14
+ %li.fg-not-sortable.ui-corner-all.ui-state-active
15
+ %h4
16
+ = t(:"sort.header_hidden", :scope => Fancygrid.i18n_scope)
17
+ - fancygrid.each_hidden_leaf do |leaf|
18
+ %li.ui-state-default.ui-widget-header.ui-corner-all{ :class => leaf.css_class, :id => leaf.tag_name}
19
+ %span.ui-icon.ui-icon-arrowthick-2-n-s
20
+ = leaf.human_name
@@ -0,0 +1,45 @@
1
+ .fg-fancygrid{ :class => fancygrid.name }
2
+ - if fancygrid.has_complex_search?
3
+ = render(:template => Fancygrid.search_template, :locals => { :fancygrid => fancygrid })
4
+ - if fancygrid.has_top_control?
5
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => :"controls top" })
6
+
7
+ .fg-tablewrapper
8
+ %table
9
+ %tr.fg-header
10
+ - fancygrid.each_visible_leaf do |leaf|
11
+ %th{ :class => leaf.css_class, :table => leaf.record_table_name, :column => leaf.name, :order => leaf.applied_sort_order }
12
+ .fg-head-wrapper.fg-order-tag
13
+ = leaf.human_name
14
+
15
+ - if fancygrid.has_simple_search?
16
+ %tr.fg-search
17
+ - fancygrid.each_visible_leaf do |leaf|
18
+ %td{ :class => leaf.css_class }
19
+ - next unless leaf.searchable
20
+ - case leaf.search_input_kind
21
+ - when :none
22
+ = text_field_tag( leaf.tag_name, leaf.search_value, :class => :"fg-attribute" )
23
+ - when :select
24
+ = select_tag( leaf.tag_name, options_for_select(leaf.search_select_collection, :selected => leaf.search_value), :class => :"fg-attribute" )
25
+
26
+ - fancygrid.each_record do |record|
27
+ %tr.fg-row{ :class => fancygrid.css_proc_evaluate(record) }
28
+ - fancygrid.each_visible_leaf do |leaf|
29
+ %td{ :class => leaf.css_class }
30
+ = render_fancygrid_leaf(record, leaf, &format_block)
31
+
32
+ - if fancygrid.has_bottom_control?
33
+ = render(:template => Fancygrid.controls_template, :locals => { :fancygrid => fancygrid, :css_class => :"controls bottom" })
34
+ - if fancygrid.has_sort_window?
35
+ = render(:template => Fancygrid.sort_template, :locals => { :fancygrid => fancygrid })
36
+
37
+ - unless fancygrid.is_static?
38
+ :javascript
39
+ $(function(){
40
+ var fancyOptions = #{fancygrid.js_options};
41
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid(fancyOptions);
42
+ if(!fancyOptions.isStatic){
43
+ $(".fg-fancygrid.#{fancygrid.name}").fancygrid("reloadPage");
44
+ }
45
+ });
@@ -0,0 +1,67 @@
1
+ Fancygrid.setup do |config|
2
+
3
+ # The path to the table template which is rendered when the grid type is set
4
+ # to :table
5
+ #
6
+ # config.table_template = "fancygrid/base/table_frame"
7
+
8
+ # The path to the list template which is rendered when the grid type is set
9
+ # to :list
10
+ #
11
+ # config.list_template = "fancygrid/base/list_frame"
12
+
13
+ # The path to the controls template which is rendered at the top and the
14
+ # bottom of a grid
15
+ #
16
+ # config.controls_template = "fancygrid/base/controls"
17
+
18
+ # The path to the sort template which defines the view of the column sorting window
19
+ #
20
+ # config.sort_template = "fancygrid/base/sort"
21
+
22
+ # The path to the search template which defines the view of the complex search
23
+ #
24
+ # config.search_template = "fancygrid/base/search"
25
+
26
+ # The prefix that is used for every cells template. Default value is
27
+ # "fancygrid" so every template is expected in the "/app/views/fancygrid"
28
+ # directory
29
+ #
30
+ # config.cells_template_directory = "fancygrid"
31
+
32
+ # The default cells template name. This is combined with the
33
+ # 'default_cells_template_directory' to get the full template name
34
+ #
35
+ # config.cells_template = "_cells"
36
+
37
+ # Specifies the the internationalization namespace where the plugin will
38
+ # lookup for translations.
39
+ #
40
+ # config.i18n_scope = "fancygrid"
41
+
42
+ # Value specifying whether the grid name is automatily used as template name
43
+ # to render a grids cells
44
+ #
45
+ # config.use_grid_name_as_cells_template = false
46
+
47
+ # Value specifying whether the search is visible or not when the grid is
48
+ # rendered for the first time.
49
+ #
50
+ # config.search_visible = false
51
+
52
+ # Specifies the default grid type. Available values are :table and :list
53
+ # :table will render the data inside a table. Each record will get its own
54
+ # table row and each attribute its own cell.
55
+ # :list will render each record inside an unordered list as an li element.
56
+ # you must provide a rendering block or a template to render each record.
57
+ #
58
+ # config.default_grid_type = :table
59
+
60
+ # Default options for number of pages selection
61
+ #
62
+ # config.default_per_page_options = [5, 10, 15, 20, 25, 30, 40, 50]
63
+
64
+ # Default value for number of pagers selection
65
+ #
66
+ # config.default_per_page_selection = 20
67
+ end
@@ -0,0 +1,41 @@
1
+ de:
2
+ fancygrid:
3
+ pagination:
4
+ per_page: 'Pro Seite:'
5
+ page: 'Seite'
6
+ of: 'von'
7
+ results: 'Ergebnisse'
8
+
9
+ prev_page: 'Vorherige Seite'
10
+ next_page: 'Nächste Seite'
11
+ reload: 'Seite neu laden'
12
+ sort:
13
+ submit: "Spalten sortieren"
14
+ info: "Sie können die Spalten per Drag&Drop sortieren. Ziehen Sie die Spalten die Sie sehen möchten in die linke Liste, alle anderen in die rechte Liste. Klicken Sie zum Abschluss in den abgedunkelten Bereich."
15
+ header_visible: "Sichtbare Spalten"
16
+ header_hidden: "Versteckte Spalten"
17
+ search:
18
+ title: 'Suche'
19
+ submit: 'Suchen'
20
+ clear: 'Suche löschen'
21
+ toggle: 'Suchleiste zeigen/verstecken'
22
+ conditions: 'Alle Bedingungen müssen erfüllt sein:'
23
+
24
+ operator:
25
+ equal: 'gleich'
26
+ not_equal: 'ungleich'
27
+ less: 'kleiner'
28
+ less_equal: 'kleiner oder gleich'
29
+ greater: 'größer'
30
+ greater_equal: 'größer oder gleich'
31
+ starts_with: 'beginnt mit'
32
+ ends_with: 'endet mit'
33
+ like: 'ähnlich wie'
34
+ is_null: 'ist leer'
35
+ is_not_null: 'ist nicht leer'
36
+ is_true: 'ist wahr'
37
+ is_not_true: 'ist nicht wahr'
38
+ is_false: 'ist falsch'
39
+ is_not_false: 'ist nicht falsch'
40
+ in: 'ist in'
41
+ not_in: 'ist nicht in'
@@ -0,0 +1,42 @@
1
+ en:
2
+ fancygrid:
3
+ pagination:
4
+ per_page: 'Per page:'
5
+ page: 'Page'
6
+ of: 'of'
7
+ results: 'Results'
8
+ prev_page: 'Pervious page'
9
+ next_page: 'Next page'
10
+ reload: 'Reload'
11
+ sort:
12
+ submit: "Sort columns"
13
+ info: "You can sort the columns using drag&drop. Drag the columns you want to be visible into the left list and all other into the right list. To submit just click somwhere outside the two lists."
14
+ header_visible: "Visible columns"
15
+ header_hidden: "Hidden columns"
16
+ search:
17
+ title: 'Search'
18
+ submit: 'Apply search'
19
+ clear: 'Clear search'
20
+ toggle: 'Show/Hide search'
21
+ conditions: 'All conditions must be met:'
22
+
23
+ operator:
24
+ equal: 'equal'
25
+ not_equal: 'not equal'
26
+ less: 'less than'
27
+ less_equal: 'less equal than'
28
+ greater: 'greater than'
29
+ greater_equal: 'greater or equal to'
30
+ starts_with: 'starts with'
31
+ ends_with: 'ends with'
32
+ like: 'like'
33
+ is_null: 'is null'
34
+ is_not_null: 'is not null'
35
+ is_true: 'is true'
36
+ is_not_true: 'is not true'
37
+ is_false: 'is false'
38
+ is_not_false: 'is not false'
39
+ in: 'is in'
40
+ not_in: 'is not in'
41
+
42
+
data/fancygrid.gemspec ADDED
@@ -0,0 +1,162 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{fancygrid}
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Alexander Gr\303\244fenstein"]
12
+ s.date = %q{2011-08-21}
13
+ s.description = %q{Enables easy table rendering in rails applications}
14
+ s.email = %q{giniedp@online.de}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".bundle/config",
21
+ ".rspec",
22
+ "CHANGELOG",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "LICENSE",
26
+ "README.rdoc",
27
+ "ROADMAP",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "app/views/fancygrid/_cells.html.haml",
31
+ "app/views/fancygrid/base/controls.html.haml",
32
+ "app/views/fancygrid/base/list_frame.html.haml",
33
+ "app/views/fancygrid/base/search.html.haml",
34
+ "app/views/fancygrid/base/sort.html.haml",
35
+ "app/views/fancygrid/base/table_frame.html.haml",
36
+ "config/initializers/fancygrid.rb",
37
+ "config/locales/fancygrid.de.yml",
38
+ "config/locales/fancygrid.en.yml",
39
+ "fancygrid.gemspec",
40
+ "init.rb",
41
+ "lib/fancygrid.rb",
42
+ "lib/fancygrid/grid.rb",
43
+ "lib/fancygrid/helper.rb",
44
+ "lib/fancygrid/node.rb",
45
+ "lib/fancygrid/query_generator.rb",
46
+ "lib/fancygrid/view.rb",
47
+ "lib/generators/install_generator.rb",
48
+ "lib/generators/views_generator.rb",
49
+ "lib/version.rb",
50
+ "public/images/fancygrid/add.png",
51
+ "public/images/fancygrid/clear.png",
52
+ "public/images/fancygrid/ddn.png",
53
+ "public/images/fancygrid/dn.png",
54
+ "public/images/fancygrid/dots.png",
55
+ "public/images/fancygrid/loading.gif",
56
+ "public/images/fancygrid/magnifier.png",
57
+ "public/images/fancygrid/next.png",
58
+ "public/images/fancygrid/order.png",
59
+ "public/images/fancygrid/prev.png",
60
+ "public/images/fancygrid/reload.png",
61
+ "public/images/fancygrid/remove.png",
62
+ "public/images/fancygrid/spacer.gif",
63
+ "public/images/fancygrid/submit.png",
64
+ "public/images/fancygrid/th_bg.png",
65
+ "public/images/fancygrid/up.png",
66
+ "public/images/fancygrid/uup.png",
67
+ "public/javascripts/fancygrid.js",
68
+ "public/javascripts/fancygrid.min.js",
69
+ "public/stylesheets/fancygrid.css",
70
+ "public/stylesheets/fancygrid.scss",
71
+ "spec/dummy/Rakefile",
72
+ "spec/dummy/app/controllers/application_controller.rb",
73
+ "spec/dummy/app/helpers/application_helper.rb",
74
+ "spec/dummy/app/models/project.rb",
75
+ "spec/dummy/app/models/ticket.rb",
76
+ "spec/dummy/app/views/layouts/application.html.erb",
77
+ "spec/dummy/config.ru",
78
+ "spec/dummy/config/application.rb",
79
+ "spec/dummy/config/boot.rb",
80
+ "spec/dummy/config/database.yml",
81
+ "spec/dummy/config/environment.rb",
82
+ "spec/dummy/config/environments/development.rb",
83
+ "spec/dummy/config/environments/production.rb",
84
+ "spec/dummy/config/environments/test.rb",
85
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
86
+ "spec/dummy/config/initializers/inflections.rb",
87
+ "spec/dummy/config/initializers/mime_types.rb",
88
+ "spec/dummy/config/initializers/secret_token.rb",
89
+ "spec/dummy/config/initializers/session_store.rb",
90
+ "spec/dummy/config/locales/en.yml",
91
+ "spec/dummy/config/routes.rb",
92
+ "spec/dummy/db/migrate/20110112183948_create_projects.rb",
93
+ "spec/dummy/db/migrate/20110112183956_create_tickets.rb",
94
+ "spec/dummy/db/test.sqlite3",
95
+ "spec/dummy/log/development.log",
96
+ "spec/dummy/log/production.log",
97
+ "spec/dummy/log/server.log",
98
+ "spec/dummy/log/test.log",
99
+ "spec/dummy/public/404.html",
100
+ "spec/dummy/public/422.html",
101
+ "spec/dummy/public/500.html",
102
+ "spec/dummy/public/favicon.ico",
103
+ "spec/dummy/public/javascripts/application.js",
104
+ "spec/dummy/public/javascripts/controls.js",
105
+ "spec/dummy/public/javascripts/dragdrop.js",
106
+ "spec/dummy/public/javascripts/effects.js",
107
+ "spec/dummy/public/javascripts/prototype.js",
108
+ "spec/dummy/public/javascripts/rails.js",
109
+ "spec/dummy/public/stylesheets/.gitkeep",
110
+ "spec/dummy/script/rails",
111
+ "spec/grid_spec.rb",
112
+ "spec/integration/navigation_spec.rb",
113
+ "spec/node_spec.rb",
114
+ "spec/query_generator_spec.rb",
115
+ "spec/spec_helper.rb"
116
+ ]
117
+ s.homepage = %q{http://github.com/giniedp/fancygrid}
118
+ s.require_paths = ["lib"]
119
+ s.rubygems_version = %q{1.5.3}
120
+ s.summary = %q{Table rendering for rails applications}
121
+ s.test_files = [
122
+ "spec/dummy/app/controllers/application_controller.rb",
123
+ "spec/dummy/app/helpers/application_helper.rb",
124
+ "spec/dummy/app/models/project.rb",
125
+ "spec/dummy/app/models/ticket.rb",
126
+ "spec/dummy/config/application.rb",
127
+ "spec/dummy/config/boot.rb",
128
+ "spec/dummy/config/environment.rb",
129
+ "spec/dummy/config/environments/development.rb",
130
+ "spec/dummy/config/environments/production.rb",
131
+ "spec/dummy/config/environments/test.rb",
132
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
133
+ "spec/dummy/config/initializers/inflections.rb",
134
+ "spec/dummy/config/initializers/mime_types.rb",
135
+ "spec/dummy/config/initializers/secret_token.rb",
136
+ "spec/dummy/config/initializers/session_store.rb",
137
+ "spec/dummy/config/routes.rb",
138
+ "spec/dummy/db/migrate/20110112183948_create_projects.rb",
139
+ "spec/dummy/db/migrate/20110112183956_create_tickets.rb",
140
+ "spec/grid_spec.rb",
141
+ "spec/integration/navigation_spec.rb",
142
+ "spec/node_spec.rb",
143
+ "spec/query_generator_spec.rb",
144
+ "spec/spec_helper.rb"
145
+ ]
146
+
147
+ if s.respond_to? :specification_version then
148
+ s.specification_version = 3
149
+
150
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
151
+ s.add_development_dependency(%q<rails>, [">= 3.0.3"])
152
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
153
+ else
154
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
155
+ s.add_dependency(%q<jeweler>, [">= 0"])
156
+ end
157
+ else
158
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
159
+ s.add_dependency(%q<jeweler>, [">= 0"])
160
+ end
161
+ end
162
+