asip-meteor 0.9.1.3 → 0.9.1.5

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.
Files changed (2) hide show
  1. data/lib/meteor.rb +184 -144
  2. metadata +3 -3
data/lib/meteor.rb CHANGED
@@ -18,7 +18,7 @@
18
18
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
19
  #
20
20
  # @author Yasumasa Ashida
21
- # @version 0.9.1.3
21
+ # @version 0.9.1.5
22
22
  #
23
23
 
24
24
 
@@ -31,8 +31,19 @@ end
31
31
 
32
32
  module Meteor
33
33
 
34
- VERSION = "0.9.1.3"
35
-
34
+ VERSION = "0.9.1.5"
35
+
36
+ ZERO = 0
37
+ ONE = 1
38
+ TWO = 2
39
+ THREE = 3
40
+ FOUR = 4
41
+ FIVE = 5
42
+ SIX = 6
43
+ SEVEN = 7
44
+
45
+ CONTENT_STR = ':content'
46
+
36
47
  #
37
48
  # 要素クラス
38
49
  #
@@ -44,7 +55,7 @@ module Meteor
44
55
  #
45
56
  def initialize(*args)
46
57
  case args.length
47
- when 1
58
+ when ONE
48
59
  if args[0].kind_of?(String) then
49
60
  initialize_s(args[0])
50
61
  elsif args[0].kind_of?(Meteor::Element)
@@ -74,8 +85,9 @@ module Meteor
74
85
  #@parent = false
75
86
  @arguments = AttributeMap.new
76
87
  @origin = self.object_id
77
- @usable = 0
88
+ @usable = ZERO
78
89
  end
90
+ private :initialize_s
79
91
 
80
92
  #
81
93
  # イニシャライザ
@@ -94,8 +106,9 @@ module Meteor
94
106
  @parser = elm.parser
95
107
  @arguments = AttributeMap.new(elm.arguments)
96
108
  @origin = elm.object_id
97
- @usable = 0
109
+ @usable = ZERO
98
110
  end
111
+ private :initialize_e
99
112
 
100
113
  def self.new!(elm)
101
114
  @obj = elm.parser.e_cache[elm.origin]
@@ -104,7 +117,7 @@ module Meteor
104
117
  @obj.pattern = String.new(elm.pattern)
105
118
  @obj.document = String.new(elm.document)
106
119
  @obj.arguments = AttributeMap.new(elm.arguments)
107
- @obj.usable = 0
120
+ @obj.usable = ZERO
108
121
  @obj
109
122
  else
110
123
  self.new(elm)
@@ -145,17 +158,29 @@ module Meteor
145
158
  def attribute_map
146
159
  @parser.attribute_map(self)
147
160
  end
148
-
161
+
162
+
163
+
149
164
  #
150
165
  # 内容をセットする or 内容を取得する
151
- #
166
+ #
152
167
  # @param [Array] args 引数配列
153
168
  # @return [String] 内容
154
169
  #
155
170
  def content(*args)
156
- @parser.content(self,*args)
171
+ @parser.content(self,args)
157
172
  end
158
173
 
174
+ #
175
+ # 内容をセットする
176
+ #
177
+ # @param [String] value 内容の値
178
+ #
179
+ def content=(value)
180
+ @parser.content(self,value)
181
+ end
182
+
183
+
159
184
  #
160
185
  # 属性を編集するor内容をセットする
161
186
  #
@@ -163,10 +188,10 @@ module Meteor
163
188
  # @param [String] value 属性の値or内容
164
189
  #
165
190
  def []=(name,value)
166
- if !name.kind_of?(String) || name != ':content' then
191
+ if !name.kind_of?(String) || name != CONTENT_STR then
167
192
  attribute(name,value)
168
193
  else
169
- content(value)
194
+ content=(value)
170
195
  end
171
196
  end
172
197
 
@@ -177,7 +202,7 @@ module Meteor
177
202
  # @return [String] 属性の値or内容
178
203
  #
179
204
  def [](name)
