xml_data_extractor 0.6.0 → 0.8.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
  SHA256:
3
- metadata.gz: 334896bd178759618062d648f74af638a88fde5c5cccfaf255279589207670a6
4
- data.tar.gz: 6b85212f452f62bfa75a97c66f76c889cc39382d726d26b93a05800eb69e6dbe
3
+ metadata.gz: 93c4be57e5a7d66c325157434c5cc20bef092c7024b5fc9f8063473cdf4a5be6
4
+ data.tar.gz: 663b11f7979c82ea9bdcd5ca8d290b9388f6debf09df001fb10630e685c3adc6
5
5
  SHA512:
6
- metadata.gz: 6899c3dafed6462fcb816edbe341a33e7a7388b2f3ba2724d5c2e0bab190f7ce00256c8bda35fbeaed7eaeb58ccfad8c3597c94a1e332ef7e5c125efd6a50924
7
- data.tar.gz: 1b0b37b90adba98c9b2085d6a300473dca39bcafd4c801c58a5877ae57ad518be8d6079d0c61725f73809779ea3ace7590e4258494e2d1e0a61b7e914f8e5f69
6
+ metadata.gz: 72e0a2ea5a630c35768911801962afb8f17743be28ae4c3b94dd6512a6113c0c37c9824e2b1047af1cd765f357de3c149996b61a22b43c874073898daa3ebea1
7
+ data.tar.gz: e47f4b7b4a4c18adbc2f019bba7c3e38e37f91a5b23f667a8d6236386b81470cf69d06bca102a25ee379baa223b506f53954edfb409bf47b61fba9f0eb56d85c
@@ -1,31 +1,67 @@
1
1
  name: ci
2
2
 
3
- on: [push, pull_request]
3
+ on:
4
+ pull_request:
5
+ types: [labeled, synchronize]
6
+ push:
7
+ branches: [master]
8
+
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
4
12
 
5
13
  jobs:
6
14
  qa:
7
15
  timeout-minutes: 5
8
16
  runs-on: ubuntu-latest
17
+ strategy:
18
+ matrix:
19
+ ruby-version: ['3.2', '3.3']
20
+
9
21
  steps:
10
22
  - name: Checkout code
11
- uses: actions/checkout@v3
23
+ uses: actions/checkout@v5
12
24
 
13
25
  - name: Freeze autogenerated files
14
26
  run: |
15
27
  chmod 0444 Gemfile.lock
16
28
 
17
- - name: Setup Ruby
29
+ - name: Setup Ruby ${{ matrix.ruby-version }}
18
30
  uses: ruby/setup-ruby@v1
19
-
20
- - name: Cache Ruby Dependencies
21
- uses: actions/cache@v3
22
31
  with:
23
- path: vendor/bundle
24
- key: ${{ runner.os }}-gem-${{ hashFiles('.ruby-version') }}-${{ hashFiles('**/Gemfile.lock') }}
25
-
26
- - name: Setup project
27
- run: bin/setup
32
+ ruby-version: ${{ matrix.ruby-version }}
33
+ bundler-cache: true
28
34
 
29
35
  - name: Run tests
30
36
  run: |
31
37
  bin/rspec
38
+
39
+ dependabot:
40
+ if: github.event.pull_request.user.login == 'dependabot[bot]'
41
+ runs-on: ubuntu-latest
42
+ steps:
43
+ - name: Approve a PR
44
+ run: gh pr review --approve "$PR_URL"
45
+ env:
46
+ PR_URL: ${{github.event.pull_request.html_url}}
47
+ GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
48
+
49
+ merge:
50
+ if: ${{ contains(github.event.pull_request.labels.*.name, 'automerge') }}
51
+ runs-on: ubuntu-latest
52
+ needs: qa
53
+ steps:
54
+ - name: Checkout repository
55
+ uses: actions/checkout@v5
56
+
57
+ - name: Merge pull request
58
+ run: |
59
+ PR_NUMBER=$(basename "$PR_URL")
60
+ PR_TITLE=$(gh pr view "$PR_NUMBER" --json title -q ".title")
61
+ PR_BODY=$(gh pr view "$PR_NUMBER" --json body -q ".body")
62
+ COMMIT_MESSAGE="${PR_TITLE} (#${PR_NUMBER})"
63
+
64
+ gh pr merge "$PR_URL" --auto --squash --subject "$COMMIT_MESSAGE" --body "$PR_BODY"
65
+ env:
66
+ PR_URL: ${{ github.event.pull_request.html_url }}
67
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /vendor/bundle/
9
10
  *.gem
