meteor 0.9.7.2 → 0.9.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/meteor.rb +33 -7
  2. metadata +3 -2
data/lib/meteor.rb CHANGED
@@ -18,12 +18,12 @@
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.7.2
21
+ # @version 0.9.7.3
22
22
  #
23
23
 
24
24
  module Meteor
25
25
 
26
- VERSION = "0.9.7.2"
26
+ VERSION = "0.9.7.3"
27
27
 
28
28
  RUBY_VERSION_1_9_0 = '1.9.0'
29
29
 
@@ -215,6 +215,7 @@ module Meteor
215
215
  @document = "<#{@name}#{@attributes}>#{@mixed_content}</#{@name}>"
216
216
  else
217
217
  @document = '' << Meteor::Core::Kernel::TAG_OPEN << @name << @attributes << Meteor::Core::Kernel::TAG_CLOSE
218
+ #@document = "<#{@name}#{@attributes}>"
218
219
  end
219
220
  end
220
221
  when Parser::XHTML, Parser::XHTML5, Parser::XML then
@@ -227,6 +228,7 @@ module Meteor
227
228
  @document = "<#{@name}#{@attributes}>#{@mixed_content}</#{@name}>"
228
229
  else
229
230
  @document = '' << Meteor::Core::Kernel::TAG_OPEN << @name << @attributes << Meteor::Core::Kernel::TAG_CLOSE3
231
+ #@document = "<#{@name}#{@attributes}/>"
230
232
  end
231
233
  end
232
234
  end
@@ -1622,7 +1624,7 @@ module Meteor
1622
1624
  @_elm_name = Regexp.quote(elm_name)
1623
1625
 
1624
1626
  #要素検索用パターン
1625
- @pattern_cc = '' << "<#{@_elm_name}(|\\s[^<>]*)\\/>|<#{@_elm_name}((?:|\\s[^<>]*))>(((?!(#{@_elm_name}[^<>]*>)).)*)<\\/#{@_elm_name}>"
1627
+ @pattern_cc = "<#{@_elm_name}(|\\s[^<>]*)\\/>|<#{@_elm_name}((?:|\\s[^<>]*))>(((?!(#{@_elm_name}[^<>]*>)).)*)<\\/#{@_elm_name}>"
1626
1628
 
1627
1629
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
1628
1630
  #内容あり要素検索
@@ -1678,6 +1680,7 @@ module Meteor
1678
1680
  @elm_.document = @res[0]
1679
1681
  #空要素検索用パターン
1680
1682
  @pattern_cc = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_NC_1_3
1683
+ #@pattern_cc = "<#{@_elm_name}(?:|\\s[^<>]*)\\/>"
1681
1684
  @elm_.pattern = @pattern_cc
1682
1685
 
1683
1686
  @elm_.empty = false
@@ -1823,18 +1826,24 @@ module Meteor
1823
1826
  @pattern_cc_1 = "<#{@_elm_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}(?:[^<>\\/]*>|(?:(?!([^<>]*\\/>))[^<>]*>)))"
1824
1827
 
1825
1828
  @pattern_cc_1b = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_1_4
1829
+ #@pattern_cc_1b = "<#{@_elm_name}(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))"
1826
1830
 
1827
1831
  #@pattern_cc_1_1 = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_2_1 << @_attr_name << ATTR_EQ
1828
1832
  #@pattern_cc_1_1 << @_attr_value << TAG_SEARCH_4_7
1829
1833
  @pattern_cc_1_1 = "<#{@_elm_name}(\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}\"(?:[^<>\\/]*>|(?!([^<>]*\\/>))[^<>]*>))("
1830
1834
 
1831
1835
  @pattern_cc_1_2 = '' << TAG_SEARCH_4_2 << @_elm_name << TAG_SEARCH_4_3
1836
+ #@pattern_cc_1_2 = ".*?<#{@_elm_name}(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))"
1837
+
1832
1838
 
1833
1839
  @pattern_cc_2 = '' << TAG_SEARCH_4_4 << @_elm_name << TAG_CLOSE