180
- if !name.kind_of?(String) || name != ':content' then
205
+ if !name.kind_of?(String) || name != CONTENT_STR then
181
206
  attribute(name)
182
207
  else
183
208
  content()
@@ -207,6 +232,8 @@ module Meteor
207
232
  #
208
233
  class RootElement
209
234
 
235
+ EMPTY = ''
236
+
210
237
  #
211
238
  # イニシャライザ
212
239
  #
@@ -219,7 +246,7 @@ module Meteor
219
246
  #@character_encoding=''
220
247
 
221
248
  #フックドキュメント
222
- @hook_document =''
249
+ @hook_document = EMPTY
223
250
  #フック判定フラグ
224
251
  #@hook = false
225
252
  #単一要素フック判定フラグ
@@ -248,9 +275,9 @@ module Meteor
248
275
 
249
276
  def initialize(*args)
250
277
  case args.length
251
- when 0
278
+ when ZERO
252
279
  initialize_0
253
- when 1
280
+ when ONE
254
281
  initialize_1(args[0])
255
282
  else
256
283
  raise ArgumentError
@@ -267,6 +294,7 @@ module Meteor
267
294
  end
268
295
  @recordable = false
269
296
  end
297
+ private :initialize_0
270
298
 
271
299
  #
272
300
  # イニシャライザ
@@ -279,7 +307,8 @@ module Meteor
279
307
  end
280
308
  @recordable = attr_map.recordable
281
309
  end
282
-
310
+ private :initialize_1
311
+
283
312
  #
284
313
  # 属性名と属性値を対としてセットする
285
314
  #
@@ -412,7 +441,7 @@ module Meteor
412
441
  attr_accessor :name
413
442
  attr_accessor :value
414
443
  attr_accessor :changed
415
- attr_accessor :removed
444
+ attr_accessor :removed
416
445
 
417
446
  end
418
447
 
@@ -420,8 +449,8 @@ module Meteor
420
449
  # パーサ共通クラス
421
450
  #
422
451
  class Parser
423
- HTML = 0
424
- XHTML = 1
452
+ HTML = ZERO
453
+ XHTML = ONE
425
454
  XML = 2
426
455
  end
427
456
 
@@ -438,9 +467,9 @@ module Meteor
438
467
  #
439
468
  def self.build(*args)
440
469
  case args.length
441
- when 3
470
+ when THREE
442
471
  build_3(args[0],args[1],args[2])
443
- when 2
472
+ when TWO
444
473
  build_2(args[0],args[1])
445
474
  else
446
475
  raise ArgumentError
@@ -730,13 +759,18 @@ module Meteor
730
759
  #escape
731
760
  AND_1 = '&'
732
761
  AND_2 = '&'
762
+ AND_3 = 'amp'
733
763
  LT_1 = '<'
734
764
  LT_2 = '&lt;'
765
+ LT_3 = 'lt'
735
766
  GT_1 = '>'
736
767
  GT_2 = '&gt;'
768
+ GT_3 = 'gt'
737
769
  QO_2 = '&quot;'
770
+ QO_3 = 'quot'
738
771
  AP_1 = '\''
739
772
  AP_2 = '&apos;'
773
+ AP_3 = 'apos'
740
774
  #EN_1 = "\\\\"
741
775
  EN_1 = "\\"
742
776
  #EN_2 = "\\\\\\\\"
@@ -837,6 +871,7 @@ module Meteor
837
871
  #@_attrValue2 = nil
838
872
 
839
873
  #@sbuf = nil;
874
+ #@sbuf = ''
840
875
  #@rx_document = nil;
841
876
  #@rx_document2 = nil;
842
877
  end
@@ -1010,15 +1045,15 @@ module Meteor
1010
1045
  #
1011
1046
  def element(*args)
1012
1047
  case args.length
1013
- when 1
1048
+ when ONE
1014
1049
  element_1(args[0])
1015
- when 2
1050
+ when TWO
1016
1051
  element_2(args[0],args[1])