10
11
 
11
12
  # rspec failure tracking
data/Gemfile.lock CHANGED
@@ -1,54 +1,68 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xml_data_extractor (0.6.0)
5
- activesupport (~> 6.0)
4
+ xml_data_extractor (0.8.0)
5
+ activesupport (~> 8.0)
6
6
  nokogiri (~> 1.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.1.5)
12
- concurrent-ruby (~> 1.0, >= 1.0.2)
11
+ activesupport (8.1.1)
12
+ base64
13
+ bigdecimal
14
+ concurrent-ruby (~> 1.0, >= 1.3.1)
15
+ connection_pool (>= 2.2.5)
16
+ drb
13
17
  i18n (>= 1.6, < 2)
18
+ json
19
+ logger (>= 1.4.2)
14
20
  minitest (>= 5.1)
15
- tzinfo (~> 2.0)
16
- zeitwerk (~> 2.3)
17
- concurrent-ruby (1.1.10)
18
- diff-lcs (1.5.0)
19
- i18n (1.10.0)
21
+ securerandom (>= 0.3)
22
+ tzinfo (~> 2.0, >= 2.0.5)
23
+ uri (>= 0.13.1)
24
+ base64 (0.3.0)
25
+ bigdecimal (3.3.1)
26
+ concurrent-ruby (1.3.5)
27
+ connection_pool (2.5.4)
28
+ diff-lcs (1.6.2)
29
+ drb (2.2.3)
30
+ i18n (1.14.7)
20
31
  concurrent-ruby (~> 1.0)
21
- mini_portile2 (2.8.0)
22
- minitest (5.15.0)
23
- nokogiri (1.13.3)
24
- mini_portile2 (~> 2.8.0)
32
+ json (2.15.2)
33
+ logger (1.7.0)
34
+ mini_portile2 (2.8.9)
35
+ minitest (5.26.0)
36
+ nokogiri (1.18.10)
37
+ mini_portile2 (~> 2.8.2)
25
38
  racc (~> 1.4)
26
- racc (1.6.0)
27
- rake (12.3.3)
28
- rspec (3.11.0)
29
- rspec-core (~> 3.11.0)
30
- rspec-expectations (~> 3.11.0)
31
- rspec-mocks (~> 3.11.0)
32
- rspec-core (3.11.0)
33
- rspec-support (~> 3.11.0)
34
- rspec-expectations (3.11.0)
39
+ racc (1.8.1)
40
+ rake (13.3.1)
41
+ rspec (3.13.2)
42
+ rspec-core (~> 3.13.0)
43
+ rspec-expectations (~> 3.13.0)
44
+ rspec-mocks (~> 3.13.0)
45
+ rspec-core (3.13.6)
46
+ rspec-support (~> 3.13.0)
47
+ rspec-expectations (3.13.5)
35
48
  diff-lcs (>= 1.2.0, < 2.0)
36
- rspec-support (~> 3.11.0)
37
- rspec-mocks (3.11.0)
49
+ rspec-support (~> 3.13.0)
50
+ rspec-mocks (3.13.6)
38
51
  diff-lcs (>= 1.2.0, < 2.0)
39
- rspec-support (~> 3.11.0)
40
- rspec-support (3.11.0)
41
- tzinfo (2.0.4)
52
+ rspec-support (~> 3.13.0)
53
+ rspec-support (3.13.6)
54
+ securerandom (0.4.1)
55
+ tzinfo (2.0.6)
42
56
  concurrent-ruby (~> 1.0)
43
- zeitwerk (2.5.4)
57
+ uri (1.0.4)
44
58
 
45
59
  PLATFORMS
46
60
  ruby
47
61
 
48
62
  DEPENDENCIES
49
- rake (~> 12.0)
63
+ rake (~> 13.0)
50
64
  rspec (~> 3.0)
51
65
  xml_data_extractor!
