simple_spreadsheets 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzRlYzFkMzk2MjA4MDVlYjJiZmZlN2RkMDc5YTU3YTgzZTRkNTNkNQ==
5
- data.tar.gz: !binary |-
6
- Nzg3Mzk5YTkzNWY1ZGEzMThkY2I4ZmNmNTQxZTFmOGQ1ZGY4M2FjNw==
2
+ SHA1:
3
+ metadata.gz: ae902fd8c1aa3b752ad60d822d1b9c6280aae802
4
+ data.tar.gz: 53619c18c3659bf16ca7012430983b364bcb534b
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- N2U1YjVmNTcxOTIwNDg4ZTdlY2Y0NGYxZTlkMmE0YmI3ZWYxMjc4MzBmZWQ2
10
- MTI4YTFmOWI4ZGRiYjBhMGIwMzJkMDdlMjAzY2M5ZTE1NWE1YjM1NzdiMjI5
11
- NGIwZDc4N2MzZDg4NTgwNDU2MjdmYjhkMjFlMThiMDAyMjM3Y2E=
12
- data.tar.gz: !binary |-
13
- MjI1NjMzMWU4MGE5NWVjMTUyYjY3NWVmYjY4YjlmY2IxOGNlYmE2NzFiZDcx
14
- MWRmNDAwNzZlZjU2YTY1YjExY2RjM2JiNWYzZTFhYTJhMTE2MmY5NDlmMmRk
15
- ZTI4YWY4OTkxODQ2NDI1NzkyYWFiM2Y0NmY0YWNjZWJlOGE4Yjk=
6
+ metadata.gz: f6554a3858f63ab6a8e5c4905d773c9c58db330de95aea2f36a52d1bcad448e090289d61ac996a063c778dedee32ea41dba6511bd74172f0b8df264f40e3fa87
7
+ data.tar.gz: 905a3a2c211ef9b8d18ad47d6f376d8b1f70c5a866a5dd1142a00a8e25dc9e8ccd0a273a101826b922e2e4d7ba3eb0482f85263afcc74bab30ef62d6a3101c10
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/README.md CHANGED
@@ -101,8 +101,8 @@ Or install it yourself as:
101
101
 
102
102
  ## About Foraker Labs
103
103
 