1017
- when 3
1052
+ when THREE
1018
1053
  element_3(args[0],args[1],args[2])
1019
- when 4
1054
+ when FOUR
1020
1055
  element_4(args[0],args[1],args[2],args[3])
1021
- when 5
1056
+ when FIVE
1022
1057
  element_5(args[0],args[1],args[2],args[3],args[4])
1023
1058
  else
1024
1059
  raise ArgumentError
@@ -1195,7 +1230,7 @@ module Meteor
1195
1230
 
1196
1231
  def element_with_3_1(elm_name)
1197
1232
 
1198
- if @res.captures.length == 4 then
1233
+ if @res.captures.length == FOUR then
1199
1234
  #要素
1200
1235
  @elm_ = Element.new(elm_name)
1201
1236
  #属性
@@ -1216,7 +1251,7 @@ module Meteor
1216
1251
 
1217
1252
  @elm_.parser = self
1218
1253
 
1219
- elsif @res.captures.length == 6 then
1254
+ elsif @res.captures.length == SIX then
1220
1255
  #内容
1221
1256
  @elm_ = Element.new(elm_name)
1222
1257
  #属性
@@ -1269,7 +1304,7 @@ module Meteor
1269
1304
 
1270
1305
  @pattern_cc = @sbuf
1271
1306
 
1272
- if @sbuf.length == 0 || @cnt != 0 then
1307
+ if @sbuf.length == ZERO || @cnt != ZERO then
1273
1308
  # raise NoSuchElementException.new(elm_name,attr_name,attr_value);
1274
1309
  return nil;
1275
1310
  end
@@ -1416,7 +1451,7 @@ module Meteor
1416
1451
 
1417
1452
  def element_with_5_1(elm_name)
1418
1453
 
1419
- if @res.captures.length == 4 then
1454
+ if @res.captures.length == FOUR then
1420
1455
  #要素
1421
1456
  @elm_ = Element.new(elm_name)
1422
1457
  #属性
@@ -1440,7 +1475,7 @@ module Meteor
1440
1475
 
1441
1476
  @elm_.parser = self
1442
1477
 
1443
- elsif @res.captures.length == 6 then
1478
+ elsif @res.captures.length == SIX then
1444
1479
 
1445
1480
  @elm_ = Element.new(elm_name)
1446
1481
  #属性
@@ -1499,7 +1534,7 @@ module Meteor
1499
1534
 
1500
1535
  @pattern_cc = @sbuf
1501
1536
 
1502
- if @sbuf.length == 0 || @cnt != 0 then
1537
+ if @sbuf.length == ZERO || @cnt != ZERO then
1503
1538
  # raise NoSuchElementException.new(elm_name,attr_name1,attr_value1,attr_name2,attr_value2);
1504
1539
  return nil
1505
1540
  end
@@ -1581,11 +1616,11 @@ module Meteor
1581
1616
 
1582
1617
  @position = 0
1583
1618
 
1584
- while (@res = @pattern.match(@root.document,@position)) || @cnt > 0
1619
+ while (@res = @pattern.match(@root.document,@position)) || @cnt > ZERO
1585
1620
 
1586
1621
  if @res then
1587
1622
 
1588
- if @cnt > 0 then
1623
+ if @cnt > ZERO then
1589
1624
 
1590
1625
  @position2 = @res.end(0)
1591
1626
 
@@ -1597,7 +1632,7 @@ module Meteor
1597
1632
 
1598
1633
  if @position > @position2 then
1599
1634
 
1600
- if @cnt == 0 then
1635
+ if @cnt == ZERO then
1601
1636
  @sbuf << @pattern_cc_1_1
1602
1637
  else
1603
1638
  @sbuf << @pattern_cc_1_2
@@ -1608,40 +1643,40 @@ module Meteor
1608
1643
  @position = @position2
1609
1644
  else
1610
1645
 
1611
- @cnt -= 1
1646
+ @cnt -= ONE
1612
1647
 
