parsby 1.1.1 → 1.1.3

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
- SHA1:
3
- metadata.gz: 06bddcf2507dff416a96aecc2ce491beadbed895
4
- data.tar.gz: fe3a54678e4efb4d226004ee0196929019102cbc
2
+ SHA256:
3
+ metadata.gz: 6f205f7458c84329b1c5a4ab6f7bb9c392b8b653b525f2a545b9816aebae4710
4
+ data.tar.gz: ebd25e41d6baa4df0ca3f2fca5f329f1f1357f65507617fe5d4888a7226c7784
5
5
  SHA512:
6
- metadata.gz: f53e67e9fa5207d767d6735c5ab7c8a6d1d7f61ef31c3dd0693aec2577942ab1679e73b2900146db4b05e43bc382d1cfcefa761a02cc9badc7b1b58de5cf0ac1
7
- data.tar.gz: 0f2a6d92bfdad1abbff56a19eb788f8d6b4caa343c31a1eabf5e49ebcd9c8b3aa19c5e07f93694a3b3f52fd25962c63bff2540d79b2d1087b4bdfcbc75168b57
6
+ metadata.gz: f04645647b77a8e823f4e3a9b5f818ad037aad95a1ade2d821f1ee242e8e5ce76d8cfeb65d34c48d60e82c05f041bbed8cfa621601929280d2911faf1b443c07
7
+ data.tar.gz: 2f133a088d71a64b41f96cb92d22731ae8b0eecc980448d78421eef37583bb39840dc36016a32624078f7895e1d13fa2b35a0b13664f26297e20e8ff8c5d191e
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.1
1
+ 3.4.8
data/Gemfile.lock CHANGED
@@ -1,41 +1,62 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parsby (1.0.0)
4
+ parsby (1.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- coderay (1.1.2)
10
- diff-lcs (1.3)
11
- method_source (1.0.0)
12
- pry (0.13.1)
9
+ coderay (1.1.3)
10
+ diff-lcs (1.6.2)
11
+ io-console (0.8.2)
12
+ method_source (1.1.0)
13
+ pry (0.16.0)
13
14
  coderay (~> 1.1)
14
15
  method_source (~> 1.0)
16
+ reline (>= 0.6.0)
15
17
  rake (10.5.0)
16
- rspec (3.9.0)
17
- rspec-core (~> 3.9.0)
18
- rspec-expectations (~> 3.9.0)
19
- rspec-mocks (~> 3.9.0)
20
- rspec-core (3.9.2)
21
- rspec-support (~> 3.9.3)
22
- rspec-expectations (3.9.2)
18
+ reline (0.6.3)
19
+ io-console (~> 0.5)
20
+ rspec (3.13.2)
21
+ rspec-core (~> 3.13.0)
22
+ rspec-expectations (~> 3.13.0)
23
+ rspec-mocks (~> 3.13.0)
24
+ rspec-core (3.13.6)
25
+ rspec-support (~> 3.13.0)
26
+ rspec-expectations (3.13.5)
23
27
  diff-lcs (>= 1.2.0, < 2.0)
24
- rspec-support (~> 3.9.0)
25
- rspec-mocks (3.9.1)
28
+ rspec-support (~> 3.13.0)
29
+ rspec-mocks (3.13.8)
26
30
  diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.9.0)
28
- rspec-support (3.9.3)
31
+ rspec-support (~> 3.13.0)
32
+ rspec-support (3.13.7)
29
33
 
30
34
  PLATFORMS
31
35
  ruby
36
+ x86_64-linux
32
37
 
33
38
  DEPENDENCIES
34
- bundler (~> 1.17)
39
+ bundler (~> 4.0.11)
35
40
  parsby!
36
- pry
41
+ pry (~> 0)
37
42
  rake (~> 10.0)
38
43
  rspec (~> 3.0)
39
44
 
45
+ CHECKSUMS
46
+ bundler (4.0.11) sha256=5bcec0fb78302e48d02ee46f10ee6e6942be647ba5b44a6d1ddfda9a240ce785
47
+ coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
48
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
49
+ io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
50
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
51
+ parsby (1.1.3)
52
+ pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
53
+ rake (10.5.0) sha256=2b55a1ad44b5c945719d8a97c302a316af770b835187d12143e83069df5a8a49
54
+ reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
55
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
56
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
57
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
58
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
59
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
60
+
40
61
  BUNDLED WITH
