axlsx_rails 0.1.0 → 0.1.1

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- axlsx_rails (0.1.0)
4
+ axlsx_rails (0.1.1)
5
5
  axlsx
6
6
  rails (~> 3.1)
7
7
 
@@ -41,7 +41,8 @@ GEM
41
41
  i18n (>= 0.4.1)
42
42
  addressable (2.2.8)
43
43
  arel (3.0.2)
44
- axlsx (1.1.7)
44
+ axlsx (1.1.8)
45
+ htmlentities (~> 4.3.1)
45
46
  nokogiri (>= 1.4.1)
46
47
  rake (>= 0.8.7)
47
48
  rubyzip (>= 0.9.5)
@@ -73,6 +74,7 @@ GEM
73
74
  guard-rspec (1.2.0)
74
75
  guard (>= 1.1)
75
76
  hike (1.2.1)
77
+ htmlentities (4.3.1)
76
78
  httpauth (0.1)
77
79
  i18n (0.6.0)
78
80
  journey (1.0.4)
data/README.md CHANGED
@@ -1,17 +1,19 @@
1
1
  Axlsx-Rails — Axlsx templates for Rails views
2
2
  ===================================================
3
3
 
4
+ [![Build Status](https://secure.travis-ci.org/straydogstudio/axlsx_rails.png?branch=master)](http://travis-ci.org/straydogstudio/axlsx_rails)
5
+
4
6
  ##Installation
5
- --------------
6
- Until published:
7
- gem 'axlsx_rails', :git => "https://github.com/straydogstudio/axlsx_rails.git"
7
+
8
+ In your Gemfile:
9
+
10
+ gem 'axlsx_rails'
8
11
 
9
12
  ##Requirements
10
- --------------
13
+
11
14
  * Rails 3.1, but it has only been tested on 3.2.6
12
15
 
13
16
  ##Usage
14
- -------
15
17
 
16
18
  Axlsx-Rails provides a renderer and a template handler. It adds the :xlsx format and parses .xlsx.axslx templates.
17
19
 
@@ -25,7 +27,7 @@ You can either use the typical format:
25
27
 
26
28
  or call render directly:
27
29
 
28
- render "foobar", filename: "the_latest_foobar", disposition: 'inline'
30
+ render xlsx: "foobar", filename: "the_latest_foobar", disposition: 'inline'
29
31
 
30
32
  ###Template
31
33
 
@@ -54,15 +56,23 @@ To set the author attribute upon Axlsx::Package.new, insert the following in app
54
56
  Partials are currently untested.
55
57
 
56
58
  ##Dependencies
57
- --------------
59
+
58
60
  - [Axlsx](https://github.com/randym/axlsx)
59
61
 
60
62
  ##Authors
61
- ---------
63
+
62
64
  * [Noel Peden](https://github.com/straydogstudio)
63
65
 
64
66
  ##Change log
65
- ------------
67
+
68
+ - **July 19, 2012**: 0.1.1 release
69
+ - Travis-ci added (thanks randym)
70
+ - render statements and filename tests fixes (thanks engwan)
71
+
72
+ - **July 17, 2012**: 0.1.0 release
73
+ - Tests completed
74
+ - Acts_as_xlsx tested, example in docs
75
+
66
76
  - **July 12, 2012**: 0.0.1 release
67
- * Initial posting.
68
- * It works, but there are no tests! Bad programmer!
77
+ - Initial posting.
78
+ - It works, but there are no tests! Bad programmer!
@@ -2,15 +2,18 @@ require 'action_controller'
2
2
  Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx
3
3
 
4
4
  ActionController::Renderers.add :xlsx do |filename, options|
5
- disposition = options.delete(:disposition) || 'attachment'
6
- download_name = options.delete(:filename) || "#{filename}.xlsx"
7
- download_name += ".xlsx" unless download_name =~ /\.xlsx$/
8
- send_data render_to_string(filename, options), :filename => download_name, :type => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :disposition => disposition
5
+ options[:template] = filename
6
+
7
+ disposition = options.delete(:disposition) || 'attachment'
8
+ download_name = options.delete(:filename) || "#{filename}.xlsx"
9
+ download_name += ".xlsx" unless download_name =~ /\.xlsx$/
10
+
11
+ send_data render_to_string(options), :filename => download_name, :type => Mime::XLSX, :disposition => disposition
9
12
  end
10
13
 
11
14
  # For respond_to default
12
15
  class ActionController::Responder
13
- def to_xlsx
14
- controller.render :xlsx => controller.action_name
15
- end
16
- end
16
+ def to_xlsx
17
+ controller.render :xlsx => controller.action_name
18
+ end
19
+ end
@@ -5,9 +5,9 @@ module ActionView
5
5
  def default_format
6
6
  Mime::XLSX
7
7
  end
8
-
8
+
9
9
  def self.call(template)
10
- "xlsx_package = Axlsx::Package.new(:author => #{axlsx_author.inspect});\n" +
10
+ "xlsx_package = Axlsx::Package.new(:author => #{axlsx_author.inspect});\n" +
11
11
  template.source +
12
12
  ";\nxlsx_package.to_stream.string;"
13
13
  end
@@ -21,4 +21,4 @@ module ActionView
21
21
  end
22
22
  end
23
23
 
24
- ActionView::Template.register_template_handler :axlsx, ActionView::Template::Handlers::AxlsxBuilder
24
+ ActionView::Template.register_template_handler :axlsx, ActionView::Template::Handlers::AxlsxBuilder
@@ -1,3 +1,3 @@
1
1
  module AxlsxRails
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -8,7 +8,7 @@ describe 'Axlsx request', :type => :request do
8
8
 
9
9
  it "downloads an excel file from default respond_to" do
10
10
  visit '/home.xlsx'
11
- page.response_headers['Content-Type'].should == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8"
11
+ page.response_headers['Content-Type'].should == Mime::XLSX
12
12
  File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
13
13
  wb = nil
14
14
  expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
@@ -17,9 +17,10 @@ describe 'Axlsx request', :type => :request do
17
17
 
18
18
  it "downloads an excel file from render statement with filename" do
19
19
  visit '/another.xlsx'
20
- page.response_headers['Content-Type'].should == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8"
21
- # Not being sent for some reason
22
- # page.response_headers['Content-Disposition'].should include("filename=\"filename_test.xlsx\"")
20
+
21
+ page.response_headers['Content-Type'].should == Mime::XLSX
22
+ page.response_headers['Content-Disposition'].should include("filename=\"filename_test.xlsx\"")
23
+
23
24
  File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
24
25
  wb = nil
25
26
  expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
@@ -37,4 +38,4 @@ describe 'Axlsx request', :type => :request do
37
38
  wb.cell(3,2).should == 'Bugs'
38
39
  end
39
40
 
40
- end
41
+ end
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env sh
2
+ cd spec/dummy && bundle install --without debug && bundle exec rake db:create && bundle exec rake db:migrate && cd ../../ && bundle exec rake spec
@@ -8,7 +8,7 @@
8
8
  #---
9
9
  class HomeController < ApplicationController
10
10
  def another
11
- render "index", :filename => "filename_test.xlsx"
11
+ render :xlsx => "index", :filename => "filename_test.xlsx"
12
12
  end
13
13
 
14
14
  def index
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axlsx_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-17 00:00:00.000000000 Z
12
+ date: 2012-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -193,6 +193,7 @@ files:
193
193
  - spec/axlsx_builder_spec.rb
194
194
  - spec/axlsx_renderer_spec.rb
195
195
  - spec/axlsx_request_spec.rb
196
+ - spec/ci.sh
196
197
  - spec/dummy/app/assets/javascripts/application.js
197
198
  - spec/dummy/app/assets/stylesheets/application.css
198
199
  - spec/dummy/app/controllers/application_controller.rb
@@ -262,7 +263,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
263
  version: '0'
263
264
  segments:
264
265
  - 0
265
- hash: -4584229107608640527
266
+ hash: -1578624938055063002
266
267
  required_rubygems_version: !ruby/object:Gem::Requirement
267
268
  none: false
268
269
  requirements:
@@ -271,7 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
272
  version: '0'
272
273
  segments:
273
274
  - 0
274
- hash: -4584229107608640527
275
+ hash: -1578624938055063002
275
276
  requirements: []
276
277
  rubyforge_project:
277
278
  rubygems_version: 1.8.24
@@ -282,6 +283,7 @@ test_files:
282
283
  - spec/axlsx_builder_spec.rb
283
284
  - spec/axlsx_renderer_spec.rb
284
285
  - spec/axlsx_request_spec.rb
286
+ - spec/ci.sh
285
287
  - spec/dummy/app/assets/javascripts/application.js
286
288
  - spec/dummy/app/assets/stylesheets/application.css
287
289
  - spec/dummy/app/controllers/application_controller.rb