104
- <img src="http://assets.foraker.com/foraker_logo.png" width="400" height="62">
104
+ ![Foraker Logo](http://assets.foraker.com/attribution_logo.png)
105
105
 
106
- This project is maintained by Foraker Labs. The names and logos of Foraker Labs are fully owned and copyright Foraker Design, LLC.
106
+ Foraker Labs builds exciting web and mobile apps in Boulder, CO. Our work powers a wide variety of businesses with many different needs. We love open source software, and we're proud to contribute where we can. Interested to learn more? [Contact us today](https://www.foraker.com/contact-us).
107
107
 
108
- Foraker Labs is a Boulder-based Ruby on Rails and iOS development shop. Please reach out if we can [help build your product](http://www.foraker.com).
108
+ This project is maintained by Foraker Labs. The names and logos of Foraker Labs are fully owned and copyright Foraker Design, LLC.
@@ -1,6 +1,7 @@
1
1
  require "simple_spreadsheets/version"
2
2
  require "simple_spreadsheets/rendering"
3
3
  require "simple_spreadsheets/document"
4
+ require "active_support/dependencies/autoload"
4
5
  require "active_support/core_ext"
5
6
 
6
7
  module SimpleSpreadsheets
@@ -2,6 +2,8 @@ module SimpleSpreadsheets
2
2
  class Document
3
3
  include Rendering
4
4
 
5
+ attr_reader :title
6
+
5
7
  def self.render(title)
6
8
  instance = new(title)
7
9
  yield instance
@@ -4,7 +4,7 @@
4
4
  xmlns:x="urn:schemas-microsoft-com:office:excel"
5
5
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
6
6
  xmlns:html="http://www.w3.org/TR/REC-html40">
7
- <ss:Worksheet ss:Name="Acceptances">
7
+ <ss:Worksheet ss:Name="<%= title %>">
8
8
  <ss:Table>
9
9
  <%= render_rows %>
10
10
  </ss:Table>
@@ -1,3 +1,3 @@
1
1
  module SimpleSpreadsheets
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -6,6 +6,7 @@ require 'simple_spreadsheets/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "simple_spreadsheets"
8
8
  spec.version = SimpleSpreadsheets::VERSION
9
+ spec.date = '2016-03-23'
9
10
  spec.authors = ["Foraker Labs"]
10
11
  spec.email = ["llc@foraker.com"]
11
12
  spec.summary = %q{Easily render Excel-friendly spreadsheets.}
@@ -18,6 +19,10 @@ Gem::Specification.new do |spec|
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ["lib"]
20
21
 
22
+ spec.add_dependency "activesupport"
23
+
21
24
  spec.add_development_dependency "bundler", "~> 1.9"
22
25
  spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec", "~> 3"
27
+ spec.add_development_dependency "nokogiri"
23
28
  end
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0"?>
2
+ <ss:Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
3
+ xmlns:o="urn:schemas-microsoft-com:office:office"
4
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
5
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
6
+ xmlns:html="http://www.w3.org/TR/REC-html40">
7
+ <ss:Worksheet ss:Name="Title">
8
+ <ss:Table>
9
+ <ss:Row>
10
+ <ss:Cell><ss:Data ss:Type="String">Row 1 title</ss:Data></ss:Cell>
11
+ <ss:Cell><ss:Data ss:Type="String">Row 2 title</ss:Data></ss:Cell>
12
+ <ss:Cell><ss:Data ss:Type="String">Row 3 title</ss:Data></ss:Cell>
13
+ </ss:Row>
14
+ <ss:Row>
15
+ <ss:Cell><ss:Data ss:Type="String">Row 1 value</ss:Data></ss:Cell>
16
+ <ss:Cell><ss:Data ss:Type="String">Row 2 value</ss:Data></ss:Cell>
17
+ <ss:Cell><ss:Data ss:Type="Number">10</ss:Data></ss:Cell>
18
+ </ss:Row>
19
+ </ss:Table>
20
+ </ss:Worksheet>
21
+ </ss:Workbook>
@@ -0,0 +1,30 @@
1
+ require "spec_helper"
2
+ require "nokogiri"
3
+
4
+ describe SimpleSpreadsheets do
5
+ describe "#render" do
6
+ let(:expected) { File.read(File.expand_path("../fixtures/spreadsheet.xls", __FILE__)) }
7
+ let(:actual) do
8
+ described_class.render("Title") do |xls|
9
+ xls.row do |row|
10
+ row.string "Row 1 title"
11
+ row.string "Row 2 title"
12
+ row.string "Row 3 title"
13
+ end
14
+ xls.row do |row|
15
+ row.string "Row 1 value"
16
+ row.string "Row 2 value"
17
+ row.number 10
18
+ end
19
+ end
20
+ end
21
+
22
+ it "builds a valid XLS file" do
23
+ expect(normalize(actual)).to eq normalize(expected)
24
+ end
25
+
26
+ def normalize(xml)
27
+ xml.gsub(/\n|\s\s/, "")
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'simple_spreadsheets'
metadata CHANGED
@@ -1,43 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_spreadsheets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foraker Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-26 00:00:00.000000000 Z
11
+ date: 2016-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - ~>
31
+ - - "~>"
18
32
  - !ruby/object:Gem::Version
19
33
  version: '1.9'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - ~>
38
+ - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.9'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ~>
45
+ - - "~>"
32
46
  - !ruby/object:Gem::Version
33
47
  version: '10.0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  description: A gem for simply rendering xls.
42
84
  email:
43
85
  - llc@foraker.com
@@ -45,7 +87,8 @@ executables: []
45
87
  extensions: []
46
88
  extra_rdoc_files: []
47
89
  files:
48
- - .gitignore
90
+ - ".gitignore"
91
+ - ".rspec"
49
92
  - Gemfile
50
93
  - LICENSE.txt
51
94
  - README.md
@@ -58,7 +101,11 @@ files:
58
101
  - lib/simple_spreadsheets/templates/document.xml.erb
59
102
  - lib/simple_spreadsheets/templates/row.xml.erb
60
103
  - lib/simple_spreadsheets/version.rb
104
+ - simple_spreadsheets-0.0.1.gem
61
105
  - simple_spreadsheets.gemspec
106
+ - spec/fixtures/spreadsheet.xls
107
+ - spec/simple_spreadsheets_spec.rb
108
+ - spec/spec_helper.rb
62
109
  homepage: ''
63
110
  licenses:
64
111
  - MIT
@@ -69,18 +116,21 @@ require_paths:
69
116
  - lib
70
117
  required_ruby_version: !ruby/object:Gem::Requirement
71
118
  requirements:
72
- - - ! '>='
119
+ - - ">="
73
120
  - !ruby/object:Gem::Version
74
121
  version: '0'
75
122
  required_rubygems_version: !ruby/object:Gem::Requirement
76
123
  requirements:
77
- - - ! '>='
124
+ - - ">="
78
125
  - !ruby/object:Gem::Version
79
126
  version: '0'
80
127
  requirements: []
81
128
  rubyforge_project:
82
- rubygems_version: 2.2.2
129
+ rubygems_version: 2.5.1
83
130
  signing_key:
84
131
  specification_version: 4
85
132
  summary: Easily render Excel-friendly spreadsheets.
86
- test_files: []
133
+ test_files:
134
+ - spec/fixtures/spreadsheet.xls
135
+ - spec/simple_spreadsheets_spec.rb
136
+ - spec/spec_helper.rb