meteor 0.9.7.2 → 0.9.7.3

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 +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