table_analysis 0.1.2 → 0.1.4

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
  SHA256:
3
- metadata.gz: 13a1fb68d047cfe87c585371d029bbcb3d3fb073c8107ef8fcba5000c80ddb88
4
- data.tar.gz: 30c80555dd72d8fa583c677ddd9ac8e38c69116e10d9ee6c124edabc417ecff9
3
+ metadata.gz: e9bf918d52ccc29e84ca90d77bd5e0f46946d4fc960e22bd81d6552459fbf236
4
+ data.tar.gz: 0a07dd387dc71a76ee60b40d64e501eac515cbb3e0db6ec1a2de57f980694baa
5
5
  SHA512:
6
- metadata.gz: 2eebc65a935e80aa0840484e147a9da852839eee74cdde0d96c086a8393858cce46859566e61595dba349a263791f285b3f3584bb2b08950035cc1f0a02a4676
7
- data.tar.gz: 377ec082df94eaea375331b04aff2529aacd91fa34235a4baf29df5d6dd3a328e342b0da2e91051ec7d9150b578caa0b0d363023ba97c446500f3070435a8cb1
6
+ metadata.gz: 7adf1b44623efce822185d8b45b6d2f0cb9d8ae0da74d39a99fa74ddb621e454276096740cbd0353829e8d7ef2744a03d48bfc18e7b974720ac2e917ae23a578
7
+ data.tar.gz: 7683f2c480e3d956a9c61901f3cef32922323c6c080c2291178222a08f4df430436eae50123e2ef604f3f3ffdec6d871954373ca3838b619a65021ec7bb74e8f
data/demo.rb CHANGED
@@ -2,4 +2,4 @@ require './lib/table_analysis.rb'
2
2
 
3
3
  doc = File.read('file/demo2.html')
4
4
 
5
- TableAnalysis::Main.generator(doc, 1)
5
+ TableAnalysis::Main.generator(doc, 2, 1)
data/file/demo2.html CHANGED
@@ -10,6 +10,14 @@
10
10
  <col style="width:139.5pt;min-width:139.5pt;"/>
11
11
  <col style="width:105pt;min-width:105pt;"/>
12
12
  </colgroup>
13
+ <tr style="height:21.8pt">
14
+ <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
15
+ <p class="smt_tblC">1</p>
16
+ </td>
17
+ <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
18
+ <p class="smt_tblC">2</p>
19
+ </td>
20
+ </tr>
13
21
  <tr style="height:21.8pt">
14
22
  <td valign="middle" style="vertical-align:middle;border-top-style:solid;border-top-width:0.75pt;border-bottom-style:solid;border-bottom-width:0.75pt;border-left-style:solid;border-left-width:0.75pt;border-right-style:solid;border-right-width:0.75pt;">
15
23
  <p class="smt_tblC">契約会社名</p>
@@ -1,3 +1,3 @@
1
1
  module TableAnalysis
2
- VERSION = "0.1.2"
2
+ VERSION = '0.1.4'.freeze
3
3
  end
@@ -3,23 +3,23 @@ require_relative 'table_analysis/version'
3
3
  require 'nokogiri'
4
4
  module TableAnalysis
5
5
  class Main
6
- def self.generator(html, *selected_cols)
6
+ def self.generator(html, selected_row, *selected_cols)
7
7
  selected_cols = selected_cols.flatten
8
8
  doc = Nokogiri::HTML(html, nil, 'utf-8')
9
9
  # 多个table,仅处理第一个
10
10
  table = doc.xpath('//table')[0]
11
- return false if table.size = 0
11
+ return false if table.nil?
12
12
  header_content_tds = []
13
13
  body_content_tds = []
14
14
  body_tr_size = 0
15
15
  table.xpath('./tr').each_with_index do |tr, tr_index|
16
- if tr_index == 0
16
+ if tr_index == selected_row.to_i - 1
17
17
  tr.xpath('./td').each do |td|
18
18
  header_name = td.content
19
19
  colspan = td.attribute('colspan')&.value
20
20
  header_content_tds << [header_name, colspan]
21
21
  end
22
- else
22
+ elsif tr_index >= selected_row.to_i
23
23
  body_tr_size += 1
24
24
  tr.xpath('./td').each_with_index do |td, td_index|
25
25
  rowspan = td.attribute('rowspan')&.value
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: table_analysis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - mico_xiaozhen@sina.com