asip-meteor 0.9.1.6 → 0.9.1.7

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 +126 -110
  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.1.6
21
+ # @version 0.9.1.7
22
22
  #
23
23
 
24
24
 
@@ -31,7 +31,7 @@ end
31
31
 
32
32
  module Meteor
33
33
 
34
- VERSION = "0.9.1.6"
34
+ VERSION = "0.9.1.7"
35
35
 
36
36
  ZERO = 0
37
37
  ONE = 1
@@ -84,8 +84,8 @@ module Meteor
84
84
  #@mono = false
85
85
  #@parent = false
86
86
  @arguments = AttributeMap.new
87
- @origin = self.object_id
88
- @usable = ZERO
87
+ #@origin = self.object_id
88
+ @usable = ZERO
89
89
  end
90
90
  private :initialize_s
91
91
 
@@ -105,22 +105,27 @@ module Meteor
105
105
  @parent = elm.parent
106
106
  @parser = elm.parser
107
107
  @arguments = AttributeMap.new(elm.arguments)
108
- @origin = elm.object_id
108
+ #@origin = elm.object_id
109
109
  @usable = ZERO
110
+ elm.parser.e_cache.store(elm.object_id,self)
110
111
  end
111
112
  private :initialize_e
112
113
 
113
114
  def self.new!(elm)
114
- @obj = elm.parser.e_cache[elm.origin]
115
+ #@obj = elm.parser.e_cache[elm.origin]
116
+ @obj = elm.parser.e_cache[elm.object_id]
115
117
  if @obj then
116
118
  @obj.attributes = String.new(elm.attributes)
119
+ @obj.mixed_content = String.new(elm.mixed_content)
117
120
  @obj.pattern = String.new(elm.pattern)
118
121
  @obj.document = String.new(elm.document)
119
122
  @obj.arguments = AttributeMap.new(elm.arguments)
120
123
  @obj.usable = ZERO
121
124
  @obj
122
125
  else
123
- self.new(elm)
126
+ @obj = self.new(elm)
127
+ #elm.parser.e_cache.store(elm.origin,@obj)
128
+ @obj
124
129
  end
125
130
 
126
131
  end
@@ -138,7 +143,7 @@ module Meteor
138
143
  attr_accessor :type_value
139
144
  attr_accessor :arguments
140
145
  attr_accessor :usable
141
- attr_accessor :origin
146
+ #attr_accessor :origin
142
147
 
143
148
  #
144
149
  # 属性を編集する or 属性の値を取得する
@@ -174,7 +179,7 @@ module Meteor
174
179
  #
175
180
  # 内容をセットする
176
181
  #
177
- # @param [String] value 内容の値
182
+ # @param [String] value 内容
178
183
  #
179
184
  def content=(value)
180
185
  @parser.content(self,value)
@@ -1058,6 +1063,8 @@ module Meteor
1058
1063
  else
1059
1064
  raise ArgumentError
1060
1065
  end
1066
+ @e_cache.store(@elm_.object_id,@elm_)
1067
+ @elm_
1061
1068
  end
1062
1069
 
1063
1070
  #
@@ -1267,6 +1274,7 @@ module Meteor
1267
1274
 
1268
1275
  @elm_.parser = self
1269
1276
  end
1277
+ @elm_
1270
1278
  end
1271
1279
  private :element_with_3_1
1272
1280
 
@@ -1335,6 +1343,8 @@ module Meteor
1335
1343
  @elm_.pattern = @pattern_cc
1336
1344
 
1337
1345
  @elm_.parser = self
1346
+
1347
+ @elm_
1338
1348
  end
1339
1349
  private :element_without_3_1
1340
1350
 
@@ -1491,6 +1501,7 @@ module Meteor
1491
1501
 
1492
1502
  @elm_.parser = self
1493
1503
  end
1504
+ @elm_
1494
1505
  end
1495
1506
  private :element_with_5_1
1496
1507
 
@@ -1570,6 +1581,8 @@ module Meteor
1570
1581
  @elm_.pattern = @pattern_cc
1571
1582
 
1572
1583
  @elm_.parser = self
1584
+
1585
+ @elm_
1573
1586
  end
1574
1587
  private :element_without_5_1
1575
1588
 
@@ -1849,7 +1862,7 @@ module Meteor
1849
1862
  elm.arguments.store(attr_name, attr_value)
1850
1863
  end
1851
1864
 
1852
- @e_cache.store(elm.origin, elm)
1865
+ #@e_cache.store(elm.origin, elm)
1853
1866
  end
1854
1867
  end
1855
1868
  elm
@@ -2089,9 +2102,9 @@ module Meteor
2089
2102
  end
2090
2103
  end
2091
2104
 