1613
- if @cnt != 0 then
1648
+ if @cnt != ZERO then
1614
1649
  @sbuf << @pattern_cc_2_1
1615
1650
  else
1616
1651
  @sbuf << @pattern_cc_2_2
1617
1652
  end
1618
1653
 
1619
- if @cnt == 0 then
1654
+ if @cnt == ZERO then
1620
1655
  break
1621
1656
  end
1622
1657
  end
1623
1658
  else
1624
1659
 
1625
- if @cnt == 0 then
1660
+ if @cnt == ZERO then
1626
1661
  @sbuf << @pattern_cc_1_1
1627
1662
  else
1628
1663
  @sbuf << @pattern_cc_1_2
1629
1664
  end
1630
1665
 
1631
- @cnt += 1
1666
+ @cnt += ONE
1632
1667
 
1633
1668
  @position = @position2
1634
1669
  end
1635
1670
  else
1636
1671
  @position = @res.end(0)
1637
1672
 
1638
- if @cnt == 0 then
1673
+ if @cnt == ZERO then
1639
1674
  @sbuf << @pattern_cc_1_1
1640
1675
  else
1641
1676
  @sbuf << @pattern_cc_1_2
1642
1677
  end
1643
1678
 
1644
- @cnt += 1
1679
+ @cnt += ONE
1645
1680
  end
1646
1681
  else
1647
1682
 
@@ -1649,9 +1684,9 @@ module Meteor
1649
1684
 
1650
1685
  if @res then
1651
1686
 
1652
- @cnt -= 1
1687
+ @cnt -= ONE
1653
1688
 
1654
- if @cnt != 0 then
1689
+ if @cnt != ZERO then
1655
1690
  @sbuf << @pattern_cc_2_1
1656
1691
  else
1657
1692
  @sbuf << @pattern_cc_2_2
@@ -1660,7 +1695,7 @@ module Meteor
1660
1695
  @position = @res.end(0)
1661
1696
  end
1662
1697
 
1663
- if @cnt == 0 then
1698
+ if @cnt == ZERO then
1664
1699
  break
1665
1700
  end
1666
1701
 
@@ -1675,11 +1710,11 @@ module Meteor
1675
1710
 
1676
1711
  @rx_document = @root.document
1677
1712
 
1678
- while (@res = @pattern.match(@rx_document)) || @cnt > 0
1713
+ while (@res = @pattern.match(@rx_document)) || @cnt > ZERO
1679
1714
 
1680
1715
  if @res then
1681
1716
 
1682
- if @cnt > 0 then
1717
+ if @cnt > ZERO then
1683
1718
 
1684
1719
  @rx_document2 = @res.post_match
1685
1720
 
@@ -1691,51 +1726,51 @@ module Meteor
1691
1726
 
1692
1727
  if @rx_document2.length > @rx_document.length then
1693
1728
 
1694
- if @cnt == 0 then
1729
+ if @cnt == ZERO then
1695
1730
  @sbuf << @pattern_cc_1_1
1696
1731
  else
1697
1732
  @sbuf << @pattern_cc_1_2
1698
1733
  end
1699
1734
 
1700
- @cnt += 1
1735
+ @cnt += ONE
1701
1736
 
1702
1737
  @rx_document = @rx_document2
1703
1738
  else
1704
1739
 
1705
- @cnt -= 1
1740
+ @cnt -= ONE
1706
1741
 
1707
- if @cnt != 0 then
1742
+ if @cnt != ZERO then
1708
1743
  @sbuf << @pattern_cc_2_1
1709
1744
  else
1710
1745
  @sbuf << @pattern_cc_2_2
1711
1746
  end
1712
1747
 
1713
- if @cnt == 0 then
1748
+ if @cnt == ZERO then
1714
1749
  break
1715
1750
  end
1716
1751
  end
1717
1752
  else
1718
1753
 
1719
- if @cnt == 0 then
1754
+ if @cnt == ZERO then
1720
1755
  @sbuf << @pattern_cc_1_1
