rubyxls 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 916fc2dfc59c54e0b7b0418f704e98d5c5b82035
4
- data.tar.gz: 632abe4a09d98fc68e92e98517898d20a12b5593
3
+ metadata.gz: eb3630d44053544b4a5943ee6f3ffb26e21bddae
4
+ data.tar.gz: 89bb16cdd9d467525549d901937aa3747b1c3d11
5
5
  SHA512:
6
- metadata.gz: 88ccdab6fe99bd83a28fccc9b6d48eb8b7c644be8cd50067fa7787b3d42f99864f154349223e0db6ba61eb0b39474a7863cdc6ad3ac30bf6b6ed383f084857b0
7
- data.tar.gz: e099d55019ad9074bc82a6b8b30ea071f94d589c706512b2cb154b25999d2fc5e886cd91bc6b524cd9184ecab54b403b981c9c9bc1f55bdf83c5e46a70789365
6
+ metadata.gz: 26a1793e58dbb39221afd293339a1eb0b59b1a5e226347b878448492c3f6c21d8ac03a62f3b73f79ef57db40197aed12de95bd4a69067e62452b0880edfff6e6
7
+ data.tar.gz: 6782d5f75f510bee6af778b092bcb9753ab1aa5e8c6e47481760e9b17e0d37596ba2657b7ae983a0afb89cf718bb529ddf37b02cc195cfa1c478e9f357f1cd5f
data/README.md CHANGED
@@ -1,8 +1,13 @@
1
+ [![CircleCI](https://circleci.com/gh/viewthespace/rubyxls.svg?style=svg)](https://circleci.com/gh/viewthespace/rubyxls) [![Code Climate](https://codeclimate.com/repos/576ddc37553f02006c008f07/badges/718e1d902d9467fa7145/gpa.svg)](https://codeclimate.com/repos/576ddc37553f02006c008f07/feed)
2
+
1
3
  # Rubyxls
2
4
 
3
- Generate XLS files using ruby. Rubyxls provides a simple DSL :o express anything from simple ruby strings to complex Active Record models.
5
+ Generate XLS files using ruby. Rubyxls provides a simple DSL to express anything from simple ruby strings to complex Active Record models.
4
6
  Support for multi-sheet workbooks, chart generation, and formula based cells included.
5
7
 
8
+ **This would not have been possible without the hard work of the Axlsx team. Thanks for creating the foundation
9
+ that Rubyxls is built on top of! Please be sure to check out their repo here: https://github.com/randym/axlsx.**
10
+
6
11
  ## Installation
7
12
 
8
13
  Add this line to your application's Gemfile:
@@ -55,8 +60,8 @@ class YourVeryOwnReport < Rubyxls::Report
55
60
  end
56
61
  end
57
62
  ```
58
- - **Inherit from Rubyxls::Report** - this will give you all the functionality a report needs to build itself.
59
- - **Call super() in #initialize** - this will create an instance variable `@workbooks` to hold all of the beautfiul workbooks you are about to create!
63
+ - **Extend `Rubyxls::Report`** - this will give you all the functionality a report needs to build itself.
64
+ - **Call `super()` in `#initialize`** - this will create an instance variable `@workbooks` to hold all of the beautfiul workbooks you are about to create!
60
65
  - **#build_workbooks!** - append any workbooks that you create into `@workbooks` so that your report "has_many" workbooks just like the real excel!
61
66
 
62
67
  #### Workbook
@@ -76,8 +81,8 @@ class YourVeryOwnWorkbook < Rubyxls::Workbook
76
81
 
77
82
  end
78
83
  ```
79
- - **Inherit from Rubyxls::Workbook** - get all of that groovy (not the programming language) functionality that Rubyxls gives your Workbook.
80
- - **Call super() in #initialize passing in a "name" parameter** - this will create an instance variable `@sheets` to hold all of your sheets and will name the workbook you are creating.
84
+ - **Extend `Rubyxls::Workbook`** - get all of that groovy (not the programming language) functionality that Rubyxls gives your Workbook.
85
+ - **Call `super()` in `#initialize` passing in a "`name`" parameter** - this will create an instance variable `@sheets` to hold all of your sheets and will name the workbook you are creating.
81
86
  - **#build_sheets!** - append any sheets that you create into `@sheets` so that your workbook "has_many" sheets!
82
87
 
83
88
  #### Sheet
@@ -98,8 +103,8 @@ class YourVeryOwnSheet < Rubyxls::Sheet
98
103
 
99
104
  end
100
105
  ```
101
- - **Inherit from Rubyxls::Sheet** - gotta get that sheet functionality
102
- - **Call super() in #initialize passing in a "name" parameter** - this will give your sheet a name
106
+ - **Extend `Rubyxls::Sheet`** - gotta get that sheet functionality
107
+ - **Call `super()` in `#initialize` passing in a "`name`" parameter** - this will give your sheet a name
103
108
  - **#build_cells!** - this is the dumping ground for all of your data. The CellBuilder, which takes in a view model as a parameter will break apart your view models / tables into invidual
104
109
  cells and organize them properly. Don't forget to specify where on the sheet you would like your view models to be drawn using `start_row` and `start_column`!
105
110
  Behind the scenes, we are taking all of your modularized view models, breaking them apart into individual cells, throwing all of those cells into one LARGE pot and re-arranging them in the
@@ -111,7 +116,7 @@ class YourVeryOwnViewModel < Rubyxls::ViewModel
111
116
 
112
117
  def initialize(whatever_data_you_need)
113
118
  @data = whatever_data_you_need
114
- super() # Call #super passing in no parameters
119
+ super() # Call #super passing in no parameters
115
120
  end
116
121
 
117
122
  private
@@ -124,9 +129,9 @@ class YourVeryOwnViewModel < Rubyxls::ViewModel
124
129
 
125
130
  end
126
131
  ```
127
- - **Inherit from Rubyxls::ViewModel**
128
- - **Call super() in #initialize passing**
129
- - **#build_data_rows!** - this is where you decide what data goes into the workbook and how it looks. Let's break it down by describing the ruby version of each excel component that makes up a row.
132
+ - **Extend `Rubyxls::ViewModel`**
133
+ - **Call `super()` in `#initialize`**
134
+ - **`#build_data_rows!`** - this is where you decide what data goes into the workbook and how it looks. Let's break it down by describing the ruby version of each excel component that makes up a row.
130
135
  ```
131
136
  | Ruby | Excel | Desciption |
132
137
  | ----- ------- ------------------------------------------------------ |
@@ -143,6 +148,21 @@ end
143
148
  ```
144
149
  A list of default styles is provided below!
145
150
 
151
+
152
+ #### Generating a report file
153
+
154
+ Once a `Report` object and all of its associated components are initialized, generating an output file is straightforward.
155
+
156
+ `Rubyxls::Report#download!` returns an IO stream that can be written to a file.
157
+
158
+ If a `Report` has more than one workbook, the generated output file will be a `zip` file (containing multiple spreadsheets) instead of an `xslx` (Excel) file. The `#file_extension` method will return the expected file extension for the file.
159
+
160
+ ````ruby
161
+ File.open("myfile.#{my_report.file_extension}", 'w') do |f|
162
+ f << report.download!.read
163
+ end
164
+ ````
165
+
146
166
  ### Styling
147
167
  #### Default Styles
148
168
  - :bold
@@ -157,10 +177,10 @@ end
157
177
  - :bottom_align
158
178
  - :middle_align
159
179
  - :border_right
160
- - :boder_left
161
- - :boder_top
162
- - :boder_bottom
163
- - :boder_all
180
+ - :border_left
181
+ - :border_top
182
+ - :border_bottom
183
+ - :border_all
164
184
  - :number
165
185
  - :decimal
166
186
  - :date
@@ -191,8 +211,8 @@ class YourVeryOwnCustomStyleManager < Rubyxls::StyleManager
191
211
 
192
212
  end
193
213
  ```
194
- - **Inherit from Rubyxls::StyleManager**
195
- - **Call super in #initialize passing** - in order to get all of those default styles that Rubyxls provides.
214
+ - **Extend `Rubyxls::StyleManager`**
215
+ - **Call `super` in `#initialize`** - in order to get all of those default styles that Rubyxls provides.
196
216
  - **#initialize_base_styles!** - define your own styles according the the excel specification. Each style only needs a set of attributes.
197
217
 
198
218
  Now you can apply your newly defined styles inside of any sheet.
@@ -218,7 +238,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
218
238
 
219
239
  ## Contributing
220
240
 
221
- Bug reports and pull requests are welcome on GitHub at https://github.com/alexanderfrankel/rubyxls. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
241
+ Bug reports and pull requests are welcome on GitHub at https://github.com/viewthespace/rubyxls. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
222
242
 
223
243
 
224
244
  ## License
@@ -1,3 +1,3 @@
1
1
  module Rubyxls
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
data/rubyxls.gemspec CHANGED
@@ -27,5 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "rake", "~> 10.0"
28
28
  spec.add_development_dependency "rspec", "~> 3.0"
29
29
 
30
- spec.add_runtime_dependency "axlsx", "~> 2.0.1"
30
+ spec.add_runtime_dependency "axlsx", "~> 2.0"
31
+
31
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyxls
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Frankel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2017-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.1
61
+ version: '2.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.1
68
+ version: '2.0'
69
69
  description: |-
70
70
  Generate XLS files using ruby. Rubyxls provides a simple DSL to
71
71
  express anything from simple ruby strings to complex Active Record models.
@@ -120,9 +120,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.4.5.1
123
+ rubygems_version: 2.5.2
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: A simple DSL for generating XLS files in plain-old ruby.
127
127
  test_files: []
128
- has_rdoc: