tbpgr_utils 0.0.90 → 0.0.91
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.
data/README.md
CHANGED
@@ -25,6 +25,7 @@ Or install it yourself as:
|
|
25
25
|
| class/module/method | mean |
|
26
26
|
|:----------- |:------------ |
|
27
27
|
|[TbpgrUtils Array#to_table](#arrayto_table) |Array(Array, Array...) to table format. |
|
28
|
+
|[TbpgrUtils Array#to_html_table](#arrayto_html_table) |Array(Array, Array...) to html table format. |
|
28
29
|
|[TbpgrUtils Array#together](#arraytogether) |loop all arrays by block |
|
29
30
|
|[TbpgrUtils Array#together_at](#arraytogether_at) |together version of Array#at. together_at has alias :tat |
|
30
31
|
|[TbpgrUtils Array#together_clear](#arraytogether_clear) |together version of Array#clear. together_clear has alias :tclear |
|
@@ -142,6 +143,51 @@ result
|
|
142
143
|
|line1_1|line1_2|line1_3|
|
143
144
|
~~~
|
144
145
|
|
146
|
+
[back to list](#list)
|
147
|
+
|
148
|
+
### Array#to_html_table
|
149
|
+
~~~ruby
|
150
|
+
[['header1', 'header2', 'header3'],['line1_1', 'line1_2', 'line1_3']].to_html_table
|
151
|
+
~~~
|
152
|
+
|
153
|
+
result
|
154
|
+
~~~
|
155
|
+
<table>
|
156
|
+
<tr>
|
157
|
+
<th>header1</th>
|
158
|
+
<th>header2</th>
|
159
|
+
<th>header3</th>
|
160
|
+
</tr>
|
161
|
+
<tr>
|
162
|
+
<td>line1_1</td>
|
163
|
+
<td>line1_2</td>
|
164
|
+
<td>line1_3</td>
|
165
|
+
</tr>
|
166
|
+
</table>
|
167
|
+
~~~
|
168
|
+
|
169
|
+
no header case
|
170
|
+
~~~ruby
|
171
|
+
[['not_header1', 'not_header2', 'not_header3'],['line1_1', 'line1_2', 'line1_3']].to_html_table({no_header: true})
|
172
|
+
~~~
|
173
|
+
|
174
|
+
result
|
175
|
+
~~~
|
176
|
+
<table>
|
177
|
+
<tr>
|
178
|
+
<td>not_header1</td>
|
179
|
+
<td>not_header2</td>
|
180
|
+
<td>not_header3</td>
|
181
|
+
</tr>
|
182
|
+
<tr>
|
183
|
+
<td>line1_1</td>
|
184
|
+
<td>line1_2</td>
|
185
|
+
<td>line1_3</td>
|
186
|
+
</tr>
|
187
|
+
</table>
|
188
|
+
~~~
|
189
|
+
|
190
|
+
|
145
191
|
[back to list](#list)
|
146
192
|
|
147
193
|
### Array#together
|
@@ -2974,6 +3020,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
2974
3020
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
2975
3021
|
|
2976
3022
|
## History
|
3023
|
+
* version 0.0.91 : add Array#to_html_table
|
2977
3024
|
* version 0.0.90 : add Kernel#hash_to_attributes
|
2978
3025
|
* version 0.0.89 : add String#escape_quote
|
2979
3026
|
* version 0.0.88 : add String#escape_double_quote
|
data/lib/open_classes/array.rb
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'open_classes/string/justify_table'
|
3
|
+
|
4
|
+
# Array
|
5
|
+
class Array
|
6
|
+
# Array(Array, Array...) to html table format.
|
7
|
+
#
|
8
|
+
# === Example
|
9
|
+
#
|
10
|
+
# [['header1', 'header2', 'header3'],['line1_1', 'line1_2', 'line1_3']].to_html_table
|
11
|
+
#
|
12
|
+
# result
|
13
|
+
# <table>
|
14
|
+
# <tr>
|
15
|
+
# <th>header1</th>
|
16
|
+
# <th>header2</th>
|
17
|
+
# <th>header3</th>
|
18
|
+
# </tr>
|
19
|
+
# <tr>
|
20
|
+
# <td>line1_1</td>
|
21
|
+
# <td>line1_2</td>
|
22
|
+
# <td>line1_3</td>
|
23
|
+
# </tr>
|
24
|
+
# </table>
|
25
|
+
#
|
26
|
+
def to_html_table(options = { no_header: false })
|
27
|
+
options[:no_header] = false if options[:no_header].nil?
|
28
|
+
cnt = options[:no_header] ? 1 : 0
|
29
|
+
ret = reduce(['<table>']) do |rets, lines|
|
30
|
+
ret = lines.reduce([]) do |ret, column|
|
31
|
+
tag = (cnt == 0) ? 'th' : 'td'
|
32
|
+
ret << " <#{tag}>#{column}</#{tag}>"
|
33
|
+
ret
|
34
|
+
end
|
35
|
+
cnt += 1
|
36
|
+
inner_tr = ret.join("\n")
|
37
|
+
rets << " <tr>\n#{inner_tr}\n </tr>"
|
38
|
+
end.join("\n") + "\n</table>\n"
|
39
|
+
end
|
40
|
+
end
|
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -11,7 +11,7 @@ describe Familyable::Family do
|
|
11
11
|
persons: [
|
12
12
|
a = Familyable::Person.new(id: 1, parent_ids: [2, 3]),
|
13
13
|
b = Familyable::Person.new(id: 2, parent_ids: []),
|
14
|
-
c = Familyable::Person.new(id: 3, parent_ids: [4],),
|
14
|
+
c = Familyable::Person.new(id: 3, parent_ids: [4], ),
|
15
15
|
d = Familyable::Person.new(id: 4, parent_ids: []),
|
16
16
|
e = Familyable::Person.new(id: 5, parent_ids: [2]),
|
17
17
|
],
|
@@ -59,7 +59,7 @@ describe Familyable::Family do
|
|
59
59
|
persons: [
|
60
60
|
a = Familyable::Person.new(id: 1, parent_ids: [2, 3]),
|
61
61
|
b = Familyable::Person.new(id: 2, parent_ids: []),
|
62
|
-
c = Familyable::Person.new(id: 3, parent_ids: [4],),
|
62
|
+
c = Familyable::Person.new(id: 3, parent_ids: [4], ),
|
63
63
|
d = Familyable::Person.new(id: 4, parent_ids: []),
|
64
64
|
e = Familyable::Person.new(id: 5, parent_ids: [2]),
|
65
65
|
],
|
@@ -107,7 +107,7 @@ describe Familyable::Family do
|
|
107
107
|
persons: [
|
108
108
|
a = Familyable::Person.new(id: 1, parent_ids: [2, 3]),
|
109
109
|
b = Familyable::Person.new(id: 2, parent_ids: []),
|
110
|
-
c = Familyable::Person.new(id: 3, parent_ids: [4],),
|
110
|
+
c = Familyable::Person.new(id: 3, parent_ids: [4], ),
|
111
111
|
d = Familyable::Person.new(id: 4, parent_ids: [3]),
|
112
112
|
e = Familyable::Person.new(id: 5, parent_ids: [2]),
|
113
113
|
],
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'tbpgr_utils'
|
4
|
+
|
5
|
+
describe Array do
|
6
|
+
context :to_table do
|
7
|
+
cases = [
|
8
|
+
{
|
9
|
+
case_no: 1,
|
10
|
+
case_title: 'valid case',
|
11
|
+
inputs: [
|
12
|
+
['header1', 'header2', 'header3'],
|
13
|
+
['line1_1', 'line1_2', 'line1_3'],
|
14
|
+
],
|
15
|
+
expected: <<-EOS
|
16
|
+
<table>
|
17
|
+
<tr>
|
18
|
+
<th>header1</th>
|
19
|
+
<th>header2</th>
|
20
|
+
<th>header3</th>
|
21
|
+
</tr>
|
22
|
+
<tr>
|
23
|
+
<td>line1_1</td>
|
24
|
+
<td>line1_2</td>
|
25
|
+
<td>line1_3</td>
|
26
|
+
</tr>
|
27
|
+
</table>
|
28
|
+
EOS
|
29
|
+
},
|
30
|
+
{
|
31
|
+
case_no: 2,
|
32
|
+
case_title: 'no header option case',
|
33
|
+
inputs: [
|
34
|
+
['not_header1', 'not_header2', 'not_header3'],
|
35
|
+
['line1_1', 'line1_2', 'line1_3'],
|
36
|
+
],
|
37
|
+
options: { no_header: true },
|
38
|
+
expected: <<-EOS
|
39
|
+
<table>
|
40
|
+
<tr>
|
41
|
+
<td>not_header1</td>
|
42
|
+
<td>not_header2</td>
|
43
|
+
<td>not_header3</td>
|
44
|
+
</tr>
|
45
|
+
<tr>
|
46
|
+
<td>line1_1</td>
|
47
|
+
<td>line1_2</td>
|
48
|
+
<td>line1_3</td>
|
49
|
+
</tr>
|
50
|
+
</table>
|
51
|
+
EOS
|
52
|
+
},
|
53
|
+
]
|
54
|
+
|
55
|
+
cases.each do |c|
|
56
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
57
|
+
begin
|
58
|
+
case_before c
|
59
|
+
|
60
|
+
# -- given --
|
61
|
+
# nothing
|
62
|
+
|
63
|
+
# -- when/then --
|
64
|
+
actual = c[:options] ? c[:inputs].to_html_table(c[:options]) : c[:inputs].to_html_table
|
65
|
+
|
66
|
+
expect(actual).to eq(c[:expected])
|
67
|
+
ensure
|
68
|
+
case_after c
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def case_before(c)
|
73
|
+
# implement each case before
|
74
|
+
end
|
75
|
+
|
76
|
+
def case_after(c)
|
77
|
+
# implement each case after
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbpgr_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.91
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &27952860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *27952860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &27952572 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.3'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *27952572
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &27952344 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *27952344
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &27952020 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.14.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *27952020
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &27951720 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 0.8.2
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *27951720
|
69
69
|
description: Utilities
|
70
70
|
email:
|
71
71
|
- tbpgr@tbpgr.jp
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/ghostable.rb
|
111
111
|
- lib/metasyntactic_variable.rb
|
112
112
|
- lib/open_classes/array.rb
|
113
|
+
- lib/open_classes/array/to_html_table.rb
|
113
114
|
- lib/open_classes/array/to_table.rb
|
114
115
|
- lib/open_classes/array/together.rb
|
115
116
|
- lib/open_classes/array/together_at.rb
|
@@ -217,6 +218,7 @@ files:
|
|
217
218
|
- spec/familyable/familyable_spec.rb
|
218
219
|
- spec/ghostable_spec.rb
|
219
220
|
- spec/metasyntactic_variable_spec.rb
|
221
|
+
- spec/open_classes/array/to_html_table_spec.rb
|
220
222
|
- spec/open_classes/array/to_table_spec.rb
|
221
223
|
- spec/open_classes/array/together_at_spec.rb
|
222
224
|
- spec/open_classes/array/together_clear_spec.rb
|
@@ -342,6 +344,7 @@ test_files:
|
|
342
344
|
- spec/familyable/familyable_spec.rb
|
343
345
|
- spec/ghostable_spec.rb
|
344
346
|
- spec/metasyntactic_variable_spec.rb
|
347
|
+
- spec/open_classes/array/to_html_table_spec.rb
|
345
348
|
- spec/open_classes/array/to_table_spec.rb
|
346
349
|
- spec/open_classes/array/together_at_spec.rb
|
347
350
|
- spec/open_classes/array/together_clear_spec.rb
|