1721
1756
  else
1722
1757
  @sbuf << @pattern_cc_1_2
1723
1758
  end
1724
1759
 
1725
- @cnt += 1
1760
+ @cnt += ONE
1726
1761
 
1727
1762
  @rx_document = @rx_document2
1728
1763
  end
1729
1764
  else
1730
1765
  @rx_document = @res.post_match
1731
1766
 
1732
- if @cnt == 0 then
1767
+ if @cnt == ZERO then
1733
1768
  @sbuf << @pattern_cc_1_1
1734
1769
  else
1735
1770
  @sbuf << @pattern_cc_1_2
1736
1771
  end
1737
1772
 
1738
- @cnt += 1
1773
+ @cnt += ONE
1739
1774
  end
1740
1775
  else
1741
1776
 
@@ -1743,9 +1778,9 @@ module Meteor
1743
1778
 
1744
1779
  if @res then
1745
1780
 
1746
- @cnt -= 1
1781
+ @cnt -= ONE
1747
1782
 
1748
- if @cnt != 0 then
1783
+ if @cnt != ZERO then
1749
1784
  @sbuf << @pattern_cc_2_1
1750
1785
  else
1751
1786
  @sbuf << @pattern_cc_2_2
@@ -1754,7 +1789,7 @@ module Meteor
1754
1789
  @rx_document = @res.post_match
1755
1790
  end
1756
1791
 
1757
- if @cnt == 0 then
1792
+ if @cnt == ZERO then
1758
1793
  break
1759
1794
  end
1760
1795
 
@@ -1777,9 +1812,9 @@ module Meteor
1777
1812
  #
1778
1813
  def attribute(*args)
1779
1814
  case args.length
1780
- when 1
1815
+ when ONE
1781
1816
  get_attribute_value_1(args[0])
1782
- when 2
1817
+ when TWO
1783
1818
  if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
1784
1819
  get_attribute_value_2(args[0],args[1])
1785
1820
  elsif args[0].kind_of?(String) && args[1].kind_of?(String) then
@@ -1789,7 +1824,7 @@ module Meteor
1789
1824
  else
1790
1825
  raise ArgumentError
1791
1826
  end
1792
- when 3
1827
+ when THREE
1793
1828
  set_attribute_3(args[0],args[1],args[2])
1794
1829
  else
1795
1830
  raise ArgumentError
@@ -1872,7 +1907,7 @@ module Meteor
1872
1907
  if !elm.cx then
1873
1908
  @_attributes = elm.attributes
1874
1909
  replace2regex(@_attributes)
1875
-
1910
+
1876
1911
  if elm.empty then
1877
1912
  #内容あり要素の場合
1878
1913
  @_content = elm.mixed_content
@@ -1997,9 +2032,9 @@ module Meteor
1997
2032
  #
1998
2033
  def attribute_map(*args)
1999
2034
  case args.length
2000
- when 0
2035
+ when ZERO
2001
2036
  get_attribute_map_0
2002
- when 1
2037
+ when ONE
2003
2038
  get_attribute_map_1(args[0])
2004
2039
  else
2005
2040
  raise ArgumentError
@@ -2070,13 +2105,13 @@ module Meteor
2070
2105
  #
2071
2106
  def content(*args)
2072
2107
  case args.length
2073
- when 1
2108
+ when ONE
2074
2109
  if args[0].kind_of?(Meteor::Element) then
2075
2110
  get_content_1(args[0])
2076
2111
  elsif args[0].kind_of?(String) then
2077
2112
  set_content_1(args[0])
2078
2113
  end
2079
- when 2
2114
+ when TWO
2080
2115
  if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
2081
2116
  set_content_2_s(args[0],args[1])
2082
2117
  elsif args[0].kind_of?(String) && (args[1].kind_of?(TrueClass) || args[1].kind_of?(FalseClass)) then
@@ -2084,7 +2119,7 @@ module Meteor
2084
2119
  else
2085
2120
  raise ArgumentError
