meteor 0.9.45 → 0.9.46

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: 21bdbec821d662353316ee76eb7cc543b346e846038e559abf3f28767547ef76
4
- data.tar.gz: 305b0b9321a7b42a09173e1c18bf31aa25117efa2873dcf03e37a19db416f7e9
3
+ metadata.gz: da1a40f7b01242df1d91e5a5c9fbe36a606393ebc787874ea9e87ebf4a50fc80
4
+ data.tar.gz: 38a522602a2634d109714bad2a27fbe60c1e9173f0c9730f27ab7dcc9eb7aa78
5
5
  SHA512:
6
- metadata.gz: 83741d83f88f90a88af4908ddc796f24906667385f48c7c301292aa40eb1206663a8257f0fe7e225e66863626824a7817e50f9e9cb125671133ce03f32b43739
7
- data.tar.gz: cbb0bbc96389681332574749f0092e6b9243f8be73a2429f5d7aa251f175725047655bf8c3408e2a0fb02e28f39e4bd8f0c7958107f5f665082b3a7838c3c788
6
+ metadata.gz: 6be1372ef96ba157c1ef6e9803fcf4cefa916915034e3448945dcc353ce56c1e78f1c6535264e60baf515f0c1eb11550483881cbf15c5489acf31024e84d2495
7
+ data.tar.gz: f50a8ddde335d672a00c6313f189d6b9d7398f00a509ed249afcb8c8d3da40574fbd43fe0c670c565eb211107ba42c1114dba7d27e9e9f21df7a5f3a011a38f2
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.9.46 / 2026-08-06 Yasumasa Ashida <ys.ashida@gmail.com>
2
+
3
+ * Refactor Meteor::Ml::(Html4|Xhtml4)::ParserImpl
4
+
1
5
  == 0.9.45 / 2026-08-05 Yasumasa Ashida <ys.ashida@gmail.com>
2
6
 
3
7
  * Refactor Meteor::Ml::Html4::ParserImpl
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- meteor (0.9.45)
4
+ meteor (0.9.46)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -160,39 +160,14 @@ module Meteor
160
160
  # @param [String] name tag name (タグ名)
161
161
  # @return [Meteor::Element] element (要素)
162
162
  #
163
- def element_one(name) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metrics/PerceivedComplexity
163
+ def element_one(name)
164
164
  quote_name(name)
165
165
 
166
166
  # case of void element (空要素の場合(<->内容あり要素の場合))
167
167
  if match?(MATCH_TAG, name)
168
- # void element search pattern (空要素検索用パターン)
169
- @pattern_cc = String.new('') << '<' << @_name << '(|\\s[^<>]*)>'
170
- # @pattern_cc = "<#{@_name}(|\\s[^<>]*)>"
171
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
172
- @res = @pattern.match(@root.document)
173
- if @res
174
- element_void_one(name)
175
- else
176
- puts(Meteor::Exception::NoSuchElementException.new(name).message) if @error_check
177
-
178
- @elm_ = nil
179
- end
168
+ element_one_void(name)
180
169
  else
181
- # normal element search pattern (内容あり要素検索用パターン()
182
- @pattern_cc = "<#{@_name}(|\\s[^<>]*)>(((?!(#{@_name}[^<>]*>)).)*)<\\/#{@_name}>"
183
-
184
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
185
- # search of normal element (内容あり要素検索)
186
- @res = @pattern.match(@root.document)
187
- # case of normal element (内容あり要素の場合)
188
- if @res
189
- @on_search = true
190
- element_normal_one(name)
191
- else
192
- puts(Meteor::Exception::NoSuchElementException.new(name).message) if @error_check
193
-
194
- @elm_ = nil
195
- end
170
+ element_one_normal(name)
196
171
  end
197
172
 
198
173
  @elm_
@@ -200,6 +175,41 @@ module Meteor
200
175
 
201
176
  private :element_one
202
177
 
178
+ def element_one_void(name)
179
+ # void element search pattern (空要素検索用パターン)
180
+ @pattern_cc = String.new('') << '<' << @_name << '(|\\s[^<>]*)>'
181
+ # @pattern_cc = "<#{@_name}(|\\s[^<>]*)>"
182
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
183
+ @res = @pattern.match(@root.document)
184
+ if @res
185
+ element_void_one(name)
186
+ else
187
+ puts(Meteor::Exception::NoSuchElementException.new(name).message) if @error_check
188
+
189
+ @elm_ = nil
190
+ end
191
+ end
192
+
193
+ private :element_one_void
194
+
195
+ def element_one_normal(name)
196
+ # normal element search pattern (内容あり要素検索用パターン()
197
+ @pattern_cc = "<#{@_name}(|\\s[^<>]*)>(((?!(#{@_name}[^<>]*>)).)*)<\\/#{@_name}>"
198
+
199
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
200
+ # search of normal element (内容あり要素検索)
201
+ @res = @pattern.match(@root.document)
202
+ # case of normal element (内容あり要素の場合)
203
+ if @res
204
+ @on_search = true
205
+ element_normal_one(name)
206
+ else
207
+ puts(Meteor::Exception::NoSuchElementException.new(name).message) if @error_check
208
+
209
+ @elm_ = nil
210
+ end
211
+ end
212
+
203
213
  def element_void_one(name)
