ruby2xlsx 0.0.4 → 0.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 942b600465ceeeabbccb6ccdd389bac0ed1ca994
4
- data.tar.gz: ef51a146ad9b8f21978f63b75146cd9587391d90
3
+ metadata.gz: b19a9586278d113d34660eac59c9f4c1d3ed22e9
4
+ data.tar.gz: 8e874b6ea63d7027c763637379ee324185500936
5
5
  SHA512:
6
- metadata.gz: 917c1b47e0aeba4b86b10d52e24243197f5f2871fe63f0c7bcd1037c4c06aa8af36dc96f92c3050d0d2b5a1dd9cbfad93f7dabcc64dba4a82e2bce8a3ddba922
7
- data.tar.gz: e30634d694cddcbde5e509f06f1f50d8a511393850c3bafbaccbd4be035f3e09476bcf14f69afe2ad83f68a71915598db0d030e350b8c3d59431a272c0de5fb3
6
+ metadata.gz: 91edd945b70d6eb29de52792c5314d5c09a1db3fb442694858014ca9b03ee1be07422a7358a06c9880b25950f83aa60f4395ddb667c4bc788c026223ae7cd07b
7
+ data.tar.gz: 94bc04c690624d31274daab915d27d1d3c5d993c5f9d1b606dad6cdb0fbf62610b9ecc2c84bf1904d8b90abe0a6392783b9bb8571e29a48ba177a586f116c4fb
@@ -4,7 +4,7 @@ Export your data to Excel. Provide two ways for export data: template or rendere
4
4
 
5
5
  == Install
6
6
 
7
- This is very simple (Rails 3 only):
7
+ Add gem to your Gemfile:
8
8
 
9
9
  gem "ruby2xlsx"
10
10
 
@@ -25,8 +25,8 @@ You can use two types: template and renderer.
25
25
 
26
26
  With options:
27
27
 