2086
2121
  end
2087
- when 3
2122
+ when THREE
2088
2123
  set_content_3(args[0],args[1],args[2])
2089
2124
  else
2090
2125
  raise ArgumentError
@@ -2170,9 +2205,9 @@ module Meteor
2170
2205
  #
2171
2206
  def remove_attribute(*args)
2172
2207
  case args.length
2173
- when 1
2208
+ when ONE
2174
2209
  remove_attribute_1(args[0])
2175
- when 2
2210
+ when TWO
2176
2211
  remove_attribute_2(args[0],args[1])
2177
2212
  else
2178
2213
  raise ArgumentError
@@ -2243,9 +2278,9 @@ module Meteor
2243
2278
  #
2244
2279
  def cxtag(*args)
2245
2280
  case args.length
2246
- when 1
2281
+ when ONE
2247
2282
  cxtag_1(args[0])
2248
- when 2
2283
+ when TWO
2249
2284
  cxtag_2(args[0],args[1])
2250
2285
  else
2251
2286
  raise ArgumentError
@@ -2327,7 +2362,7 @@ module Meteor
2327
2362
  #
2328
2363
  def replace(elm,replace_document)
2329
2364
  #文字エスケープ
2330
- if replace_document.size > 0 && elm.parent && elm.mono then
2365
+ if replace_document.size > ZERO && elm.parent && elm.mono then
2331
2366
  replace2regex(replace_document)
2332
2367
  end
2333
2368
  #タグ置換パターン
@@ -2339,7 +2374,7 @@ module Meteor
2339
2374
  def reflect()
2340
2375
 
2341
2376
  @e_cache.values.each do |item|
2342
- if item.usable == 0 then
2377
+ if item.usable == ZERO then
2343
2378
  edit_document_1(item)
2344
2379
  edit_pattern_(item)
2345
2380
  item.usable = 1
@@ -2458,9 +2493,9 @@ module Meteor
2458
2493
  #
2459
2494
  def execute(*args)
2460
2495
  case args.length
2461
- when 1
2496
+ when ONE
2462
2497
  execute_2(args[0],args[1])
2463
- when 2
2498
+ when TWO
2464
2499
  execute_3(args[0],args[1],args[2])
2465
2500
  else
2466
2501
  raise ArgumentError
@@ -2616,7 +2651,7 @@ module Meteor
2616
2651
  # @param [String] value 属性値or内容
2617
2652
  #
2618
2653
  def []=(name,value)
2619
- if !name.kind_of?(String)|| name != ':content' then
2654
+ if !name.kind_of?(String)|| name != CONTENT_STR then
2620
2655
  attribute(name,value)
2621
2656
  else
2622
2657
  content(value)
@@ -2629,7 +2664,7 @@ module Meteor
2629
2664
  # @return [String] 属性値or内容
2630
2665
  #
2631
2666
  def [](name)
2632
- if !name.kind_of?(String)|| name != ':content' then
2667
+ if !name.kind_of?(String)|| name != CONTENT_STR then
2633
2668
  attribute(name)
2634
2669
  else
2635
2670
  content()
@@ -2653,9 +2688,9 @@ module Meteor
2653
2688
 
2654
2689
  def self.get(*args)
2655
2690
  case args.length
2656
- when 1
2691
+ when ONE
2657
2692
  get_1(args[0])
2658
- when 2
2693
+ when TWO
2659
2694
  get_2(args[0],args[1])
2660
2695
  else
2661
2696
  raise ArgumentError
@@ -2807,6 +2842,7 @@ module Meteor
2807
2842
 
2808
2843
  KAIGYO_CODE = '(\r?\n|\r)'
2809
2844
  NBSP_2 = '&nbsp;'
2845
+ NBSP_3 = 'nbsp'
2810
2846
  BR_1 = '\r?\n|\r'
2811
2847
  BR_2 = '<br>'
2812
2848
 
@@ -2946,9 +2982,9 @@ module Meteor
2946
2982
  def initialize(*args)
