asip-meteor 0.9.0.3 → 0.9.0.4

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 +67 -64
  2. metadata +2 -2
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.0.3
21
+ # @version 0.9.0.4
22
22
  #
23
23
  if RUBY_VERSION < '1.9.0' then
24
24
  require 'kconv'
@@ -27,7 +27,7 @@ end
27
27
 
28
28
  module Meteor
29
29
 
30
- VERSION = "0.9.0.3"
30
+ VERSION = "0.9.0.4"
31
31
 
32
32
  #
33
33
  # 要素クラス
@@ -1936,11 +1936,13 @@ module Meteor
1936
1936
  #属性群の更新
1937
1937
  editAttributes_(elm,attrName,attrValue)
1938
1938
 
1939
- if elm.arguments.map.include?(attrName) then
1940
- elm.arguments.store(attrName, attrValue)
1939
+ if !elm.parent then
1940
+ if elm.arguments.map.include?(attrName) then
1941
+ elm.arguments.store(attrName, attrValue)
1942
+ end
1943
+
1944
+ @e_cache.store(elm.object_id, elm)
1941
1945
  end
1942
-
1943
- @e_cache.store(elm.object_id, elm)
1944
1946
  end
1945
1947
  end
1946
1948
  private :setAttribute_3
@@ -1990,73 +1992,68 @@ module Meteor
1990
1992
  private :editDocument_1
1991
1993
 
1992
1994
  def editDocument_2(elm,closer)
1993
- if !elm.parent then
1994
-
1995
- if !elm.cx then
1996
- @_attributes = elm.attributes
1997
- replace2Regex(@_attributes)
1998
-
1999
- if elm.empty then
2000
- #内容あり要素の場合
2001
- @_content = elm.mixed_content
2002
- #replace2Regex(@_content)
2003
- if elm.parser.rootElement.hook || elm.parser.rootElement.monoHook then
2004
- replace4Regex(@_content)
2005
- else
2006
- replace2Regex(@_content)
2007
- end
2008
-
2009
- #タグ検索用パターン
2010
- @pattern = Meteor::Core::Util::PatternCache.get(elm.pattern)
2011
- @root.document.sub!(@pattern,'' << TAG_OPEN << elm.name << @_attributes << TAG_CLOSE << @_content << TAG_OPEN3 << elm.name << TAG_CLOSE)
2012
- #@root.document.sub!(@pattern,"<#{elm.name}#{@_attributes}>#{@_content}</#{elm.name}>")
2013
- else
2014
- #空要素の場合
2015
- #タグ置換用パターン
2016
- @pattern = Meteor::Core::Util::PatternCache.get(elm.pattern)
2017
- @root.document.sub!(@pattern,'' << TAG_OPEN << elm.name << @_attributes << closer)
2018
- end
2019
- else
1995
+ if !elm.cx then
1996
+ @_attributes = elm.attributes
1997
+ replace2Regex(@_attributes)
1998
+
1999
+ if elm.empty then
2000
+ #内容あり要素の場合
2020
2001
  @_content = elm.mixed_content
2002
+ #replace2Regex(@_content)
2021
2003
  if elm.parser.rootElement.hook || elm.parser.rootElement.monoHook then
2022
2004
  replace4Regex(@_content)
2023
2005
  else
2024
2006
  replace2Regex(@_content)
2025
2007
  end
2026
2008
 
2009
+ #タグ検索用パターン
2027
2010
  @pattern = Meteor::Core::Util::PatternCache.get(elm.pattern)
2028
-
2029
- #タグ置換
2030
- @pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2
2031
- @pattern_cc << @_content << SET_CX_3 << elm.name << SET_CX_4
2032
- #@pattern_cc = "<!-- @#{elm.name} #{elm.attributes}-->#{@_content}<!-- /@#{elm.name} -->"
2033
- @root.document.sub!(@pattern,@pattern_cc)
2011
+ @root.document.sub!(@pattern,'' << TAG_OPEN << elm.name << @_attributes << TAG_CLOSE << @_content << TAG_OPEN3 << elm.name << TAG_CLOSE)
2012
+ #@root.document.sub!(@pattern,"<#{elm.name}#{@_attributes}>#{@_content}</#{elm.name}>")
2013
+ else
2014
+ #空要素の場合
2015
+ #タグ置換用パターン
2016
+ @pattern = Meteor::Core::Util::PatternCache.get(elm.pattern)
2017
+ @root.document.sub!(@pattern,'' << TAG_OPEN << elm.name << @_attributes << closer)
2034
2018
  end