204
214
  @elm_ = Meteor::Element.new(name)
205
215
  # attribute (属性)
@@ -222,48 +232,39 @@ module Meteor
222
232
  # @param [true,false] quote quote flag (クオート・フラグ)
223
233
  # @return [Meteor::Element] element (要素)
224
234
  #
225
- def element_three(name, attr_name, attr_value, quote = true) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity,Style/OptionalBooleanParameter
235
+ def element_three(name, attr_name, attr_value, quote = true) # rubocop:disable Style/OptionalBooleanParameter
226
236
  quote_name(name)
227
237
  quote_attribute(attr_name, attr_value) if quote
228
238
 
229
239
  # case of void element (空要素の場合(<->内容あり要素の場合))
230
240
  if match?(MATCH_TAG, name)
231
- # void element search pattern (空要素検索パターン)
232
- @pattern_cc = "<#{@_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}\"[^<>]*)>"
233
-
234
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
235
- # void element search (空要素検索)
236
- @res = @pattern.match(@root.document)
237
- if @res
238
- element_void_three(name)
239
- else
240
- puts(Meteor::Exception::NoSuchElementException.new(name, attr_name, attr_value).message) if @error_check
241
-
242
- @elm_ = nil
243
- end
241
+ element_three_void(name, attr_name, attr_value)
244
242
  else
245
- # normal element search pattern (内容あり要素検索パターン)
246
- @pattern_cc = "<#{@_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}\"[^<>]*)>(((?!(#{@_name}[^<>]*>)).)*)<\\/#{@_name}>" # rubocop:disable Layout/LineLength
243
+ element_three_normal(name, attr_name, attr_value)
244
+ end
245
+
246
+ @elm_
247
+ end
247
248
 
248
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
249
- # search of normal element (内容あり要素検索)
250
- @res = @pattern.match(@root.document)
249
+ private :element_three
251
250
 
252
- @res = element_normal_three_two if !@res && !match?(MATCH_TAG_NNE, name)
251
+ def element_three_void(name, attr_name, attr_value)
252
+ # void element search pattern (空要素検索パターン)
253
+ @pattern_cc = "<#{@_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}\"[^<>]*)>"
253
254
 
254
- if @res
255
- element_normal_three_one(name)
256
- else
257
- puts(Meteor::Exception::NoSuchElementException.new(name, attr_name, attr_value).message) if @error_check
255
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
256
+ # void element search (空要素検索)
257
+ @res = @pattern.match(@root.document)
258
+ if @res
259
+ element_void_three(name)
260
+ else
261
+ puts(Meteor::Exception::NoSuchElementException.new(name, attr_name, attr_value).message) if @error_check
258
262
 
259
- @elm_ = nil
260
- end
263
+ @elm_ = nil
261
264
  end
262
-
263
- @elm_
264
265
  end
265
266
 
266
- private :element_three
267
+ private :element_three_void
267
268
 
268
269
  def element_void_three(name)
269
270
  element_void_three_one(name, '"[^<>]*)>')
@@ -271,6 +272,27 @@ module Meteor
271
272
 
272
273
  private :element_void_three
273
274
 
275
+ def element_three_normal(name, attr_name, attr_value)
276
+ # normal element search pattern (内容あり要素検索パターン)
277
+ @pattern_cc = "<#{@_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}\"[^<>]*)>(((?!(#{@_name}[^<>]*>)).)*)<\\/#{@_name}>" # rubocop:disable Layout/LineLength
278
+
279
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
280
+ # search of normal element (内容あり要素検索)
281
+ @res = @pattern.match(@root.document)
282
+
283
+ @res = element_normal_three_two if !@res && !match?(MATCH_TAG_NNE, name)
284
+
285
+ if @res
286
+ element_normal_three_one(name)
287
+ else
288
+ puts(Meteor::Exception::NoSuchElementException.new(name, attr_name, attr_value).message) if @error_check
289
+
290
+ @elm_ = nil
291
+ end
292
+ end
293
+
294
+ private :element_three_normal
295
+
274
296
  #
275
297
  # get element using attribute(name="value") (属性(属性名="属性値")で検索し、要素を取得する)
276
298
  # @param [String] attr_name attribute name (属性名)
@@ -133,8 +133,6 @@ module Meteor
133
133
 
134
134
  element_three('meta', 'http-equiv', 'Content-Type')
135
135
 
136
- element_three('meta', 'http-equiv', 'Content-Type') unless @elm_
137
-
138
136
  @error_check = true
139
137
 
140
138
  if @elm_
data/lib/meteor.rb CHANGED
@@ -37,11 +37,11 @@ require 'meteor/ml/xml/parser_impl'
37
37
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
38
38
  #
39
39
  # @author Yasumasa Ashida
40
- # @version 0.9.45
40
+ # @version 0.9.46
41
41
  #
42
42
 
43
43
  module Meteor
44
- VERSION = '0.9.45'
44
+ VERSION = '0.9.46'
45
45
 
46
46
  # require 'fileutils'
47
47
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meteor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.45
4
+ version: 0.9.46
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasumasa Ashida