28
- format.xlsx { render xlsx: @articles,
29
- :columns => [:id, :title, :updated_at],
28
+ format.xlsx { render xlsx: @articles,
29
+ :columns => [:id, :title, :updated_at],
30
30
  :filename => ["articles_", Time.now.to_s, ".xlsx"].join,
31
31
  :worksheet_name => "My articles" }
32
32
 
@@ -36,22 +36,22 @@ In controller (app/controllers/articles_controller.rb):
36
36
 
37
37
  class ArticlesController < ApplicationController
38
38
  respond_to :xlsx, :only => [:index]
39
-
39
+
40
40
  def index
41
41
  @articles = Article.order('id DESC')
42
42
  @xlsx_filename = "some_file_name"
43
-
43
+
44
44
  respond_with(@articles)
45
45
  end
46
46
  end
47
47
 
48
48
  In view (app/views/articles/index.xlsx.xrb):
49
-
49
+
50
50
  add_worksheet "Data"
51
51
 
52
52
  bold = add_format(:bold => 1)
53
53
  headings = [ 'Title', 'Views', 'Comments' ]
54
-
54
+
55
55
  write('A1', headings, bold)
56
56
 
57
57
  @articles.each_with_index do |article, index|
@@ -60,7 +60,7 @@ In view (app/views/articles/index.xlsx.xrb):
60
60
  write(row, 1, article.views_count)
61
61
  write(row, 2, article.comments_count)
62
62
  end
63
-
63
+
64
64
  chart4 = add_chart(:name => 'Results Chart', :type => 'Chart::Area')
65
65
 
66
66
  # Configure the series.
@@ -1,9 +1,9 @@
1
1
  module Ruby2xlsx
2
- autoload :Xrb, "ruby2xlsx/xrb"
3
- autoload :Base, "ruby2xlsx/base"
4
- autoload :Template, "ruby2xlsx/template"
5
- autoload :Document, "ruby2xlsx/document"
6
- autoload :Default, "ruby2xlsx/default"
2
+ autoload :Xrb, 'ruby2xlsx/xrb'
3
+ autoload :Base, 'ruby2xlsx/base'
4
+ autoload :Template, 'ruby2xlsx/template'
5
+ autoload :Document, 'ruby2xlsx/document'
6
+ autoload :Default, 'ruby2xlsx/default'
7
7
  end
8
8
 
9
- require "ruby2xlsx/engine"
9
+ require 'ruby2xlsx/engine'
@@ -11,28 +11,28 @@ module Ruby2xlsx
11
11
  @compiled = false
12
12
  @io = ::StringIO.new
13
13
  end
14
-
14
+
15
15
  def workbook
16
16
  @workbook ||= ::WriteExcel.new(@io)
17
17
  end
18
-
18
+
19
19
  def worksheet
20
20
  @worksheet ||= add_worksheet(worksheet_name)
21
21
  end
22
-
22
+
23
23
  def add_worksheet(*args)
24
24
  @worksheet = workbook.add_worksheet(*args)
25
25
  end
26
-
26
+
27
27
  def render(*args)
28
28
  workbook.close
29
29
  @io.string
30
30
  end
31
-
31
+
32
32
  def worksheet_name
33
- "somename"
33
+ 'somename'
34
34
  end
35
-
35
+
36
36
  def method_missing(m, *args, &block)
37
37
  if worksheet.respond_to?(m)
38
38
  worksheet.send(m, *args, &block)
@@ -1,19 +1,19 @@
1
1
  module Ruby2xlsx
2
2
  class Document < Base
3
3
  def render
4
- date_format = workbook.add_format(:num_format => 'dd.mm.yyyy')
5
- time_format = workbook.add_format(:num_format => 'dd.mm.yyyy HH:MM')
6
-
4
+ date_format = workbook.add_format(num_format: 'dd.mm.yyyy')
5
+ time_format = workbook.add_format(num_format: 'dd.mm.yyyy HH:MM')
6
+
7
7
  each_with_index do |record, index|
8
8
  row = index + 1
9
-
9
+
10
10
  columns_names.each_with_index do |column, num|
11
11
  value = record.send(column)
12
-
12
+
13
13
  case value
14
- when Date then
14
+ when Date then
15
15
  worksheet.write_string(row, num, value.strftime("%Y-%m-%dT"), date_format)
16
- when DateTime, Time then
16
+ when DateTime, Time then
17
17
  worksheet.write_date_time(row, num, value.strftime("%Y-%m-%dT%H:%M:%S.%L"), time_format)
18
18
  when String then
19
19
  worksheet.write_string(row, num, value)
@@ -22,34 +22,34 @@ module Ruby2xlsx
22
22
  end
23
23
  end
24
24
  end
25
-
26
- bold = workbook.add_format(:bold => 1)
25
+
26
+ bold = workbook.add_format(bold: 1)
27
27
  worksheet.write('A1', human_columns_names, bold)
28
-
28
+
29
29
  super
30
30
  end
31
-
31
+
32
32
  def columns_names
33
33
  @columns_names ||= (@options[:columns] || @klass.column_names)
34
34
  end
35
-
35
+
36
36
  def human_columns_names
37
37
  @human_columns_names ||= columns_names.map { |column| @klass.human_attribute_name(column.to_s) }
38
38
  end
39
-
39
+
40
40
  def worksheet_name
41
41
  @worksheet_name ||= (@options[:worksheet_name] || @klass.model_name.human)
42
42
  end
43
-
43
+
44
44
  def filename
45
- @filename ||= [(@options[:filename] || @klass.model_name.plural || "document"), ".xls"].join
45
+ @filename ||= [(@options[:filename] || @klass.model_name.plural || 'document'), '.xls'].join
46
46
  end
47
-
47
+
48
48
  def each_with_index
49
49
  count = 0
50
50
  if defined?(ActiveRecord) && @source.is_a?(::ActiveRecord::Relation)
51
51
  @klass ||= @source.klass
52
-
52
+
53
53
  @source.find_each do |item|
54
54
  yield item, count
55
55
  count += 1
@@ -58,7 +58,7 @@ module Ruby2xlsx
58
58
  items = Array.wrap(@source)
59
59
  @klass ||= items.first.class unless items.empty?
60
60
  @klass ||= Default
61
-
61
+
62
62
  items.each do |item|
63
63
  yield item, count
64
64
  count += 1
@@ -3,14 +3,16 @@ require 'ruby2xlsx'
3
3
 
4
4
  module Ruby2xlsx
5
5
  class Engine < ::Rails::Engine
6
- initializer "ruby2xlsx.setup" do
7
- ::Mime::Type.register "application/vnd.ms-excel", :xlsx
6
+ initializer 'ruby2xlsx.setup' do
7
+ ::Mime::Type.register 'application/vnd.ms-excel', :xlsx
8
8
 
9
9
  ::ActionView::Template.register_template_handler :xrb, Ruby2xlsx::Xrb.new
10
10
 
11
11
  ::ActionController::Renderers.add :xlsx do |collection, options|
12
12
  doc = Ruby2xlsx::Document.new(collection, options)
13
- send_data(doc.render, :filename => doc.filename, :type => "application/vnd.ms-excel", :disposition => "attachment")
13
+ send_data(doc.render, filename: doc.filename,
14
+ type: 'application/vnd.ms-excel',
15
+ disposition: 'attachment')
14
16
  end
15
17
  end
16
18
  end
@@ -1,3 +1,3 @@
1
1
  module Ruby2xlsx
2
- VERSION = "0.0.4".freeze
2
+ VERSION = '0.1.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby2xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Galeta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-23 00:00:00.000000000 Z
11
+ date: 2018-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: writeexcel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.12
19
+ version: 1.0.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.6.12
26
+ version: 1.0.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 3.1.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 3.1.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,13 +66,17 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.1.2
69
- description: Another gem for exporting data to Excel
69
+ description: Another gem for easy exporting data to Excel
70
70
  email:
71
71
  - galeta.igor@gmail.com
72
72
  executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - MIT-LICENSE
77
+ - README.rdoc
78
+ - Rakefile
79
+ - lib/ruby2xlsx.rb
76
80
  - lib/ruby2xlsx/base.rb
77
81
  - lib/ruby2xlsx/default.rb
78
82
  - lib/ruby2xlsx/document.rb
@@ -80,11 +84,7 @@ files:
80
84
  - lib/ruby2xlsx/template.rb
81
85
  - lib/ruby2xlsx/version.rb
82
86
  - lib/ruby2xlsx/xrb.rb
83
- - lib/ruby2xlsx.rb
84
- - lib/tasks/ruby2xlsx_tasks.rake
85
- - MIT-LICENSE
86
- - Rakefile
87
- - README.rdoc
87
+ - test/dummy/Rakefile
88
88
  - test/dummy/app/assets/javascripts/application.js
89
89
  - test/dummy/app/assets/javascripts/articles.js
90
90
  - test/dummy/app/assets/stylesheets/application.css
@@ -102,6 +102,7 @@ files:
102
102
  - test/dummy/app/views/articles/new.html.erb
103
103
  - test/dummy/app/views/articles/show.html.erb
104
104
  - test/dummy/app/views/layouts/application.html.erb
105
+ - test/dummy/config.ru
105
106
  - test/dummy/config/application.rb
106
107
  - test/dummy/config/boot.rb
107
108
  - test/dummy/config/database.yml
@@ -117,13 +118,11 @@ files:
117
118
  - test/dummy/config/initializers/wrap_parameters.rb
118
119
  - test/dummy/config/locales/en.yml
119
120
  - test/dummy/config/routes.rb
120
- - test/dummy/config.ru
121
121
  - test/dummy/db/migrate/20120116125427_create_articles.rb
122
122
  - test/dummy/public/404.html
123
123
  - test/dummy/public/422.html
124
124
  - test/dummy/public/500.html
125
125
  - test/dummy/public/favicon.ico
126
- - test/dummy/Rakefile
127
126
  - test/dummy/script/rails
128
127
  - test/integration/navigation_test.rb
129
128
  - test/ruby2xlsx_test.rb
@@ -148,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
147
  version: '0'
149
148
  requirements: []
150
149
  rubyforge_project:
151
- rubygems_version: 2.1.11
150
+ rubygems_version: 2.6.12
152
151
  signing_key:
153
152
  specification_version: 4
154
153
  summary: 'Export your data to Excel. Provide two ways for export data: template or
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :ruby2xlsx do
3
- # # Task goes here
4
- # end