martile 0.5.20 → 0.6.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: 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