martile 0.5.20 → 0.6.0

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: bd75e474d6a5a43e09f01a296e99769a2bcc24e0
4
- data.tar.gz: 4f5362411e3f17c61041de66d4efa82709a9da08
3
+ metadata.gz: db75401ad36b0667ee1ae16c86dd35d91fa618fb
4
+ data.tar.gz: cc71d872c2f8fae7fd673ff7e816aa14f24b354d
5
5
  SHA512:
6
- metadata.gz: 18d00d1f2ae4ed58bec89fb12e75387aebc445c0f74bfd4d91a2db38fd1c937c9efc9ed4c62862bd62952697bf1c59fe7aecb6c29a9807c0e4755c5a9b4159af
7
- data.tar.gz: 2efccf3dba93d6252aeaa68edabeaf62cd9508f530b47719a863f9db05d8263d3525c26546a386ffc7233db73c2a30c72a88e86f1ffff1465aa0428a61349afb
6
+ metadata.gz: 299531fa1862ae3ee0e17c9e20375546725017a8ed792104dd6e6cc7843b01ee3d99188c90e6ba996069c09ea591ab671e79229bf5f78754393dc4a77b459d5e
7
+ data.tar.gz: f152b65de09a557bd1f9483d29fa2195c6fe53094c9146cae9b0efae7ae92103788324c7814f0d9260d1ed9643e884d94fb202b280a80cb002a1e4f9a212e59d
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/martile.rb CHANGED
@@ -8,6 +8,7 @@ require 'dynarex'
8
8
  require 'rdiscount'
9
9
 
10
10
 
11
+ # feature: 19-Jun-2015 Now uses github flavoured markdown to style the table
11
12
  # 01-Jun-2015 re-applied yesterday's feature which I
12
13
  # removed shortly afterwards
13
14
  # feature: 31-May-2015: Transforms a kind-of markdown URL to an audio tag
@@ -179,7 +180,7 @@ class Martile
179
180
 
180
181
  end
181
182
 
182
- def dynarex_to_table(s)
183
+ def dynarex_to_table2(s)
183
184
 
184
185
  s.gsub(/-\[((https?:\/\/)?[\w\/\.\-]+)\]/) do |match|
185
186
 
@@ -189,6 +190,39 @@ class Martile
189
190
  end
190
191
  end
191
192
 
193
+ def dynarex_to_table(s)
194
+
195
+ s.gsub(/-\[((https?:\/\/)?[\w\/\.\-]+)\]/) do |match|
196
+
197
+ print_row = -> (row, widths) do
198
+ '| ' + row.map.with_index {|y,i| y.to_s.ljust(widths[i])}.join(' | ') + " |\n"
199
+ end
200
+
201
+ print_thline = -> (row, widths) do
202
+ '|:' + row.map.with_index {|y,i| y.to_s.ljust(widths[i])}.join('|:') + "|\n"
203
+ end
204
+
205
+ print_rows = -> (rows, widths) do
206
+ rows.map {|x| print_row.call(x,widths)}.join
207
+ end
208
+
209
+ dx = Dynarex.new($1)
210
+ keys = dx.to_h.map(&:keys).first
211
+
212
+ vals = dx.to_h.map(&:values)
213
+
214
+ widths = ([keys] + vals).transpose.map{|x| x.max_by(&:length).length}
215
+ th = '|' + keys.join('|') + "|\n"
216
+ th = print_row.call(keys, widths)
217
+ th_line = print_thline.call widths.map {|x| '-' * (x+1)}, widths
218
+
219
+ tb = print_rows.call(vals, widths)
220
+ table = th + th_line + tb
221
+
222
+ end
223
+ end
224
+
225
+
192
226
  def escape(s)
193
227
  s.gsub('<','&lt;').gsub('>','&gt;')
194
228
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: martile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.20
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  fnr5l+RI/6f8lfxBNgDrktGB/RwPkOyWtyKk1tu9CWgHmptxL0JglikCXg5MzuZI
32
32
  tZzXOvXUoUf1VQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-06-01 00:00:00.000000000 Z
34
+ date: 2015-06-19 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdiscount
@@ -62,7 +62,7 @@ dependencies:
62
62
  version: '1.5'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 1.5.0
65
+ version: 1.5.26
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,7 +72,7 @@ dependencies:
72
72
  version: '1.5'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.5.0
75
+ version: 1.5.26
76
76
  description:
77
77
  email: james@r0bertson.co.uk
78
78
  executables: []
metadata.gz.sig CHANGED
Binary file