2947
2983
  super(args)
2948
2984
  case args.length
2949
- when 0
2985
+ when ZERO
2950
2986
  initialize_0
2951
- when 1
2987
+ when ONE
2952
2988
  initialize_1(args[0])
2953
2989
  else
2954
2990
  raise ArgumentError
@@ -3534,18 +3570,18 @@ module Meteor
3534
3570
  #end
3535
3571
  element.gsub!(@@pattern_unescape) do
3536
3572
  case $1
3537
- when 'amp' then
3538
- '&'
3539
- when 'quot' then
3540
- '"'
3541
- when 'apos' then
3542
- '\''
3543
- when 'gt' then
3544
- '>'
3545
- when 'lt' then
3546
- '<'
3547
- when 'nbsp' then
3548
- ' '
3573
+ when AND_3 then
3574
+ AND_1
3575
+ when QO_3 then
3576
+ DOUBLE_QUATATION
3577
+ when AP_3 then
3578
+ AP_1
3579
+ when GT_3 then
3580
+ GT_1
3581
+ when LT_3 then
3582
+ LT_1
3583
+ when NBSP_3 then
3584
+ SPACE
3549
3585
  end
3550
3586
  end
3551
3587
 
@@ -3579,6 +3615,7 @@ module Meteor
3579
3615
 
3580
3616
  KAIGYO_CODE = '(\r?\n|\r)'
3581
3617
  NBSP_2 = '&nbsp;'
3618
+ NBSP_3 = 'nbsp'
3582
3619
  BR_1 = '\r?\n|\r'
3583
3620
  BR_2 = '<br/>'
3584
3621
  BR_3 = '<br\\/>'
@@ -3723,9 +3760,9 @@ module Meteor
3723
3760
  def initialize(*args)
3724
3761
  super(args)
3725
3762
  case args.length
3726
- when 0
3763
+ when ZERO
3727
3764
  initialize_0
3728
- when 1
3765
+ when ONE
3729
3766
  initialize_1(args[0])
3730
3767
  else
3731
3768
  raise ArgumentError
@@ -4057,18 +4094,18 @@ module Meteor
4057
4094
  #end
4058
4095
  element.gsub!(@@pattern_unescape) do
4059
4096
  case $1
4060
- when 'amp' then
4061
- '&'
4062
- when 'quot' then
4063
- '"'
4064
- when 'apos' then
4065
- '\''
4066
- when 'gt' then
4067
- '>'
4068
- when 'lt' then
4069
- '<'
4070
- when 'nbsp' then
4071
- ' '
4097
+ when AND_3 then
4098
+ AND_1
4099
+ when QO_3 then
4100
+ DOUBLE_QUATATION
4101
+ when AP_3 then
4102
+ AP_1
4103
+ when GT_3 then
4104
+ GT_1
4105
+ when LT_3 then
4106
+ LT_1
4107
+ when NBSP_3 then
4108
+ SPACE
4072
4109
  end
4073
4110
  end
4074
4111
 
@@ -4098,31 +4135,34 @@ module Meteor
4098
4135
  #
4099
4136
  # XMLパーサ
4100
4137
  #
4101
- class ParserImpl < Meteor::Core::Kernel
4138
+ class ParserImpl < Meteor::Core::Kernel
4139
+
4140
+ if RUBY_VERSION >= RUBY_VERSION_1_9_0 then
4141
+ TABLE_FOR_ESCAPE_ = {
4142
+ '&' => '&amp;',
4143
+ '"' => '&quot;',
4144
+ '\'' => '&apos;',
4145
+ '<' => '&lt;',
4146
+ '>' => '&gt;',
4147
+ }
4148
+ PATTERN_ESCAPE = '[&\"\'<>]'
4149
+ @@pattern_escape = Regexp.new(PATTERN_ESCAPE)
4150
+ else
4151
+ @@pattern_and_1 = Regexp.new(AND_1)
4152
+ @@pattern_lt_1 = Regexp.new(LT_1)
4153
+ @@pattern_gt_1 = Regexp.new(GT_1)
4154
+ @@pattern_dq_1 = Regexp.new(DOUBLE_QUATATION)
4155
+ @@pattern_ap_1 = Regexp.new(AP_1)
4156
+ @@pattern_lt_2 = Regexp.new(LT_2)
4157
+ @@pattern_gt_2 = Regexp.new(GT_2)
4158
+ @@pattern_dq_2 = Regexp.new(QO_2)
4159
+ @@pattern_ap_2 = Regexp.new(AP_2)
4160
+ @@pattern_and_2 = Regexp.new(AND_2)
4161
+ end
4162
+
4163
+
4102
4164
 
