meteor 0.9.33 → 0.9.35

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.
@@ -7,18 +7,18 @@ module Meteor
7
7
  #
8
8
  # XHTML4 parser (XHTML4パーサ)
9
9
  #
10
- class ParserImpl < Meteor::Core::Kernel
10
+ class ParserImpl < Meteor::Core::Kernel # rubocop:disable Metrics/ClassLength
11
11
  # KAIGYO_CODE = "\r?\n|\r"
12
12
  KAIGYO_CODE = ["\r\n", "\n", "\r"].freeze
13
13
  BR = '<br/>'
14
14
  BR_RE = '<br\\/>'
15
15
 
16
- # @@match_tag_two = "textarea|option|pre"
16
+ # MATCH_TAG_TWO = "textarea|option|pre"
17
17
  # [Array] elements where line breaks do not need to be converted to <br> (改行を<br/>に変換する必要のない要素)
18
- @@match_tag_two = %w[textarea option pre]
18
+ MATCH_TAG_TWO = %w[textarea option pre].freeze
19
19
 
20
20
  # [Array] boolean attributes (論理値で指定する属性)
21
- @@attr_bool = %w[disabled readonly checked selected multiple]
21
+ ATTR_BOOL = %w[disabled readonly checked selected multiple].freeze
22
22
 
23
23
  # DISABLE_ELEMENT = "input|textarea|select|optgroup"
24
24
  # [Array] element with disablled attribute (disabled属性のある要素)
@@ -48,24 +48,24 @@ module Meteor
48
48
  MULTIPLE_R = 'multiple="[^"]*"'
49
49
  MULTIPLE_U = 'multiple="multiple"'
50
50
 
51
- @@pattern_selected_m = Regexp.new(SELECTED_M)
52
- @@pattern_selected_m1 = Regexp.new(SELECTED_M1)
53
- @@pattern_selected_r = Regexp.new(SELECTED_R)
54
- @@pattern_checked_m = Regexp.new(CHECKED_M)
55
- @@pattern_checked_m1 = Regexp.new(CHECKED_M1)
56
- @@pattern_checked_r = Regexp.new(CHECKED_R)
57
- @@pattern_disabled_m = Regexp.new(DISABLED_M)
58
- @@pattern_disabled_m1 = Regexp.new(DISABLED_M1)
59
- @@pattern_disabled_r = Regexp.new(DISABLED_R)
60
- @@pattern_readonly_m = Regexp.new(READONLY_M)
61
- @@pattern_readonly_m1 = Regexp.new(READONLY_M1)
62
- @@pattern_readonly_r = Regexp.new(READONLY_R)
63
- @@pattern_multiple_m = Regexp.new(MULTIPLE_M)
64
- @@pattern_multiple_m1 = Regexp.new(MULTIPLE_M1)
65
- @@pattern_multiple_r = Regexp.new(MULTIPLE_R)
66
-
67
- # @@pattern_match_tag = Regexp.new(@@match_tag)
68
- # @@pattern_match_tag2 = Regexp.new(@@match_tag_two)
51
+ RE_SELECTED_M = Regexp.new(SELECTED_M)
52
+ RE_SELECTED_M1 = Regexp.new(SELECTED_M1)
53
+ RE_SELECTED_R = Regexp.new(SELECTED_R)
54
+ RE_CHECKED_M = Regexp.new(CHECKED_M)
55
+ RE_CHECKED_M1 = Regexp.new(CHECKED_M1)
56
+ RE_CHECKED_R = Regexp.new(CHECKED_R)
57
+ RE_DISABLED_M = Regexp.new(DISABLED_M)
58
+ RE_DISABLED_M1 = Regexp.new(DISABLED_M1)
59
+ RE_DISABLED_R = Regexp.new(DISABLED_R)
60
+ RE_READONLY_M = Regexp.new(READONLY_M)
61
+ RE_READONLY_M1 = Regexp.new(READONLY_M1)
62
+ RE_READONLY_R = Regexp.new(READONLY_R)
63
+ RE_MULTIPLE_M = Regexp.new(MULTIPLE_M)
64
+ RE_MULTIPLE_M1 = Regexp.new(MULTIPLE_M1)
65
+ RE_MULTIPLE_R = Regexp.new(MULTIPLE_R)
66
+
67
+ # RE_MATCH_TAG = Regexp.new(MATCH_TAG)
68
+ # RE_MATCH_TAG_TWO = Regexp.new(MATCH_TAG_TWO)
69
69
 