1840
+ #@pattern_cc_2 = '' << "<\\/#{@_elm_name}>"
1834
1841
 
1835
1842
  @pattern_cc_2_1 = '' << TAG_SEARCH_4_5 << @_elm_name << TAG_CLOSE
1843
+ #@pattern_cc_2_1 = ".*?<\\/#{@_elm_name}>"
1836
1844
 
1837
1845
  @pattern_cc_2_2 = '' << TAG_SEARCH_4_6 << @_elm_name << TAG_CLOSE
1846
+ #@pattern_cc_2_2 = ".*?)<\\/#{@_elm_name}>"
1838
1847
 
1839
1848
  #内容あり要素検索
1840
1849
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc_1)
@@ -1878,6 +1887,7 @@ module Meteor
1878
1887
  @elm_.document = @res[0]
1879
1888
  #空要素検索用パターン
1880
1889
  @pattern_cc = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_NC_2_1 << @_attr_name << ATTR_EQ << @_attr_value << closer
1890
+ #@pattern_cc = "<#{@_elm_name}\\s[^<>]*#{@_attr_name}=\"#{@_attr_value}#{closer}"
1881
1891
  @elm_.pattern = @pattern_cc
1882
1892
 
1883
1893
  @elm_.parser = self
@@ -2264,6 +2274,7 @@ module Meteor
2264
2274
  @pattern_cc_1 = "<#{@_elm_name}(\\s[^<>]*(?:#{@_attr_name1}=\"#{@_attr_value1}\"[^<>]*#{@_attr_name2}=\"#{@_attr_value2}\"|#{@_attr_name2}=\"#{@_attr_value2}\"[^<>]*#{@_attr_name1}=\"#{@_attr_value1}\")([^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>)))"
2265
2275
 
2266
2276
  @pattern_cc_1b = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_1_4
2277
+ #@pattern_cc_1b = "<#{@_elm_name}(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))"
2267
2278
 
2268
2279
  #@pattern_cc_1_1 = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_2_1_2 << @_attr_name1 << ATTR_EQ
2269
2280
  #@pattern_cc_1_1 << @_attr_value1 << TAG_SEARCH_2_6 << @_attr_name2 << ATTR_EQ
@@ -2280,6 +2291,14 @@ module Meteor
2280
2291
 
2281
2292
  @pattern_cc_2_2 = '' << TAG_SEARCH_4_6 << @_elm_name << TAG_CLOSE
2282
2293
 
2294
+ #@pattern_cc_1_2 = ".*?<#{@_elm_name}(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))"
2295
+ #
2296
+ #@pattern_cc_2 = '' << "<\\/#{@_elm_name}>"
2297
+ #
2298
+ #@pattern_cc_2_1 = ".*?<\\/#{@_elm_name}>"
2299
+ #
2300
+ #@pattern_cc_2_2 = ".*?)<\\/#{@_elm_name}>"
2301
+
2283
2302
  #内容あり要素検索
2284
2303
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc_1)
2285
2304
 
@@ -2621,9 +2640,10 @@ module Meteor
2621
2640
 
2622
2641
  #属性の置換
2623
2642
  @pattern = Meteor::Core::Util::PatternCache.get('' << attr_name << SET_ATTR_1)
2643
+ #@pattern = Meteor::Core::Util::PatternCache.get("#{attr_name}=\"[^\"]*\"")
2624
2644
 
2625
- #elm.attributes.sub!(@pattern,'' << attr_name << ATTR_EQ << @_attr_value << DOUBLE_QUATATION)
2626
- elm.attributes.sub!(@pattern, "#{attr_name}=\"#{@_attr_value}\"")
2645
+ elm.attributes.sub!(@pattern,'' << attr_name << ATTR_EQ << @_attr_value << DOUBLE_QUATATION)
2646
+ #elm.attributes.sub!(@pattern, "#{attr_name}=\"#{@_attr_value}\"")
2627
2647
  else
2628
2648
  #属性文字列の最後に新規の属性を追加する
2629
2649
  @_attr_value = attr_value
