rails_slickgrid 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -5,7 +5,7 @@ Rails Slickgrid is an effort to make the fast javascript grid/spreadsheet [Slick
5
5
  ## What It Can Do
6
6
  1. Generates the static assets for slickgrid into your public directory
7
7
  2. Provides a method to include these assets in your layout
8
- 3. Generates a slickgrid from an array of hashes
8
+ 3. Generates a slickgrid from an array of hashes or records(ActiveRecord)
9
9
 
10
10
  ## Installation
11
11
 
@@ -22,7 +22,7 @@ Rails Slickgrid is an effort to make the fast javascript grid/spreadsheet [Slick
22
22
 
23
23
  ## Usage
24
24
 
25
- After installing, in your view simply `slickgrid(data)` where data is an array of hashes.
25
+ After installing, in your view simply `slickgrid(records)`
26
26
 
27
27
  ## TODO
28
28
  1. Automatic grid generation
@@ -35,15 +35,10 @@ module RailsSlickgrid
35
35
  def slickgrid_function(data)
36
36
  "\n" +
37
37
  File.read( File.expand_path("../templates/grid.js", __FILE__) ).
38
- gsub(/\'COLUMNS_MARKER\'/,columns_from_data(data)).
39
- gsub(/\'DATA_MARKER\'/, data.to_json) +
38
+ gsub(/\'COLUMNS_MARKER\'/,ColumnExtractor.from_data(data).to_json).
39
+ gsub(/\'DATA_MARKER\'/, DataExtractor.from_data(data).to_json) +
40
40
  "\n"
41
41
  end
42
42
 
43
- def columns_from_data(data)
44
- data.first.keys.collect do |kee|
45
- {:id => kee, :name => kee.to_s.humanize, :field => kee}
46
- end.to_json
47
- end
48
43
  end
49
44
  end
@@ -0,0 +1,10 @@
1
+ module RailsSlickgrid
2
+ module ColumnExtractor
3
+ extend self
4
+ def from_data(data)
5
+ data.first.keys.collect do |kee|
6
+ {:id => kee, :name => kee.to_s.humanize, :field => kee}
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ module RailsSlickgrid
2
+ module DataExtractor
3
+ extend self
4
+
5
+ def from_data(data)
6
+ return from_ar(data) if data.first.is_a? ActiveRecord::Base
7
+ return data
8
+ end
9
+
10
+ def from_ar(data)
11
+ data.collect(&:attributes)
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsSlickgrid
2
- VERSION = "0.0.2".freeze
2
+ VERSION = "0.0.3".freeze
3
3
  end
@@ -1,6 +1,9 @@
1
1
  module RailsSlickgrid
2
2
  end
3
3
 
4
+ require 'rails_slickgrid/column_extractor'
5
+ require 'rails_slickgrid/data_extractor'
6
+
4
7
  if defined?(::Rails::Railtie)
5
8
  require 'rails_slickgrid/railtie'
6
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_slickgrid
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joe Martinez
@@ -39,6 +39,8 @@ files:
39
39
  - lib/generators/rails_slickgrid/install/stylesheets/slick.grid.css
40
40
  - lib/generators/rails_slickgrid/install/stylesheets/slick.pager.css
41
41
  - lib/rails_slickgrid/action_view.rb
42
+ - lib/rails_slickgrid/column_extractor.rb
43
+ - lib/rails_slickgrid/data_extractor.rb
42
44
  - lib/rails_slickgrid/railtie.rb
43
45
  - lib/rails_slickgrid/templates/grid.coffee
44
46
  - lib/rails_slickgrid/templates/grid.js