4103
- TABLE_FOR_ESCAPE_ = {
4104
- '&' => '&amp;',
4105
- '"' => '&quot;',
4106
- '\'' => '&apos;',
4107
- '<' => '&lt;',
4108
- '>' => '&gt;',
4109
- }
4110
-
4111
- PATTERN_ESCAPE = '[&\"\'<>]'
4112
4165
  PATTERN_UNESCAPE = '&(amp|quot|apos|gt|lt);'
4113
-
4114
- @@pattern_and_1 = Regexp.new(AND_1)
4115
- @@pattern_lt_1 = Regexp.new(LT_1)
4116
- @@pattern_gt_1 = Regexp.new(GT_1)
4117
- @@pattern_dq_1 = Regexp.new(DOUBLE_QUATATION)
4118
- @@pattern_ap_1 = Regexp.new(AP_1)
4119
- @@pattern_lt_2 = Regexp.new(LT_2)
4120
- @@pattern_gt_2 = Regexp.new(GT_2)
4121
- @@pattern_dq_2 = Regexp.new(QO_2)
4122
- @@pattern_ap_2 = Regexp.new(AP_2)
4123
- @@pattern_and_2 = Regexp.new(AND_2)
4124
-
4125
- @@pattern_escape = Regexp.new(PATTERN_ESCAPE)
4126
4166
  @@pattern_unescape = Regexp.new(PATTERN_UNESCAPE)
4127
4167
 
4128
4168
  @@pattern_set_mono1 = Regexp.new(SET_MONO_1)
@@ -4136,9 +4176,9 @@ module Meteor
4136
4176
  super(args)
4137
4177
 
4138
4178
  case args.length
4139
- when 0
4179
+ when ZERO
4140
4180
  initialize_0
4141
- when 1
4181
+ when ONE
4142
4182
  initialize_1(args[0])
4143
4183
  else
4144
4184
  raise ArgumentError
@@ -4275,16 +4315,16 @@ module Meteor
4275
4315
  #else
4276
4316
  element.gsub!(@@pattern_unescape) do
4277
4317
  case $1
4278
- when 'amp' then
4279
- '&'
4280
- when 'quot' then
4281
- '"'
4282
- when 'apos' then
4283
- '\''
4284
- when 'gt' then
4285
- '>'
4286
- when 'lt' then
4287
- '<'
4318
+ when AND_3 then
4319
+ AND_1
4320
+ when QO_3 then
4321
+ DOUBLE_QUATATION
4322
+ when AP_3 then
4323
+ AP_1
4324
+ when GT_3 then
4325
+ GT_1
4326
+ when LT_3 then
4327
+ LT_1
4288
4328
  end
4289
4329
  end
4290
4330
  #end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asip-meteor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1.3
4
+ version: 0.9.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - asip
@@ -9,7 +9,7 @@ autorequire: meteor
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-14 00:00:00 -07:00
12
+ date: 2009-05-06 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -64,7 +64,7 @@ requirements: []
64
64
  rubyforge_project: meteor
65
65
  rubygems_version: 1.2.0
66
66
  signing_key:
67
- specification_version: 2
67
+ specification_version: 3
68
68
  summary: A lightweight (X)HTML & XML parser
69
69
  test_files:
70
70
  - test/meteor_test.rb