2092
- if !elm.parent then
2093
- @e_cache.store(elm.origin,elm)
2094
- end
2105
+ #if !elm.parent then
2106
+ # @e_cache.store(elm.origin,elm)
2107
+ #end
2095
2108
  end
2096
2109
  elm
2097
2110
  end
@@ -2141,9 +2154,9 @@ module Meteor
2141
2154
 
2142
2155
  elm.mixed_content = content
2143
2156
 
2144
- if !elm.parent then
2145
- @e_cache.store(elm.origin,elm)
2146
- end
2157
+ #if !elm.parent then
2158
+ # @e_cache.store(elm.origin,elm)
2159
+ #end
2147
2160
 
2148
2161
  elm
2149
2162
  end
@@ -2230,7 +2243,7 @@ module Meteor
2230
2243
  elm.arguments.delete(attr_name)
2231
2244
  end
2232
2245
 
2233
- @e_cache.store(elm.origin,elm)
2246
+ #@e_cache.store(elm.origin,elm)
2234
2247
  end
2235
2248
  end
2236
2249
 
@@ -2267,7 +2280,8 @@ module Meteor
2267
2280
  #
2268
2281
  def remove_element(elm)
2269
2282
  replace(elm,EMPTY)
2270
- @e_cache.delete(elm.origin)
2283
+ #@e_cache.delete(elm.origin)
2284
+ elm.usable = ONE
2271
2285
  end
2272
2286
 
2273
2287
  #
@@ -2683,20 +2697,21 @@ module Meteor
2683
2697
  #
2684
2698
  # イニシャライザ
2685
2699
  #
2700
+
2686
2701
  def initialize
2687
2702
  end
2688
-
2703
+
2689
2704
  def self.get(*args)
2690
2705
  case args.length
2691
- when ONE
2692
- get_1(args[0])
2693
- when TWO
2694
- get_2(args[0],args[1])
2695
- else
2696
- raise ArgumentError
2706
+ when ONE
2707
+ get_1(args[0])
2708
+ when TWO
2709
+ get_2(args[0], args[1])
2710
+ else
2711
+ raise ArgumentError
2697
2712
  end
2698
2713
  end
2699
-
2714
+
2700
2715
  #
2701
2716
  # パターンを取得する
2702
2717
  # @param [String] regex 正規表現
@@ -2710,26 +2725,26 @@ module Meteor
2710
2725
  if !@@regex_cache[regex.to_sym] then
2711
2726
  #pattern = Regexp.new(regex)
2712
2727
  #@@regex_cache[regex] = pattern
2713
- @@regex_cache[regex.to_sym] = Regexp.new(regex,Regexp::MULTILINE)
2728
+ @@regex_cache[regex.to_sym] = Regexp.new(regex, Regexp::MULTILINE)
2714
2729
  end
2715
-
2730
+
2716
2731
  #return pattern
2717
2732
  @@regex_cache[regex.to_sym]
2718
2733
  elsif regex.kind_of?(Symbol) then
2719
2734
  if !@@regex_cache[regex] then
2720
- @@regex_cache[regex] = Regexp.new(regex.to_s,Regexp::MULTILINE)
2735
+ @@regex_cache[regex] = Regexp.new(regex.to_s, Regexp::MULTILINE)
2721
2736
  end
2722
-
2737
+
2723
2738
  @@regex_cache[regex]
2724
- end
2739
+ end
2725
2740
  end
2726
-
2741
+
2727
2742
  #
2728
2743
  # パターンを取得する
2729
2744
  # @param [String] regex 正規表現
2730
2745
  # @return [Regexp] パターン
2731
2746
  #
2732
- def self.get_2(regex,option)
2747
+ def self.get_2(regex, option)
2733
2748
  #pattern = @@regex_cache[regex]
2734
2749
  #
2735
2750
  #if pattern == nil then
@@ -2737,99 +2752,100 @@ module Meteor
2737
2752
  if !@@regex_cache[regex.to_sym] then
2738
2753
  #pattern = Regexp.new(regex)
2739
2754
  #@@regex_cache[regex] = pattern
2740
- @@regex_cache[regex.to_sym] = Regexp.new(regex,option)
2755
+ @@regex_cache[regex.to_sym] = Regexp.new(regex, option)
2741
2756
  end
2742
-
2757
+
2743
2758
  #return pattern
2744
2759
  @@regex_cache[regex.to_sym]
2745
2760
  elsif regex.kind_of?(Symbol) then
2746
2761
  if !@@regex_cache[regex] then
2747
- @@regex_cache[regex] = Regexp.new(regex.to_s,option)
2762
+ @@regex_cache[regex] = Regexp.new(regex.to_s, option)
2748
2763
  end