41
- 1.17.1
62
+ 4.0.11
data/bin/console CHANGED
@@ -1,12 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "parsby"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
3
+ $LOAD_PATH << "./lib"
8
4
 
9
- # (If you use this, don't forget to add pry to your Gemfile!)
5
+ require "bundler/setup"
10
6
  require "pry"
11
7
 
12
8
  def to_constant_representation(path)
@@ -17,9 +13,13 @@ def to_constant_representation(path)
17
13
  end
18
14
 
19
15
  def reload!
20
- Dir["lib/**/*"]
21
- .map {|p| Pathname.new(p).relative_path_from(Pathname.new("lib/")) }
16
+ Dir["#{Dir.pwd}/lib/**/*"]
17
+ .each do |p|
18
+ $LOADED_FEATURES.delete p
19
+ end
20
+ .map {|p| Pathname.new(p).relative_path_from(Pathname.new("#{Dir.pwd}/lib/")) }
22
21
  .select {|p| p.to_s =~ /\.rb\z/ && p.to_s != "parsby/version.rb" }
22
+ .reverse
23
23
  .each do |p|
24
24
  const = to_constant_representation(p.to_s)
25
25
  # Don't bother removing children constants, since we'll remove the
@@ -28,8 +28,8 @@ def reload!
28
28
  Object.send(:remove_const, const)
29
29
  end
30
30
  end
31
- .each(&method(:load)) # Load everything only after having removed everything.
32
31
 
32
+ require "parsby"
33
33
  include Parsby::Combinators
34
34
  extend Parsby::Combinators::ModuleMethods
35
35
  nil
@@ -21,13 +21,13 @@ class Parsby
21
21
  # Lambda used to access private module method from instance method.
22
22
  inspectable_labels_lambda = lambda {|x| inspectable_labels(x) }
23
23
 
24
- define_method name do |*args, &b2|
25
- inspected_args = inspectable_labels_lambda.call(args).map(&:inspect)
24
+ define_method name do |*args, **kwargs, &b2|
25
+ inspected_args = inspectable_labels_lambda.call(args + [**kwargs]).map(&:inspect)
26
26
  label = name.to_s
27
27
  label += "(#{inspected_args.join(", ")})" unless inspected_args.empty?
28
28
  # Wrap in new parser so we don't overwrite another automatic
29
29
  # label.
30
- p = m.bind(self).call(*args, &b2)
30
+ p = m.bind(self).call(*args, **kwargs, &b2)
31
31
  if wrap
32
32
  Parsby.new(label) {|c| p.parse c }
33
33
  else
@@ -1,3 +1,3 @@
1
1
  class Parsby
2
- VERSION = "1.1.1"
2
+ VERSION = "1.1.3"
3
3
  end
data/lib/parsby.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "stringio"
1
2
  require "parsby/version"
2
3
  require "parsby/combinators"
3
4
 
data/parsby.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
37
  spec.require_paths = ["lib"]
38
38
 
39
- spec.add_development_dependency "bundler", "~> 1.17"
39
+ spec.add_development_dependency "bundler", "~> 4.0.11"
40
40
  spec.add_development_dependency "rake", "~> 10.0"
41
41
  spec.add_development_dependency "rspec", "~> 3.0"
42
42
  spec.add_development_dependency "pry", "~> 0"
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parsby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jorge Luis Martinez Gomez
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2020-09-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '1.17'
18
+ version: 4.0.11
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '1.17'
25
+ version: 4.0.11
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +65,6 @@ dependencies:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
- description:
70
68
  email:
71
69
  - jol@jol.dev
72
70
  executables: []
@@ -102,7 +100,6 @@ licenses:
102
100
  - MIT
103
101
  metadata:
104
102
  changelog_uri: https://github.com/jolmg/parsby/blob/master/CHANGELOG.md
105
- post_install_message:
106
103
  rdoc_options: []
107
104
  require_paths:
108
105
  - lib
@@ -117,9 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
114
  - !ruby/object:Gem::Version
118
115
  version: '0'
119
116
  requirements: []
120
- rubyforge_project:
121
- rubygems_version: 2.6.11
122
- signing_key:
117
+ rubygems_version: 3.6.9
123
118
  specification_version: 4
124
119
  summary: Parser combinator library inspired by Haskell's Parsec
125
120
  test_files: []