70
70
  #
71
71
  # initializer (イニシャライザ)
@@ -172,18 +172,18 @@ module Meteor
172
172
  private :analyze_newline
173
173
 
174
174
  def edit_attrs_(elm, attr_name, attr_value)
175
- if is_match('selected', attr_name) && is_match('option', elm.name)
176
- edit_attrs_five(elm, attr_value, @@pattern_selected_m, @@pattern_selected_r, SELECTED_U)
177
- elsif is_match('multiple', attr_name) && is_match('select', elm.name)
178
- edit_attrs_five(elm, attr_value, @@pattern_multiple_m, @@pattern_multiple_r, MULTIPLE_U)
179
- elsif is_match('disabled', attr_name) && is_match(DISABLE_ELEMENT, elm.name)
180
- edit_attrs_five(elm, attr_value, @@pattern_disabled_m, @@pattern_disabled_r, DISABLED_U)
181
- elsif is_match('checked', attr_name) && is_match('input', elm.name) && is_match('radio', get_type(elm))
182
- edit_attrs_five(elm, attr_value, @@pattern_checked_m, @@pattern_checked_r, CHECKED_U)
183
- elsif is_match('readonly', attr_name) &&
184
- (is_match('textarea',
185
- elm.name) || (is_match('input', elm.name) && is_match(READONLY_TYPE, get_type(elm))))
186
- edit_attrs_five(elm, attr_value, @@pattern_readonly_m, @@pattern_readonly_r, READONLY_U)
175
+ if match?('selected', attr_name) && match?('option', elm.name)
176
+ edit_attrs_five(elm, attr_value, RE_SELECTED_M, RE_SELECTED_R, SELECTED_U)
177
+ elsif match?('multiple', attr_name) && match?('select', elm.name)
178
+ edit_attrs_five(elm, attr_value, RE_MULTIPLE_M, RE_MULTIPLE_R, MULTIPLE_U)
179
+ elsif match?('disabled', attr_name) && match?(DISABLE_ELEMENT, elm.name)
180
+ edit_attrs_five(elm, attr_value, RE_DISABLED_M, RE_DISABLED_R, DISABLED_U)
181
+ elsif match?('checked', attr_name) && match?('input', elm.name) && match?('radio', get_type(elm))
182
+ edit_attrs_five(elm, attr_value, RE_CHECKED_M, RE_CHECKED_R, CHECKED_U)
183
+ elsif match?('readonly', attr_name) &&
184
+ (match?('textarea',
185
+ elm.name) || (match?('input', elm.name) && match?(READONLY_TYPE, get_type(elm))))
186
+ edit_attrs_five(elm, attr_value, RE_READONLY_M, RE_READONLY_R, READONLY_U)
187
187
  else
188
188
  super(elm, attr_name, attr_value)
189
189
  end
@@ -194,7 +194,7 @@ module Meteor
194
194
  def edit_attrs_five(elm, attr_value, match_p, replace_regex, replace_update)
195
195
  # attr_value = escape(attr_value)
196
196
 
197
- if true.equal?(attr_value) || is_match('true', attr_value)
197
+ if true.equal?(attr_value) || match?('true', attr_value)
198
198
  @res = match_p.match(elm.attributes)
199
199
 
200
200
  if !@res
@@ -209,7 +209,7 @@ module Meteor
209
209
  # replace attribute (属性の置換)
210
210
  elm.attributes.gsub!(replace_regex, replace_update)
211
211
  end
212
- elsif false.equal?(attr_value) || is_match('false', attr_value)
212
+ elsif false.equal?(attr_value) || match?('false', attr_value)
213
213
  # delete if attribute_name attrubute exeists (attr_name属性が存在するなら削除)
214
214
  # replace attribute (属性の置換)
215
215
  elm.attributes.gsub!(replace_regex, '')
@@ -219,18 +219,18 @@ module Meteor
219
219
  private :edit_attrs_five
220
220
 
221
221
  def get_attr_value_(elm, attr_name)