2749
-
2764
+
2750
2765
  @@regex_cache[regex]
2751
- end
2766
+ end
2752
2767
  end
2753
2768
  end
2754
-
2755
- class OrderHash <Hash
2756
-
2757
- def initialize
2758
- @keys = Array.new
2759
- @values = Array.new
2760
- end
2761
-
2762
- attr_accessor :keys
2763
- attr_accessor :values
2764
-
2765
- def store(key, value)
2766
- super(key, value)
2767
- unless @keys.include?(key)
2768
- @keys << key
2769
- @values << value
2769
+
2770
+ if RUBY_VERSION < RUBY_VERSION_1_9_0 then
2771
+ class OrderHash <Hash
2772
+
2773
+ def initialize
2774
+ @keys = Array.new
2775
+ @values = Array.new
2770
2776
  end
2771
- end
2772
-
2773
- def clear
2774
- @keys.clear
2775
- @values.clear
2776
- super
2777
- end
2778
-
2779
- def delete(key)
2780
- if @keys.include?(key)
2781
- @keys.delete(key)
2782
- @values.delete(fetch(key))
2783
- super(key)
2784
- elsif
2785
- yield(key)
2777
+
2778
+ attr_accessor :keys
2779
+ attr_accessor :values
2780
+
2781
+ def store(key, value)
2782
+ super(key, value)
2783
+ unless @keys.include?(key)
2784
+ @keys << key
2785
+ @values << value
2786
+ end
2786
2787
  end
2787
- end
2788
-
2789
- #superとして、Hash#[]=を呼び出す
2790
- def []=(key, value)
2791
- store(key, value)
2792
- end
2793
-
2794
- def each
2795
- @keys.each do |k|
2796
- arr_tmp = Array.new
2797
- arr_tmp << k
2798
- arr_tmp << self[k]
2799
- yield(arr_tmp)
2788
+
2789
+ def clear
2790
+ @keys.clear
2791
+ @values.clear
2792
+ super
2800
2793
  end
2801
- return self
2802
- end
2803
-
2804
- def each_pair
2805
- @keys.each do |k|
2806
- yield(k, self[k])
2794
+
2795
+ def delete(key)
2796
+ if @keys.include?(key)
2797
+ @keys.delete(key)
2798
+ @values.delete(fetch(key))
2799
+ super(key)
2800
+ elsif yield(key)
2801
+ end
2807
2802
  end
2808
- return self
2809
- end
2810
-
2811
- def map
2812
- arr_tmp = Array.new
2813
- @keys.each do |k|
2814
- arg_arr = Array.new
2815
- arg_arr << k
2816
- arg_arr << self[k]
2817
- arr_tmp << yield(arg_arr)
2803
+
2804
+ #superとして、Hash#[]=を呼び出す
2805
+
2806
+ def []=(key, value)
2807
+ store(key, value)
2818
2808
  end
2819
- return arr_tmp
2820
- end
2821
-
2822
- def sort_hash(&block)
2823
- if block_given?
2824
- arr_tmp = self.sort(&block)
2825
- elsif
2826
- arr_tmp = self.sort
2809
+
2810
+ def each
2811
+ @keys.each do |k|
2812
+ arr_tmp = Array.new
2813
+ arr_tmp << k
2814
+ arr_tmp << self[k]
2815
+ yield(arr_tmp)
2816
+ end
2817
+ return self
2827
2818
  end
2828
- hash_tmp = OrderHash.new
2829
- arr_tmp.each do |item|
2830
- hash_tmp[item[0]] = item[1]
2819
+
2820
+ def each_pair
2821
+ @keys.each do |k|
2822
+ yield(k, self[k])
2823
+ end
2824
+ return self
2825
+ end
2826
+
2827
+ def map
2828
+ arr_tmp = Array.new
2829
+ @keys.each do |k|
2830
+ arg_arr = Array.new
2831
+ arg_arr << k
2832
+ arg_arr << self[k]
2833
+ arr_tmp << yield(arg_arr)
2834
+ end
2835
+ return arr_tmp
2836
+ end
2837
+
2838
+ def sort_hash(&block)
2839
+ if block_given?
2840
+ arr_tmp = self.sort(&block)
2841
+ elsif arr_tmp = self.sort
2842
+ end
2843
+ hash_tmp = OrderHash.new
2844
+ arr_tmp.each do |item|
2845
+ hash_tmp[item[0]] = item[1]
2846
+ end
2847
+ return hash_tmp
2831
2848
  end
2832
- return hash_tmp
2833
2849
  end
2834
2850
  end
2835
2851
  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.6
4
+ version: 0.9.1.7
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-05-06 00:00:00 -07:00
12
+ date: 2009-05-13 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15