@@ -2634,8 +2654,8 @@ module Meteor
2634
2654
  elm.attributes = ''
2635
2655
  end
2636
2656
 
2637
- #elm.attributes << SPACE << attr_name << ATTR_EQ << @_attr_value << DOUBLE_QUATATION
2638
- elm.attributes << " #{attr_name}=\"#{@_attr_value}\""
2657
+ elm.attributes << SPACE << attr_name << ATTR_EQ << @_attr_value << DOUBLE_QUATATION
2658
+ #elm.attributes << " #{attr_name}=\"#{@_attr_value}\""
2639
2659
  end
2640
2660
  end
2641
2661
 
@@ -2657,6 +2677,7 @@ module Meteor
2657
2677
 
2658
2678
  #属性検索用パターン
2659
2679
  @pattern = Meteor::Core::Util::PatternCache.get('' << attr_name << GET_ATTR_1)
2680
+ #@pattern = Meteor::Core::Util::PatternCache.get("#{attr_name}=\"([^\"]*)\"")
2660
2681
 
2661
2682
  @res = @pattern.match(elm.attributes)
2662
2683
 
@@ -2844,6 +2865,7 @@ module Meteor
2844
2865
  def remove_attrs_(elm, attr_name)
2845
2866
  #属性検索用パターン
2846
2867
  @pattern = Meteor::Core::Util::PatternCache.get('' << attr_name << ERASE_ATTR_1)
2868
+ #@pattern = Meteor::Core::Util::PatternCache.get("#{attr_name}=\"[^\"]*\"\\s?")
2847
2869
  #属性の置換
2848
2870
  elm.attributes.sub!(@pattern, EMPTY)
2849
2871
  end
@@ -2945,6 +2967,7 @@ module Meteor
2945
2967
  @_id = Regexp.quote(id)
2946
2968
 
2947
2969
  @pattern_cc = '' << SEARCH_CX_6 << @_id << DOUBLE_QUATATION
2970
+ #@pattern_cc = "<!--\\s@([^<>]*)\\s[^<>]*id=\"#{@_id}\""
2948
2971
 
2949
2972
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2950
2973
 
@@ -3020,6 +3043,7 @@ module Meteor
3020
3043
  else
3021
3044
  #空要素の場合
3022
3045
  elm.document = '' << TAG_OPEN << elm.name << @_attributes << closer
3046
+ #elm.document = "<#{elm.name}#{@_attributes}#{closer}"
3023
3047
  end
3024
3048
  else
3025
3049
  @_content = elm.mixed_content
@@ -3732,6 +3756,7 @@ module Meteor
3732
3756
  if is_match(@@match_tag, elm_name) then
3733
3757
  #空要素検索用パターン
3734
3758
  @pattern_cc = '' << TAG_OPEN << @_elm_name << TAG_SEARCH_1_4_2
3759
+ #@pattern_cc = "<#{@_elm_name}(|\\s[^<>]*)>"
3735
3760
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
3736
3761
  @res = @pattern.match(@root.document)
3737
3762
  if @res then
@@ -4098,6 +4123,7 @@ module Meteor
4098
4123
  if !is_match(@@attr_logic, attr_name) then
4099
4124
  #属性検索用パターン
4100
4125
  @pattern = Meteor::Core::Util::PatternCache.get('' << attr_name << ERASE_ATTR_1)
4126
+ #@pattern = Meteor::Core::Util::PatternCache.get("#{attr_name}=\"[^\"]*\"\\s?")
4101
4127
  elm.attributes.sub!(@pattern, EMPTY)
4102
4128
  else
4103
4129
  #属性検索用パターン
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.7.2
4
+ version: 0.9.7.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-30 00:00:00.000000000Z
12
+ date: 2011-11-13 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A lightweight (X)HTML(5) & XML parser
15
15
  email: ys.ashida@gmail.com
@@ -63,3 +63,4 @@ specification_version: 3
63
63
  summary: A lightweight (X)HTML(5) & XML parser
64
64
  test_files:
65
65
  - test/meteor_test.rb
66
+ has_rdoc: false