the_grid 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzY4MDZjNWJiYWE1MGE3ZWRhYzk2NzU5NmY5ZjJhNGNhZDMwZGQ5Ng==
4
+ MmUzMzViNTAwMmM5MjlmNGVjOWY2OGY1N2E3ZmVhMzBiYTA5NDhlOA==
5
5
  data.tar.gz: !binary |-
6
- MzY3YmI4Yzk2ZDU1ZjM5OTBhOTYyYzQxMTI4NWY5NTdjMTc1N2IwZQ==
6
+ YWY0N2ZlYzE4N2U1ZWUwMjhkOTJjNWUzNjE3OTY0ZDY4ODlkNTNkOQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZmYyMzkwYzk0NGQ2YzhiZDdlM2FiODZjNzg2MDk0YWI2YTg0ZmI4MmZjODlk
10
- MWU3ZTNjNDI3NjBiODVmOGE5MTI4YTM5OGZlNDQ2OGVjZDBkNTgyZjc4NWQy
11
- ZTNjYjUyN2E0OTRlODRmZmJlMjMyMDU3N2JkYWE1Y2JjN2NjMzk=
9
+ ZWU3NzRhMGNjM2ZiMzQwMGVjMTAyNTdhMTQyZDE2MDM3YzQ1ZjNhODhhZDc5
10
+ ZGZiZDdmNGM1ZmRlMDY5ZjU1M2U1ZDdkZjE2MTQ5YjZmMjc3MDE2MGJiYmRk
11
+ N2ZmOGVhN2YwODZjOTFiNDBiOTNiYmRjNTIwMTBmNzQ4NmJjYWU=
12
12
  data.tar.gz: !binary |-
13
- MDAzMDgwM2M2MDAzYWE4MjYyNzZmYWI5MTExOWNhMTZjODFiOWRjNTEyMDkz
14
- MTYwOTdiNWFlMjE3NWQxN2NhYmM2YmQ5NTk5ZjA1MDk3NjViZjVhM2NjN2Zl
15
- OTc3ODYyZTNlYmQ4NTdhM2IxNzQyYzE1NjAxZDY0YjBhNDNkNzk=
13
+ ZmE5ZDRkODVjMjMxMzI1MDRkNDQzMzkwYjU4MTZlZWIxMWFjYTBiMjAxYzRh
14
+ ODgxZmU3ZmJlOGMxZWI3ZjE5ODc5MDJhMzY5ZGIxNDU0MTAxZDE5Nzk5ZDVm
15
+ ZDdjYmMzNmI5NDY1MzJmMzQ5MDU5MTk2Zjg4ZWRjOTUwZDVjOTU=
@@ -13,7 +13,7 @@ module TheGrid
13
13
 
14
14
  def assemble_with(params)
15
15
  options = params.merge context.params
16
- api.compose!(options.merge :per_page => BATCH_SIZE)
16
+ api.compose!(options.merge :per_page => BATCH_SIZE) if api.relation.respond_to?(:except)
17
17
  generate_csv_with(options)
18
18
  end
19
19
 
@@ -22,9 +22,13 @@ module TheGrid
22
22
  def generate_csv_with(options)
23
23
  CSV.generate do |csv|
24
24
  csv << headers
25
- put_relation_to(csv)
25
+ api.relation.kind_of?(Array) ? put_data_to(csv) : put_relation_to(csv)
26
26
  end
27
27
  end
28
+
29
+ def put_data_to(csv)
30
+ put_records_to(csv, api.relation)
31
+ end
28
32
 
29
33
  def put_relation_to(csv)
30
34
  (1..api.options[:max_page]).each do |page|
@@ -38,7 +42,7 @@ module TheGrid
38
42
  end
39
43
 
40
44
  def headers
41
- context.options[:headers] || context.columns.keys.map { |col| col.to_s.titleize }
45
+ context.options[:titles] || context.columns.keys.map { |col| col.to_s.titleize }
42
46
  end
43
47
 
44
48
  end
@@ -37,7 +37,7 @@ module TheGrid
37
37
 
38
38
  def grid_for(relation, options = {}, &block)
39
39
  context = Context.new(options.merge(:scope => @_scope), &block)
40
- @_view_type.new(relation, context)
40
+ @_view_type.new(relation, context).assemble_with(@_scope.params)
41
41
  end
42
42
 
43
43
  def method_missing(name, *args, &block)
@@ -1,3 +1,3 @@
1
1
  module TheGrid
2
- VERSION = "1.1.1"
2
+ VERSION = "1.1.2"
3
3
  end
@@ -13,13 +13,13 @@ describe TheGrid::Builder::Csv do
13
13
  let(:params) {{ :cmd => [:sort], :field => :name, :order => :desc, :per_page => subject.class.const_get("BATCH_SIZE") }}
14
14
 
15
15
  it "generates expected csv string" do
16
- subject.assemble_with(params).should eql generate_csv(records, subject.context.options[:headers])
16
+ subject.assemble_with(params).should eql generate_csv(records, subject.context.options[:titles])
17
17
  end
18
18
 
19
- it "uses titleized column names if headers are not specified" do
19
+ it "uses titleized column names if titles are not specified" do
20
20
  subject.context.stub(:options => {})
21
- headers = record.keys.map{|c| c.to_s.titleize }
22
- subject.assemble_with(params).should eql generate_csv(records, headers)
21
+ titles = record.keys.map{|c| c.to_s.titleize }
22
+ subject.assemble_with(params).should eql generate_csv(records, titles)
23
23
  end
24
24
 
25
25
  it "generates csv records in batches" do
@@ -28,16 +28,16 @@ describe TheGrid::Builder::Csv do
28
28
  end
29
29
 
30
30
 
31
- def generate_csv(records, headers)
31
+ def generate_csv(records, titles)
32
32
  CSV.generate do |csv|
33
- csv << headers
33
+ csv << titles
34
34
  records.each{ |item| csv << item.values }
35
35
  end
36
36
  end
37
37
 
38
38
  def build_context
39
39
  TheGrid::Builder::Context.new do
40
- headers "Id", "Title", "Status", "Description"
40
+ titles "Id", "Title", "Status", "Description"
41
41
  column :name
42
42
  column :status
43
43
  column :text
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_grid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergiy Stotskiy
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-18 00:00:00.000000000 Z
12
+ date: 2013-05-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord