asip-meteor 0.9.2.3 → 0.9.2.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 +54 -45
  2. metadata +2 -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.2.3
21
+ # @version 0.9.2.4
22
22
  #
23
23
 
24
24
  module Meteor
25
25
 
26
- VERSION = "0.9.2.3"
26
+ VERSION = "0.9.2.4"
27
27
 
28
28
  RUBY_VERSION_1_9_0 = '1.9.0'
29
29
 
@@ -105,6 +105,7 @@ module Meteor
105
105
  # @param [Meteor::Element] elm 要素
106
106
  #
107
107
  def initialize_e(elm)
108
+ #if !elm.origin then
108
109
  @name = elm.name
109
110
  @attributes = String.new(elm.attributes)
110
111
  @pattern = String.new(elm.pattern)
@@ -112,27 +113,38 @@ module Meteor
112
113
  @empty = elm.empty
113
114
  @cx = elm.cx
114
115
  @mono = elm.mono
115
- @parser = elm.parser
116
116
  @arguments = AttributeMap.new(elm.arguments)
117
117
  @origin = elm
118
- @usable = true
118
+ #else
119
+ # @name = elm.origin.name
120
+ # @attributes = String.new(elm.origin.attributes)
121
+ # @pattern = String.new(elm.origin.pattern)
122
+ # @document = String.new(elm.origin.document)
123
+ # @empty = elm.origin.empty
124
+ # @cx = elm.origin.cx
125
+ # @mono = elm.origin.mono
126
+ # @arguments = AttributeMap.new(elm.origin.arguments)
127
+ # @origin = elm
128
+ #end
129
+ @parser = elm.parser
130
+ @usable = true
119
131
  end
120
132
  private :initialize_e
121
133
 
122
- attr_accessor :name
123
- attr_accessor :attributes
124
- attr_accessor :mixed_content
125
- attr_accessor :pattern
126
- attr_accessor :document
127
- attr_accessor :empty
128
- attr_accessor :cx
129
- attr_accessor :mono
130
- attr_accessor :parser
131
- attr_accessor :type_value
132
- attr_accessor :arguments
133
- attr_accessor :usable
134
- attr_accessor :origin
135
- attr_accessor :copy
134
+ attr_accessor :name #要素名
135
+ attr_accessor :attributes #属性群
136
+ attr_accessor :mixed_content #内容
137
+ attr_accessor :pattern #パターン
138
+ attr_accessor :document #ドキュメント
139
+ attr_accessor :empty #内容存在フラグ
140
+ attr_accessor :cx #コメント拡張タグフラグ
141
+ attr_accessor :mono #子要素存在フラグ
142
+ attr_accessor :parser #パーサ
143
+ attr_accessor :type_value #タイプ属性
144
+ attr_accessor :arguments #パターン変更用属性マップ
145
+ attr_accessor :usable #有効・無効フラグ
146
+ attr_accessor :origin #原本ポインタ
147
+ attr_accessor :copy #複製ポインタ
136
148
 
137
149
  #
138
150
  # コピーを作成する
@@ -141,7 +153,8 @@ module Meteor
141
153
  def self.new!(*args)
142
154
  case args.length
143
155
  when ONE
144
- self.new_1!(args[0])
156
+ #self.new_1!(args[0])
157
+ args[0].clone
145
158
  when TWO
146
159
  @obj = args[1].root_element.element
147
160
  if @obj then
@@ -157,26 +170,25 @@ module Meteor
157
170
  @obj
158
171
  end
159
172
  end
160
- end
173
+ end
161
174
 
162
175
  #
163
- # コピーを作成する
164
- # @param [Element] elm 要素
176
+ # 複製する
165
177
  #
166
- def self.new_1!(elm)
167
- @obj = elm.parser.e_cache[elm.object_id]
168
- if @obj then
169
- @obj.attributes = String.new(elm.attributes)
170
- @obj.mixed_content = String.new(elm.mixed_content)
171
- @obj.pattern = String.new(elm.pattern)
172
- @obj.document = String.new(elm.document)
173
- @obj.arguments = AttributeMap.new(elm.arguments)
174
- @obj.usable = true
175
- @obj
178
+ def clone
179
+ obj = self.parser.e_cache[self.object_id]
180
+ if obj then
181
+ obj.attributes = String.new(self.attributes)
182
+ obj.mixed_content = String.new(self.mixed_content)
183
+ obj.pattern = String.new(self.pattern)
184
+ obj.document = String.new(self.document)
185
+ obj.arguments = AttributeMap.new(self.arguments)
186
+ obj.usable = true
187
+ obj
176
188
  else
177
- @obj = self.new(elm)
178
- elm.parser.e_cache[elm.object_id] = @obj
179
- @obj
189
+ obj = self.new(self)
190
+ self.parser.e_cache[self.object_id] = obj
191
+ obj
180
192
  end
181
193
  end
182
194
 
@@ -283,8 +295,8 @@ module Meteor
283
295
  @parser.remove_element(self)
284
296
  end
285
297
 
286
- def print
287
- @parser.print
298
+ def flush
299
+ @parser.flush
288
300
  end
289
301
 
290
302
  #
@@ -639,8 +651,7 @@ module Meteor
639
651
  #内容あり要素の場合
640
652
  if elm.empty then
641
653
  elm2 = elm.child(elm)
642
- execute(elm2)
643
- #elm2.flush
654
+ execute(elm2)
644
655
  end
645
656
  end
646
657
 
@@ -669,9 +680,8 @@ module Meteor
669
680
  elm2.parser.root_element.document = elm.mixed_content
670
681
  end
671
682
  execute(elm2, item)
672
- elm2.print
673
- end
674
- #elm2.flush
683
+ elm2.flush
684
+ end
675
685
  end
676
686
  end
677
687
 
@@ -797,7 +807,6 @@ module Meteor
797
807
  #getAttributeValue
798
808
  GET_ATTR_1 = '="([^"]*)"'
799
809
  #attributeMap
800
- #todo
801
810
  GET_ATTRS_MAP = '([^\\s]*)="([^\"]*)"'
802
811
  #removeAttribute
803
812
  ERASE_ATTR_1 = '="[^\"]*"\\s'
@@ -2414,7 +2423,7 @@ module Meteor
2414
2423
  #
2415
2424
  # 出力する
2416
2425
  #
2417
- def print
2426
+ def flush
2418
2427
  reflect
2419
2428
 
2420
2429
  #puts @root.document
@@ -3385,7 +3394,7 @@ module Meteor
3385
3394
  elsif is_match(DISABLED, attr_name) && is_match(DISABLE_ELEMENT, elm.name) then
3386
3395
  get_attribute_value_2_r(elm,@@pattern_disabled_m)
3387
3396
  #get_attribute_value_2_r(elm,DISABLED_M)
3388
- elsif is_match(CHECKED, attr_name) && is_match_S(INPUT,elm.name) && is_match_S(RADIO, get_type(elm)) then
3397
+ elsif is_match(CHECKED, attr_name) && is_match(INPUT,elm.name) && is_match(RADIO, get_type(elm)) then
3389
3398
  get_attribute_value_2_r(elm,@@pattern_checked_m)
3390
3399
  #get_attribute_value_2_r(elm,CHECKED_M)
3391
3400
  elsif is_match(READONLY, attr_name) && (is_match(TEXTAREA,elm.name) || (is_match(INPUT,elm.name) && is_match(READONLY_TYPE, get_type(elm)))) then
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.2.3
4
+ version: 0.9.2.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: 2009-06-08 00:00:00 -07:00
12
+ date: 2009-06-20 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15