psychgus 1.2.2 → 1.3.2
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 +4 -4
- data/CHANGELOG.md +12 -1
- data/README.md +3 -1
- data/lib/psychgus/super_sniffer/parent.rb +4 -99
- data/lib/psychgus/version.rb +1 -1
- data/lib/psychgus.rb +9 -5
- data/psychgus.gemspec +1 -1
- data/test/psychgus_test.rb +14 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfe0fe918cc179a21aa9a7c37e0172344ef80b9f5c07c31e127ba97c79a5e69f
|
4
|
+
data.tar.gz: e0b7107993830b4366c6d332756c1771af7fab396fdc77deb713db01fae0c4e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17ace1a7d1a8e6ddea35de17efdad5ce5250b1a8fe5a1e4a16a7f97c5b6100b5fb39acafcdd5e85e65aa3b90fccca09b8a13e8d272156eae63d07c4f5c82305d
|
7
|
+
data.tar.gz: 4f6598c2bff80330603f087df0c83e629063457eff41c6bcdd3dc11450d6e53fbb548d493ba33c56cc9cd93bedaa57d7f539ec448c76124b64ad81098529d79a
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,18 @@
|
|
2
2
|
|
3
3
|
Format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
4
4
|
|
5
|
-
## [[Unreleased]](https://github.com/esotericpig/psychgus/compare/v1.
|
5
|
+
## [[Unreleased]](https://github.com/esotericpig/psychgus/compare/v1.3.2...master)
|
6
|
+
|
7
|
+
## [v1.3.2] - 2020-04-23
|
8
|
+
|
9
|
+
### Changed
|
10
|
+
- SuperSniffer::Parent
|
11
|
+
- Changed to use Delegator to delegate all methods of `node`
|
12
|
+
- Psychgus.dump_file()/parse_file()
|
13
|
+
- Changed `opt` to expect a Hash
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
- Fixed some Ruby 2.7 warnings in tests
|
6
17
|
|
7
18
|
## [v1.2.2] - 2020-03-15
|
8
19
|
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# Psychgus
|
2
2
|
|
3
|
-
[](https://badge.fury.io/rb/psychgus)
|
3
|
+
[](https://badge.fury.io/rb/psychgus)
|
4
|
+
[](https://travis-ci.org/esotericpig/psychgus)
|
5
|
+
[](https://inch-ci.org/github/esotericpig/psychgus)
|
4
6
|
|
5
7
|
[](https://esotericpig.github.io/docs/psychgus/yardoc/index.html)
|
6
8
|
[](https://github.com/esotericpig/psychgus)
|
@@ -47,7 +47,7 @@ module Psychgus
|
|
47
47
|
# @see SuperSniffer#end_parent SuperSniffer#end_parent
|
48
48
|
# @see Styler
|
49
49
|
###
|
50
|
-
class Parent
|
50
|
+
class Parent < Delegator
|
51
51
|
# Calling the getter is fine; calling the setter is *not* and could cause weird results.
|
52
52
|
#
|
53
53
|
# @return [Integer] the next child's position
|
@@ -80,47 +80,9 @@ module Psychgus
|
|
80
80
|
@position = sniffer.position
|
81
81
|
end
|
82
82
|
|
83
|
-
# @
|
84
|
-
|
85
|
-
|
86
|
-
# @see Psych::Nodes::Sequence#anchor=
|
87
|
-
def anchor=(anchor)
|
88
|
-
@node.anchor = anchor
|
89
|
-
end
|
90
|
-
|
91
|
-
# @see Psych::Nodes::Scalar#plain=
|
92
|
-
def plain=(plain)
|
93
|
-
@node.plain = plain
|
94
|
-
end
|
95
|
-
|
96
|
-
# @see Psych::Nodes::Scalar#quoted=
|
97
|
-
def quoted=(quoted)
|
98
|
-
@node.quoted = quoted
|
99
|
-
end
|
100
|
-
|
101
|
-
# @see Psych::Nodes::Mapping#style=
|
102
|
-
# @see Psych::Nodes::Scalar#style=
|
103
|
-
# @see Psych::Nodes::Sequence#style=
|
104
|
-
def style=(style)
|
105
|
-
@node.style = style
|
106
|
-
end
|
107
|
-
|
108
|
-
# @see Psych::Nodes::Node#tag=
|
109
|
-
def tag=(tag)
|
110
|
-
@node.tag = tag
|
111
|
-
end
|
112
|
-
|
113
|
-
# @see Psych::Nodes::Scalar#value=
|
114
|
-
def value=(value)
|
115
|
-
@node.value = value
|
116
|
-
end
|
117
|
-
|
118
|
-
# @see Psych::Nodes::Alias#anchor
|
119
|
-
# @see Psych::Nodes::Mapping#anchor
|
120
|
-
# @see Psych::Nodes::Scalar#anchor
|
121
|
-
# @see Psych::Nodes::Sequence#anchor
|
122
|
-
def anchor()
|
123
|
-
return @node.anchor
|
83
|
+
# @api private
|
84
|
+
def __getobj__
|
85
|
+
return @node
|
124
86
|
end
|
125
87
|
|
126
88
|
# Check if the children of this parent are keys to a Mapping.
|
@@ -141,21 +103,6 @@ module Psychgus
|
|
141
103
|
return @child_type == :value
|
142
104
|
end
|
143
105
|
|
144
|
-
# @see Psych::Nodes::Stream#encoding
|
145
|
-
def encoding()
|
146
|
-
return @node.encoding
|
147
|
-
end
|
148
|
-
|
149
|
-
# @see Psych::Nodes::Node#end_column
|
150
|
-
def end_column()
|
151
|
-
return @node.end_column
|
152
|
-
end
|
153
|
-
|
154
|
-
# @see Psych::Nodes::Node#end_line
|
155
|
-
def end_line()
|
156
|
-
return @node.end_line
|
157
|
-
end
|
158
|
-
|
159
106
|
# @see Psych::Nodes::Document#implicit
|
160
107
|
# @see Psych::Nodes::Mapping#implicit
|
161
108
|
# @see Psych::Nodes::Sequence#implicit
|
@@ -183,54 +130,12 @@ module Psychgus
|
|
183
130
|
return @node.quoted
|
184
131
|
end
|
185
132
|
|
186
|
-
# @see Psych::Nodes::Node#start_column
|
187
|
-
def start_column()
|
188
|
-
return @node.start_column
|
189
|
-
end
|
190
|
-
|
191
|
-
# @see Psych::Nodes::Node#start_line
|
192
|
-
def start_line()
|
193
|
-
return @node.start_line
|
194
|
-
end
|
195
|
-
|
196
|
-
# @see Psych::Nodes::Mapping#style
|
197
|
-
# @see Psych::Nodes::Scalar#style
|
198
|
-
# @see Psych::Nodes::Sequence#style
|
199
|
-
def style()
|
200
|
-
return @node.style
|
201
|
-
end
|
202
|
-
|
203
|
-
# @see Psych::Nodes::Node#tag
|
204
|
-
def tag()
|
205
|
-
return @node.tag
|
206
|
-
end
|
207
|
-
|
208
|
-
# @see Psych::Nodes::Document#tag_directives
|
209
|
-
def tag_directives()
|
210
|
-
return @node.tag_directives
|
211
|
-
end
|
212
|
-
|
213
|
-
# @see Psych::Nodes::Scalar#value
|
214
|
-
def value()
|
215
|
-
return @node.value
|
216
|
-
end
|
217
|
-
|
218
|
-
# @see Psych::Nodes::Document#version
|
219
|
-
def version()
|
220
|
-
return @node.version
|
221
|
-
end
|
222
|
-
|
223
133
|
# @note If this method is modified, then tests will fail
|
224
134
|
#
|
225
135
|
# @return [String] a String representation of this class for debugging and testing
|
226
136
|
def to_s()
|
227
137
|
return "<#{@debug_tag}:(#{@level}:#{@position}):#{@child_type}:(:#{@child_position})>"
|
228
138
|
end
|
229
|
-
|
230
|
-
alias_method :implicit,:implicit?
|
231
|
-
alias_method :implicit_end,:implicit_end?
|
232
|
-
alias_method :plain,:plain?
|
233
|
-
alias_method :quoted,:quoted?
|
234
139
|
end
|
235
140
|
end
|
236
141
|
end
|
data/lib/psychgus/version.rb
CHANGED
data/lib/psychgus.rb
CHANGED
@@ -413,8 +413,7 @@ module Psychgus
|
|
413
413
|
# [+'a:UTF-16'+] create a new file or append to an existing file
|
414
414
|
# and use UTF-16 encoding
|
415
415
|
# @param perm [Integer] the permission bits to use (platform dependent)
|
416
|
-
# @param opt [
|
417
|
-
# examples: +:textmode+, +:autoclose+
|
416
|
+
# @param opt [Hash] Hash of keyword args to pass to +File.open()+
|
418
417
|
# @param options [Hash] the options (or keyword args) to use; see {.dump_stream}
|
419
418
|
#
|
420
419
|
# @see .dump_stream
|
@@ -422,7 +421,9 @@ module Psychgus
|
|
422
421
|
# @see IO.new
|
423
422
|
# @see https://ruby-doc.org/core/IO.html#method-c-new
|
424
423
|
def self.dump_file(filename,*objects,mode: 'w',perm: nil,opt: nil,**options)
|
425
|
-
|
424
|
+
opt = Hash(opt)
|
425
|
+
|
426
|
+
File.open(filename,mode,perm,**opt) do |file|
|
426
427
|
file.write(dump_stream(*objects,**options))
|
427
428
|
end
|
428
429
|
end
|
@@ -625,6 +626,7 @@ module Psychgus
|
|
625
626
|
# @param filename [String] the name of the YAML file (and path) to parse
|
626
627
|
# @param fallback [Object] the return value when nothing is parsed
|
627
628
|
# @param mode [String,Integer] the IO open mode to use; example: +'r:BOM|UTF-8'+
|
629
|
+
# @param opt [Hash] Hash of keyword args to pass to +File.open()+
|
628
630
|
# @param kargs [Hash] the keyword args to use; see {.parse_stream}
|
629
631
|
#
|
630
632
|
# @return [Psych::Nodes::Document] the parsed Document node
|
@@ -634,8 +636,10 @@ module Psychgus
|
|
634
636
|
# @see Psych::Nodes::Document
|
635
637
|
# @see File.open
|
636
638
|
# @see IO.new
|
637
|
-
def self.parse_file(filename,fallback: false,mode: 'r:BOM|UTF-8',**kargs)
|
638
|
-
|
639
|
+
def self.parse_file(filename,fallback: false,mode: 'r:BOM|UTF-8',opt: nil,**kargs)
|
640
|
+
opt = Hash(opt)
|
641
|
+
|
642
|
+
result = File.open(filename,mode,**opt) do |file|
|
639
643
|
parse(file,filename: filename,**kargs)
|
640
644
|
end
|
641
645
|
|
data/psychgus.gemspec
CHANGED
@@ -58,7 +58,7 @@ Gem::Specification.new() do |spec|
|
|
58
58
|
# - https://github.com/ruby/psych/commit/712a65a53f3c15105cd86e8ad3ee3c779050ada4
|
59
59
|
spec.add_runtime_dependency 'psych','>= 3.0'
|
60
60
|
|
61
|
-
spec.add_development_dependency 'bundler' ,'~> 1
|
61
|
+
spec.add_development_dependency 'bundler' ,'~> 2.1'
|
62
62
|
spec.add_development_dependency 'minitest' ,'~> 5.14' # For testing
|
63
63
|
spec.add_development_dependency 'rake' ,'~> 13.0'
|
64
64
|
spec.add_development_dependency 'rdoc' ,'~> 6.2' # For RDoc for YARD (*.rb)
|
data/test/psychgus_test.rb
CHANGED
@@ -86,15 +86,28 @@ Toppings:
|
|
86
86
|
Tempfile.create(['Psychgus','.yaml']) do |file|
|
87
87
|
puts "Testing #{self.class.name} w/ temp file: #{file.path}"
|
88
88
|
|
89
|
-
Psychgus.dump_file(file,BURGERS_DATA,
|
89
|
+
Psychgus.dump_file(file,BURGERS_DATA,
|
90
|
+
mode: File::CREAT | File::RDWR,
|
91
|
+
opt: {textmode: true},
|
92
|
+
#perm: 644, # Unix only
|
93
|
+
stylers: @flow_styler,
|
94
|
+
)
|
90
95
|
|
91
96
|
file.rewind()
|
97
|
+
|
92
98
|
lines = file.readlines().join()
|
93
99
|
assert_equal EXPECTED_BURGERS,lines
|
94
100
|
|
95
101
|
file.rewind()
|
102
|
+
file.close()
|
103
|
+
|
96
104
|
data = Psych.load_file(file)
|
97
105
|
refute_equal false,data
|
106
|
+
refute_equal nil,data
|
107
|
+
|
108
|
+
data = Psychgus.parse_file(file)
|
109
|
+
refute_equal false,data
|
110
|
+
refute_equal nil,data
|
98
111
|
end
|
99
112
|
end
|
100
113
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: psychgus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Bradley Whited (@esotericpig)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: psych
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
33
|
+
version: '2.1'
|
34
34
|
type: :development
|
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: '1
|
40
|
+
version: '2.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|