2019
+ else
2020
+ @_content = elm.mixed_content
2021
+ if elm.parser.rootElement.hook || elm.parser.rootElement.monoHook then
2022
+ replace4Regex(@_content)
2023
+ else
2024
+ replace2Regex(@_content)
2025
+ end
2026
+
2027
+ @pattern = Meteor::Core::Util::PatternCache.get(elm.pattern)
2028
+
2029
+ #タグ置換
2030
+ @pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2
2031
+ @pattern_cc << @_content << SET_CX_3 << elm.name << SET_CX_4
2032
+ #@pattern_cc = "<!-- @#{elm.name} #{elm.attributes}-->#{@_content}<!-- /@#{elm.name} -->"
2033
+ @root.document.sub!(@pattern,@pattern_cc)
2035
2034
  end
2036
2035
  end
2037
2036
  private :editDocument_2
2038
2037
 
2039
2038
  def editPattern_(elm)
2040
- if !elm.parent then
2041
2039
 
2042
- elm.arguments.map.each{ |name,attr|
2043
-
2044
- if attr.changed then
2045
- @_attrValue = attr.value
2046
- #replace2Regex(@_attrValue)
2047
- @pattern_cc = '' << name << SET_ATTR_1
2048
- #@pattern_cc = "#{attrName}=\"[^\"]*\""
2049
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2050
- elm.pattern.gsub!(@pattern,'' << name << ATTR_EQ << @_attrValue << DOUBLE_QUATATION)
2051
- #elm.pattern.sub!(@pattern,"#{attrName}=\"#{@_attrValue}\"")
2052
- elsif attr.removed then
2053
- @pattern_cc = '' << name << SET_ATTR_1
2054
- #@pattern_cc = "#{attrName}=\"[^\"]*\""
2055
- @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2056
- elm.pattern.gsub!(@pattern,EMPTY)
2057
- end
2058
- }
2059
- end
2040
+ elm.arguments.map.each{ |name,attr|
2041
+
2042
+ if attr.changed then
2043
+ @_attrValue = escapeRegex(attr.value)
2044
+ #replace2Regex(@_attrValue)
2045
+ @pattern_cc = '' << name << SET_ATTR_1
2046
+ #@pattern_cc = "#{attrName}=\"[^\"]*\""
2047
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2048
+ elm.pattern.gsub!(@pattern,'' << name << ATTR_EQ << @_attrValue << DOUBLE_QUATATION)
2049
+ #elm.pattern.sub!(@pattern,"#{attrName}=\"#{@_attrValue}\"")
2050
+ elsif attr.removed then
2051
+ @pattern_cc = '' << name << SET_ATTR_1
2052
+ #@pattern_cc = "#{attrName}=\"[^\"]*\""
2053
+ @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2054
+ elm.pattern.gsub!(@pattern,EMPTY)
2055
+ end
2056
+ }
2060
2057
  end
2061
2058
  private :editPattern_
2062
2059
 
@@ -2180,7 +2177,9 @@ module Meteor
2180
2177
  end
2181
2178
  }
2182
2179
 
2183
- @e_cache.store(elm.object_id,elm)
2180
+ if !elm.parent then
2181
+ @e_cache.store(elm.object_id,elm)
2182
+ end
2184
2183
  end
2185
2184
  end
2186
2185
  private :setAttribute_2_m
@@ -2229,7 +2228,9 @@ module Meteor
2229
2228
 
2230
2229
  elm.mixed_content = content
2231
2230
 
2232
- @e_cache.store(elm.object_id,elm)
2231
+ if !elm.parent then
2232
+ @e_cache.store(elm.object_id,elm)
2233
+ end
2233
2234
 
2234
2235
  end
2235
2236
  private :setContent_3
@@ -2308,11 +2309,13 @@ module Meteor
2308
2309
 
2309
2310
  removeAttributes_(elm,attrName)
2310
2311
 
2311
- if elm.arguments.map.include?(attrName) then
2312
- elm.arguments.delete(attrName)
2312
+ if !elm.parent then
2313
+ if elm.arguments.map.include?(attrName) then
2314
+ elm.arguments.delete(attrName)
2315
+ end
2316
+
2317
+ @e_cache.store(elm.object_id,elm)
2313
2318
  end
2314
-
2315
- @e_cache.store(elm.object_id,elm)
2316
2319
  end
2317
2320
  end
2318
2321
  private :removeAttribute_2
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.0.3
4
+ version: 0.9.0.4
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: 2008-10-05 00:00:00 -07:00
12
+ date: 2008-10-06 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15