meteor 0.9.30 → 0.9.32
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.
- checksums.yaml +4 -4
- data/ChangeLog +8 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +34 -3
- data/demo/html.rb +32 -38
- data/demo/html4.rb +27 -33
- data/demo/xhtml.rb +29 -35
- data/demo/xhtml4.rb +27 -33
- data/demo/xml.rb +20 -20
- data/lib/meteor/attribute.rb +1 -4
- data/lib/meteor/attribute_map.rb +21 -22
- data/lib/meteor/core/kernel.rb +604 -727
- data/lib/meteor/core/util/file_reader.rb +37 -0
- data/lib/meteor/core/util/pattern_cache.rb +7 -7
- data/lib/meteor/element.rb +48 -67
- data/lib/meteor/elements.rb +6 -6
- data/lib/meteor/exception/no_such_element_exception.rb +15 -15
- data/lib/meteor/ml/html/parser_impl.rb +69 -71
- data/lib/meteor/ml/html4/parser_impl.rb +129 -144
- data/lib/meteor/ml/xhtml/parser_impl.rb +44 -46
- data/lib/meteor/ml/xhtml4/parser_impl.rb +85 -87
- data/lib/meteor/ml/xml/parser_impl.rb +29 -29
- data/lib/meteor/parsers.rb +92 -100
- data/lib/meteor/root_element.rb +5 -8
- data/lib/meteor.rb +62 -61
- data/meteor.gemspec +14 -13
- data/test/meteor_test.rb +4 -2
- data/test/test_helper.rb +3 -2
- metadata +4 -4
- data/Rakefile +0 -144
data/lib/meteor/attribute_map.rb
CHANGED
|
@@ -15,9 +15,9 @@ module Meteor
|
|
|
15
15
|
def initialize(*args)
|
|
16
16
|
case args.length
|
|
17
17
|
when ZERO
|
|
18
|
-
|
|
18
|
+
initialize_zero
|
|
19
19
|
when ONE
|
|
20
|
-
|
|
20
|
+
initialize_one(args[0])
|
|
21
21
|
else
|
|
22
22
|
raise ArgumentError
|
|
23
23
|
end
|
|
@@ -26,24 +26,24 @@ module Meteor
|
|
|
26
26
|
#
|
|
27
27
|
# initializer (イニシャライザ)
|
|
28
28
|
#
|
|
29
|
-
def
|
|
30
|
-
@map =
|
|
29
|
+
def initialize_zero
|
|
30
|
+
@map = {}
|
|
31
31
|
@recordable = false
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
private :
|
|
34
|
+
private :initialize_zero
|
|
35
35
|
|
|
36
36
|
#
|
|
37
37
|
# initializer (イニシャライザ)
|
|
38
38
|
# @param [Meteor::AttributeMap] attr_map attribute map (属性マップ)
|
|
39
39
|
#
|
|
40
|
-
def
|
|
40
|
+
def initialize_one(attr_map)
|
|
41
41
|
# @map = Marshal.load(Marshal.dump(attr_map.map))
|
|
42
42
|
@map = attr_map.map.dup
|
|
43
43
|
@recordable = attr_map.recordable
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
private :
|
|
46
|
+
private :initialize_one
|
|
47
47
|
|
|
48
48
|
#
|
|
49
49
|
# set a couple of attribute name and attribute value (属性名と属性値を対としてセットする)
|
|
@@ -86,9 +86,9 @@ module Meteor
|
|
|
86
86
|
# @return [String] attribute value (属性値)
|
|
87
87
|
#
|
|
88
88
|
def fetch(name)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
return unless @map[name] && !@map[name].removed
|
|
90
|
+
|
|
91
|
+
@map[name].value
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
#
|
|
@@ -96,10 +96,10 @@ module Meteor
|
|
|
96
96
|
# @param name attribute name (属性名)
|
|
97
97
|
#
|
|
98
98
|
def delete(name)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
return unless @recordable && @map[name]
|
|
100
|
+
|
|
101
|
+
@map[name].removed = true
|
|
102
|
+
@map[name].changed = false
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
#
|
|
@@ -107,9 +107,9 @@ module Meteor
|
|
|
107
107
|
# @return [true,false] update flag of attribute (属性の変更状況)
|
|
108
108
|
#
|
|
109
109
|
def changed(name)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
return unless @map[name]
|
|
111
|
+
|
|
112
|
+
@map[name].changed
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
#
|
|
@@ -117,13 +117,12 @@ module Meteor
|
|
|
117
117
|
# @return [true,false] delete flag of attribute (属性の削除状況)
|
|
118
118
|
#
|
|
119
119
|
def removed(name)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
return unless @map[name]
|
|
121
|
+
|
|
122
|
+
@map[name].removed
|
|
123
123
|
end
|
|
124
124
|
|
|
125
|
-
attr_accessor :map
|
|
126
|
-
attr_accessor :recordable
|
|
125
|
+
attr_accessor :map, :recordable
|
|
127
126
|
|
|
128
127
|
#
|
|
129
128
|
# set a couple of attribute name and attribute value (属性名と属性値を対としてセットする)
|