asip-meteor 0.9.2.6 → 0.9.2.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/meteor.rb +43 -142
- 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.
|
21
|
+
# @version 0.9.2.7
|
22
22
|
#
|
23
23
|
|
24
24
|
module Meteor
|
25
25
|
|
26
|
-
VERSION = "0.9.2.
|
26
|
+
VERSION = "0.9.2.7"
|
27
27
|
|
28
28
|
RUBY_VERSION_1_9_0 = '1.9.0'
|
29
29
|
|
@@ -2066,21 +2066,7 @@ module Meteor
|
|
2066
2066
|
# end
|
2067
2067
|
# end
|
2068
2068
|
#end
|
2069
|
-
#private :edit_pattern_
|
2070
|
-
|
2071
|
-
##
|
2072
|
-
## 要素の属性を編集する
|
2073
|
-
##
|
2074
|
-
## @param [String] attr_name 属性名
|
2075
|
-
## @param [String] attr_value 属性値
|
2076
|
-
##
|
2077
|
-
#def set_attribute_2(attr_name,attr_value)
|
2078
|
-
# if @root.element.origin then
|
2079
|
-
# set_attribute_3(@root.element, attr_name, attr_value)
|
2080
|
-
# end
|
2081
|
-
# @root.element
|
2082
|
-
#end
|
2083
|
-
#private :set_attribute_2
|
2069
|
+
#private :edit_pattern_
|
2084
2070
|
|
2085
2071
|
#
|
2086
2072
|
# 要素の属性値を取得する
|
@@ -2107,22 +2093,7 @@ module Meteor
|
|
2107
2093
|
nil
|
2108
2094
|
end
|
2109
2095
|
end
|
2110
|
-
private :get_attribute_value_
|
2111
|
-
|
2112
|
-
##
|
2113
|
-
## 要素の属性値を取得する
|
2114
|
-
##
|
2115
|
-
## @param [String] attr_name 属性名
|
2116
|
-
## @return [String] 属性値
|
2117
|
-
##
|
2118
|
-
#def get_attribute_value_1(attr_name)
|
2119
|
-
# if @root.element then
|
2120
|
-
# get_attribute_value_2(@root.element, attr_name)
|
2121
|
-
# else
|
2122
|
-
# nil
|
2123
|
-
# end
|
2124
|
-
#end
|
2125
|
-
#private :get_attribute_value_1
|
2096
|
+
private :get_attribute_value_
|
2126
2097
|
|
2127
2098
|
#
|
2128
2099
|
# 属性マップを取得する
|
@@ -2131,9 +2102,7 @@ module Meteor
|
|
2131
2102
|
# @return [Meteor::AttributeMap] 属性マップ
|
2132
2103
|
#
|
2133
2104
|
def attribute_map(*args)
|
2134
|
-
case args.length
|
2135
|
-
when ZERO
|
2136
|
-
get_attribute_map_0
|
2105
|
+
case args.length
|
2137
2106
|
when ONE
|
2138
2107
|
get_attribute_map_1(args[0])
|
2139
2108
|
else
|
@@ -2157,21 +2126,7 @@ module Meteor
|
|
2157
2126
|
|
2158
2127
|
attrs
|
2159
2128
|
end
|
2160
|
-
private :get_attribute_map_1
|
2161
|
-
|
2162
|
-
#
|
2163
|
-
# 要素の属性マップを取得する
|
2164
|
-
#
|
2165
|
-
# @return [Meteor::AttributeMap] 属性マップ
|
2166
|
-
#
|
2167
|
-
def get_attribute_map_0()
|
2168
|
-
if @root.element then
|
2169
|
-
get_attribute_map_1(@root.element)
|
2170
|
-
else
|
2171
|
-
nil
|
2172
|
-
end
|
2173
|
-
end
|
2174
|
-
private :get_attribute_map_0
|
2129
|
+
private :get_attribute_map_1
|
2175
2130
|
|
2176
2131
|
#
|
2177
2132
|
# 要素の属性を編集する
|
@@ -2204,21 +2159,16 @@ module Meteor
|
|
2204
2159
|
when ONE
|
2205
2160
|
#if args[0].kind_of?(Meteor::Element) then
|
2206
2161
|
get_content_1(args[0])
|
2207
|
-
|
2208
|
-
|
2209
|
-
|
2210
|
-
# raise ArgumentError
|
2211
|
-
#end
|
2162
|
+
#else
|
2163
|
+
# raise ArgumentError
|
2164
|
+
#end
|
2212
2165
|
when TWO
|
2213
2166
|
#if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
|
2214
2167
|
args[0].document_sync = true
|
2215
|
-
set_content_2_s(args[0],args[1])
|
2216
|
-
|
2217
|
-
|
2218
|
-
|
2219
|
-
#else
|
2220
|
-
# raise ArgumentError
|
2221
|
-
#end
|
2168
|
+
set_content_2_s(args[0],args[1])
|
2169
|
+
#else
|
2170
|
+
# raise ArgumentError
|
2171
|
+
#end
|
2222
2172
|
when THREE
|
2223
2173
|
args[0].document_sync = true
|
2224
2174
|
set_content_3(args[0],args[1],args[2])
|
@@ -2237,7 +2187,7 @@ module Meteor
|
|
2237
2187
|
def set_content_3(elm,content,entity_ref=true)
|
2238
2188
|
|
2239
2189
|
if entity_ref then
|
2240
|
-
escape_content(content,elm
|
2190
|
+
escape_content(content,elm)
|
2241
2191
|
end
|
2242
2192
|
elm.mixed_content = content
|
2243
2193
|
elm
|
@@ -2252,47 +2202,25 @@ module Meteor
|
|
2252
2202
|
#
|
2253
2203
|
def set_content_2_s(elm,content)
|
2254
2204
|
#set_content_3(elm, content)
|
2255
|
-
elm.mixed_content = escape_content(content,elm
|
2205
|
+
elm.mixed_content = escape_content(content,elm)
|
2256
2206
|
elm
|
2257
2207
|
end
|
2258
2208
|
private :set_content_2_s
|
2259
2209
|
|
2260
|
-
##
|
2261
|
-
## 要素の内容を編集する
|
2262
|
-
##
|
2263
|
-
## @param [String] content 内容
|
2264
|
-
##
|
2265
|
-
#def set_content_1(content)
|
2266
|
-
# if @root.element && @root.element.mono then
|
2267
|
-
# set_content_2_s(@root.element, content)
|
2268
|
-
# end
|
2269
|
-
#end
|
2270
|
-
#private :set_content_1
|
2271
|
-
|
2272
|
-
##
|
2273
|
-
## 要素の内容を編集する
|
2274
|
-
##
|
2275
|
-
## @param [String] content 内容
|
2276
|
-
## @param [TrueClass,FalseClass] entity_ref エンティティ参照フラグ
|
2277
|
-
##
|
2278
|
-
#def set_content_2_b(content,entity_ref)
|
2279
|
-
# if @root.element && @root.element.mono then
|
2280
|
-
# set_content_3(@root.element, content, entity_ref)
|
2281
|
-
# end
|
2282
2210
|
#
|
2283
|
-
#
|
2284
|
-
#
|
2285
|
-
#
|
2286
|
-
|
2211
|
+
# 要素の内容を取得する
|
2212
|
+
#
|
2213
|
+
# @param [Meteor::Element] elm 要素
|
2214
|
+
#
|
2287
2215
|
def get_content_1(elm)
|
2288
2216
|
if !elm.cx then
|
2289
2217
|
if elm.empty then
|
2290
|
-
unescape_content(elm.mixed_content,elm
|
2218
|
+
unescape_content(elm.mixed_content,elm)
|
2291
2219
|
else
|
2292
2220
|
nil
|
2293
2221
|
end
|
2294
2222
|
else
|
2295
|
-
unescape_content(elm.mixed_content,elm
|
2223
|
+
unescape_content(elm.mixed_content,elm)
|
2296
2224
|
end
|
2297
2225
|
end
|
2298
2226
|
private :get_content_1
|
@@ -2343,21 +2271,7 @@ module Meteor
|
|
2343
2271
|
#属性の置換
|
2344
2272
|
elm.attributes.sub!(@pattern,EMPTY)
|
2345
2273
|
end
|
2346
|
-
private :remove_attributes_
|
2347
|
-
|
2348
|
-
##
|
2349
|
-
## 要素の属性を消す
|
2350
|
-
##
|
2351
|
-
## @param [String] attr_name 属性名
|
2352
|
-
##
|
2353
|
-
#def remove_attribute_1(attr_name)
|
2354
|
-
# if @root.element then
|
2355
|
-
# remove_attribute_2(@root.element, attr_name)
|
2356
|
-
# end
|
2357
|
-
#
|
2358
|
-
# @root.element
|
2359
|
-
#end
|
2360
|
-
#private :remove_attribute_1
|
2274
|
+
private :remove_attributes_
|
2361
2275
|
|
2362
2276
|
#
|
2363
2277
|
# 要素を消す
|
@@ -2484,7 +2398,6 @@ module Meteor
|
|
2484
2398
|
@element_cache.values.each do |item|
|
2485
2399
|
if item.usable then
|
2486
2400
|
#puts "#{item.name}:#{item.document}"
|
2487
|
-
#if item.name == EMPTY then
|
2488
2401
|
if item.copy then
|
2489
2402
|
#item.document = item.copy.parser.root_element.hook_document
|
2490
2403
|
@pattern = Meteor::Core::Util::PatternCache.get(item.pattern)
|
@@ -2516,17 +2429,13 @@ module Meteor
|
|
2516
2429
|
#@root.hookDocument << @root.element.mixed_content << SET_CX_3
|
2517
2430
|
#@root.hookDocument << @root.element.name << SET_CX_4
|
2518
2431
|
@root.hook_document << "<!-- @#{@root.element.name} #{@root.element.attributes}-->#{@root.element.mixed_content}<!-- /@#{@root.element.name} -->"
|
2519
|
-
#@root.hook_document << @root.document
|
2520
2432
|
else
|
2521
2433
|
#@root.hookDocument << TAG_OPEN << @root.element.name
|
2522
2434
|
#@root.hookDocument << @root.element.attributes << TAG_CLOSE << @root.element.mixed_content
|
2523
2435
|
#@root.hookDocument << TAG_OPEN3 << @root.element.name << TAG_CLOSE
|
2524
2436
|
@root.hook_document << "<#{@root.element.name}#{@root.element.attributes}>#{@root.element.mixed_content}</#{@root.element.name}>"
|
2525
|
-
#@root.hook_document << @root.document
|
2526
2437
|
end
|
2527
|
-
#@root.hook_document << @root.document
|
2528
2438
|
@root.element = Element.new!(@root.element.origin,self)
|
2529
|
-
#@root.document = String.new(@root.element.document)
|
2530
2439
|
else
|
2531
2440
|
reflect
|
2532
2441
|
@_attributes = @root.element.attributes
|
@@ -2545,8 +2454,6 @@ module Meteor
|
|
2545
2454
|
end
|
2546
2455
|
@root.element = Element.new!(@root.element.origin,self)
|
2547
2456
|
end
|
2548
|
-
#@root.element.origin.document = @root.hook_document
|
2549
|
-
#@root.element.origin.name = EMPTY
|
2550
2457
|
else
|
2551
2458
|
reflect
|
2552
2459
|
@element_cache.clear
|
@@ -2657,10 +2564,10 @@ module Meteor
|
|
2657
2564
|
|
2658
2565
|
#
|
2659
2566
|
# @param [String] content 入力文字列
|
2660
|
-
# @param [String]
|
2567
|
+
# @param [String] elm 要素
|
2661
2568
|
# @return [String] 出力文字列
|
2662
2569
|
#
|
2663
|
-
def escape_content(content,
|
2570
|
+
def escape_content(content,elm)
|
2664
2571
|
content
|
2665
2572
|
end
|
2666
2573
|
private :escape_content
|
@@ -2676,10 +2583,10 @@ module Meteor
|
|
2676
2583
|
|
2677
2584
|
#
|
2678
2585
|
# @param [String] content 入力文字列
|
2679
|
-
# @param [String]
|
2586
|
+
# @param [String] elm 要素
|
2680
2587
|
# @return [String] 出力文字列
|
2681
2588
|
#
|
2682
|
-
def unescape_content(content,
|
2589
|
+
def unescape_content(content,elm)
|
2683
2590
|
content
|
2684
2591
|
end
|
2685
2592
|
private :unescape_content
|
@@ -3018,6 +2925,8 @@ module Meteor
|
|
3018
2925
|
'<' => '<',
|
3019
2926
|
'>' => '>',
|
3020
2927
|
' ' => ' ',
|
2928
|
+
"\r\n" => '<br>',
|
2929
|
+
"\r" => '<br>',
|
3021
2930
|
"\n" => '<br>',
|
3022
2931
|
}
|
3023
2932
|
|
@@ -3084,8 +2993,6 @@ module Meteor
|
|
3084
2993
|
def initialize_1(ps)
|
3085
2994
|
@root.document = String.new(ps.document)
|
3086
2995
|
@root.hook_document = String.new(ps.root_element.hook_document)
|
3087
|
-
#@root.hook = ps.root_element.hook
|
3088
|
-
#@root.mono_hook = ps.root_element.mono_hook
|
3089
2996
|
@root.content_type = String.new(ps.content_type);
|
3090
2997
|
@root.kaigyo_code = ps.root_element.kaigyo_code
|
3091
2998
|
@doc_type = ps.doc_type
|
@@ -3582,7 +3489,6 @@ module Meteor
|
|
3582
3489
|
elm.document = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE
|
3583
3490
|
end
|
3584
3491
|
end
|
3585
|
-
#elm.document = @pattern_cc
|
3586
3492
|
end
|
3587
3493
|
end
|
3588
3494
|
private :set_mono_info
|
@@ -3617,11 +3523,11 @@ module Meteor
|
|
3617
3523
|
end
|
3618
3524
|
private :escape
|
3619
3525
|
|
3620
|
-
def escape_content(content,
|
3526
|
+
def escape_content(content,elm)
|
3621
3527
|
if RUBY_VERSION < RUBY_VERSION_1_9_0 then
|
3622
3528
|
content = escape(content)
|
3623
3529
|
|
3624
|
-
if !is_match(MATCH_TAG_2,
|
3530
|
+
if elm.cx || !is_match(MATCH_TAG_2,elm.name) then
|
3625
3531
|
#「¥r?¥n」->「<br>」
|
3626
3532
|
content.gsub!(@@pattern_br_1, BR_2)
|
3627
3533
|
end
|
@@ -3671,14 +3577,13 @@ module Meteor
|
|
3671
3577
|
SPACE
|
3672
3578
|
end
|
3673
3579
|
end
|
3674
|
-
|
3675
3580
|
end
|
3676
3581
|
private :unescape
|
3677
3582
|
|
3678
|
-
def unescape_content(content,
|
3583
|
+
def unescape_content(content,elm)
|
3679
3584
|
content_ = unescape(content)
|
3680
3585
|
|
3681
|
-
if !is_match(MATCH_TAG_2,
|
3586
|
+
if elm.cx || !is_match(MATCH_TAG_2,elm.name) then
|
3682
3587
|
#「<br>」->「¥r?¥n」
|
3683
3588
|
if content.include?(BR_2) then
|
3684
3589
|
content_.gsub!(@@pattern_br_2, @root.kaigyo_code)
|
@@ -3806,6 +3711,8 @@ module Meteor
|
|
3806
3711
|
'<' => '<',
|
3807
3712
|
'>' => '>',
|
3808
3713
|
' ' => ' ',
|
3714
|
+
"\r\n" => '<br/>',
|
3715
|
+
"\r" => '<br/>',
|
3809
3716
|
"\n" => '<br/>',
|
3810
3717
|
}
|
3811
3718
|
|
@@ -4107,7 +4014,6 @@ module Meteor
|
|
4107
4014
|
elm.document = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE3
|
4108
4015
|
end
|
4109
4016
|
end
|
4110
|
-
#elm.document = @pattern_cc
|
4111
4017
|
end
|
4112
4018
|
end
|
4113
4019
|
private :set_mono_info
|
@@ -4147,12 +4053,12 @@ module Meteor
|
|
4147
4053
|
end
|
4148
4054
|
private :escape
|
4149
4055
|
|
4150
|
-
def escape_content(content,
|
4056
|
+
def escape_content(content,elm)
|
4151
4057
|
|
4152
4058
|
if RUBY_VERSION < RUBY_VERSION_1_9_0 then
|
4153
4059
|
content = escape(content)
|
4154
4060
|
|
4155
|
-
if !is_match(MATCH_TAG_2,
|
4061
|
+
if elm.cx || !is_match(MATCH_TAG_2,elm.name) then
|
4156
4062
|
#「¥r?¥n」->「<br>」
|
4157
4063
|
content.gsub!(@@pattern_br_1, BR_2)
|
4158
4064
|
end
|
@@ -4201,15 +4107,13 @@ module Meteor
|
|
4201
4107
|
SPACE
|
4202
4108
|
end
|
4203
4109
|
end
|
4204
|
-
|
4205
|
-
#content
|
4206
4110
|
end
|
4207
4111
|
private :unescape
|
4208
4112
|
|
4209
|
-
def unescape_content(content,
|
4113
|
+
def unescape_content(content,elm)
|
4210
4114
|
content_ = unescape(content)
|
4211
4115
|
|
4212
|
-
if !is_match(MATCH_TAG_2,
|
4116
|
+
if elm.cx || !is_match(MATCH_TAG_2,elm.name) then
|
4213
4117
|
#「<br>」->「¥r?¥n」
|
4214
4118
|
if content.include?(BR_2) then
|
4215
4119
|
content_.gsub!(@@pattern_br_2, @root.kaigyo_code)
|
@@ -4332,16 +4236,15 @@ module Meteor
|
|
4332
4236
|
elm.mono = true
|
4333
4237
|
if elm.cx then
|
4334
4238
|
#@pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2 << elm.mixed_content << SET_CX_3 << elm.name << SET_CX_4
|
4335
|
-
|
4239
|
+
elm.document = "<!-- @#{elm.name} #{elm.attributes} -->#{elm.mixed_content}<!-- /@#{elm.name} -->"
|
4336
4240
|
else
|
4337
4241
|
if elm.empty then
|
4338
4242
|
#@pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE << elm.mixed_content << TAG_OPEN3 << elm.name << TAG_CLOSE
|
4339
|
-
|
4243
|
+
elm.document = "<#{elm.name}#{elm.attributes}>#{elm.mixed_content}</#{elm.name}>"
|
4340
4244
|
else
|
4341
|
-
|
4245
|
+
elm.document = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE3
|
4342
4246
|
end
|
4343
4247
|
end
|
4344
|
-
elm.document = @pattern_cc
|
4345
4248
|
end
|
4346
4249
|
end
|
4347
4250
|
private :set_mono_info
|
@@ -4377,7 +4280,7 @@ module Meteor
|
|
4377
4280
|
end
|
4378
4281
|
private :escape
|
4379
4282
|
|
4380
|
-
def escape_content(content,
|
4283
|
+
def escape_content(content,elm)
|
4381
4284
|
escape(content)
|
4382
4285
|
end
|
4383
4286
|
private :escape_content
|
@@ -4421,12 +4324,10 @@ module Meteor
|
|
4421
4324
|
end
|
4422
4325
|
end
|
4423
4326
|
#end
|
4424
|
-
|
4425
|
-
#content
|
4426
4327
|
end
|
4427
4328
|
private :unescape
|
4428
4329
|
|
4429
|
-
def unescape_content(content,
|
4330
|
+
def unescape_content(content,elm)
|
4430
4331
|
unescape(content)
|
4431
4332
|
end
|
4432
4333
|
private :unescape_content
|
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.
|
4
|
+
version: 0.9.2.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-07-
|
12
|
+
date: 2009-07-06 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|