222
- if is_match('selected', attr_name) && is_match('option', elm.name)
223
- get_attr_value_r(elm, attr_name, @@pattern_selected_m1)
224
- elsif is_match('multiple', attr_name) && is_match('select', elm.name)
225
- get_attr_value_r(elm, attr_name, @@pattern_multiple_m1)
226
- elsif is_match('diabled', attr_name) && is_match(DISABLE_ELEMENT, elm.name)
227
- get_attr_value_r(elm, attr_name, @@pattern_disabled_m1)
228
- elsif is_match('checked', attr_name) && is_match('input', elm.name) && is_match('radio', get_type(elm))
229
- get_attr_value_r(elm, attr_name, @@pattern_checked_m1)
230
- elsif is_match('readonly', attr_name) &&
231
- (is_match('textarea',
232
- elm.name) || (is_match('input', elm.name) && is_match(READONLY_TYPE, get_type(elm))))
233
- get_attr_value_r(elm, attr_name, @@pattern_readonly_m1)
222
+ if match?('selected', attr_name) && match?('option', elm.name)
223
+ get_attr_value_r(elm, attr_name, RE_SELECTED_M1)
224
+ elsif match?('multiple', attr_name) && match?('select', elm.name)
225
+ get_attr_value_r(elm, attr_name, RE_MULTIPLE_M1)
226
+ elsif match?('diabled', attr_name) && match?(DISABLE_ELEMENT, elm.name)
227
+ get_attr_value_r(elm, attr_name, RE_DISABLED_M1)
228
+ elsif match?('checked', attr_name) && match?('input', elm.name) && match?('radio', get_type(elm))
229
+ get_attr_value_r(elm, attr_name, RE_CHECKED_M1)
230
+ elsif match?('readonly', attr_name) &&
231
+ (match?('textarea',
232
+ elm.name) || (match?('input', elm.name) && match?(READONLY_TYPE, get_type(elm))))
233
+ get_attr_value_r(elm, attr_name, RE_READONLY_M1)
234
234
  else
235
235
  super(elm, attr_name)
236
236
  end
@@ -293,8 +293,8 @@ module Meteor
293
293
  def get_attr_map(elm)
294
294
  attrs = Meteor::AttributeMap.new
295
295
 
296
- elm.attributes.scan(@@pattern_get_attrs_map) do |a, b|
297
- if is_match(@@attr_bool, a) && a == b
296
+ elm.attributes.scan(RE_GET_ATTRS_MAP) do |a, b|
297
+ if match?(ATTR_BOOL, a) && a == b
298
298
  attrs.store(a, 'true')
299
299
  else
300
300
  attrs.store(a, unescape(b))
@@ -20,10 +20,11 @@ module Meteor
20
20
  }.freeze
21
21
 
22
22
  PATTERN_ESCAPE = "[&\\\"'<>]"
23
- @@pattern_escape = Regexp.new(PATTERN_ESCAPE)
24
23
 
25
24
  PATTERN_UNESCAPE = '&(amp|quot|apos|gt|lt);'
26
- @@pattern_unescape = Regexp.new(PATTERN_UNESCAPE)
25
+
26
+ RE_ESCAPE = Regexp.new(PATTERN_ESCAPE)
27
+ RE_UNESCAPE = Regexp.new(PATTERN_UNESCAPE)
27
28
 
28
29
  #
29
30
  # initializer (イニシャライザ)
@@ -119,7 +120,7 @@ module Meteor
119
120
 
120
121
  def escape(content)
121
122
  # replace special character (特殊文字の置換)
122
- content.gsub(@@pattern_escape, TABLE_FOR_ESCAPE_)
123
+ content.gsub(RE_ESCAPE, TABLE_FOR_ESCAPE_)
123
124
  end
124
125
 
125
126
  private :escape
@@ -137,7 +138,7 @@ module Meteor
137
138
  # 「"」<-「&quot;」
138
139
  # 「'」<-「&apos;」
139
140
  # 「&」<-「&amp;」
140
- content.gsub(@@pattern_unescape) do
141
+ content.gsub(RE_UNESCAPE) do
141
142
  case ::Regexp.last_match(1)
142
143
  when 'amp'
143
144
  '&'
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.33
40
+ # @version 0.9.35
41
41
  #
42
42
 
43
43
  module Meteor
44
- VERSION = '0.9.33'
44
+ VERSION = '0.9.35'
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.33
4
+ version: 0.9.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasumasa Ashida