52
66
 
53
67
  BUNDLED WITH
54
- 2.2.6
68
+ 2.7.2
data/lib/src/extractor.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "cgi"
4
- require "active_support/core_ext/string"
4
+ require "active_support"
5
+ require "active_support/core_ext"
5
6
  require_relative "format/formatter"
6
7
 
7
8
  class PathBuilder < Struct.new(:base, :parent, :tag, keyword_init: true)
@@ -1,17 +1,18 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "xml_data_extractor"
3
- spec.version = "0.6.0"
3
+ spec.version = "0.8.0"
4
4
  spec.authors = ["Fernando Almeida"]
5
5
  spec.email = ["fernandoprsbr@gmail.com"]
6
6
 
7
7
  spec.summary = "Provides a simples DSL for extracting data from XML documents"
8
8
  spec.homepage = "https://github.com/monde-sistemas/xml_data_extractor"
9
9
  spec.license = "MIT"
10
- spec.required_ruby_version = Gem::Requirement.new(">= 2.5")
10
+ spec.required_ruby_version = Gem::Requirement.new(">= 3.2")
11
11
 
12
12
  spec.metadata["homepage_uri"] = spec.homepage
13
13
  spec.metadata["source_code_uri"] = spec.homepage
14
14
  spec.metadata["changelog_uri"] = spec.homepage
15
+ spec.metadata["rubygems_mfa_required"] = "true"
15
16
 
16
17
  # Specify which files should be added to the gem when it is released.
17
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -23,7 +24,7 @@ Gem::Specification.new do |spec|
23
24
  spec.require_paths = ["lib"]
24
25
 
25
26
  spec.add_dependency "nokogiri", "~> 1.0"
26
- spec.add_dependency "activesupport", "~> 6.0"
27
- spec.add_development_dependency "rake", "~> 12.0"
27
+ spec.add_dependency "activesupport", "~> 8.0"
28
+ spec.add_development_dependency "rake", "~> 13.0"
28
29
  spec.add_development_dependency "rspec", "~> 3.0"
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xml_data_extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fernando Almeida
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-04 00:00:00.000000000 Z
11
+ date: 2025-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '6.0'
33
+ version: '8.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '6.0'
40
+ version: '8.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '12.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '12.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -77,9 +77,7 @@ files:
77
77
  - ".github/dependabot.yml"
78
78
  - ".github/workflows/ci.yml"
79
79
  - ".gitignore"
80
- - ".kodiak.toml"
81
80
  - ".rspec"
82
- - ".ruby-version"
83
81
  - Gemfile
84
82
  - Gemfile.lock
85
83
  - LICENSE.txt
@@ -111,6 +109,7 @@ metadata:
111
109
  homepage_uri: https://github.com/monde-sistemas/xml_data_extractor
112
110
  source_code_uri: https://github.com/monde-sistemas/xml_data_extractor
113
111
  changelog_uri: https://github.com/monde-sistemas/xml_data_extractor
112
+ rubygems_mfa_required: 'true'
114
113
  post_install_message:
115
114
  rdoc_options: []
116
115
  require_paths:
@@ -119,14 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
118
  requirements:
120
119
  - - ">="
121
120
  - !ruby/object:Gem::Version
122
- version: '2.5'
121
+ version: '3.2'
123
122
  required_rubygems_version: !ruby/object:Gem::Requirement
124
123
  requirements:
125
124
  - - ">="
126
125
  - !ruby/object:Gem::Version
127
126
  version: '0'
128
127
  requirements: []
129
- rubygems_version: 3.2.25
128
+ rubygems_version: 3.5.16
130
129
  signing_key:
131
130
  specification_version: 4
132
131
  summary: Provides a simples DSL for extracting data from XML documents
data/.kodiak.toml DELETED
@@ -1,14 +0,0 @@
1
- # https://github.com/chdsbd/kodiak
2
- version = 1
3
-
4
- [approve]
5
- auto_approve_usernames = ["dependabot"]
6
-
7
- [merge]
8
- method = "squash"
9
- delete_branch_on_merge = true
10
-
11
- [merge.message]
12
- title = "pull_request_title"
13
- include_pr_number = true
14
- body = "pull_request_body"
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.7.2