push
travis-ci
12 of 12 new or added lines in 2 files covered. (100.0%)
861 of 907 relevant lines covered (94.93%)
29.22 hits per line
1 |
module QML |
1✔ |
2 |
class JSObject |
1✔ |
3 |
|
|
4 |
def keys |
1✔ |
5 |
each.map { |k, v| k } |
3✔ |
6 |
end
|
|
7 |
|
|
8 |
def values |
1✔ |
9 |
each.map { |k, v| v } |
3✔ |
10 |
end
|
|
11 |
|
|
12 |
def to_hash |
1✔ |
13 |
{}.tap do |hash|
|
1✔ |
14 |
each do |k, v|
|
1✔ |
15 |
hash[k] =v |
2✔ |
16 |
end
|
|
17 |
end
|
|
18 |
end
|
|
19 |
|
|
20 |
def to_time |
1✔ |
21 |
Time.at(getTime.to_i / 1000r).getlocal(-getTimezoneOffset * 60) |
1✔ |
22 |
end
|
|
23 |
|
|
24 |
def to_error |
1✔ |
25 |
QMLError.new(self['message']) |
1✔ |
26 |
end
|
|
27 |
|
|
28 |
def respond_to?(method) |
1✔ |
29 |
has_key?(method) || super
|
5✔ |
30 |
end
|
|
31 |
|
|
32 |
def method_missing(method, *args) |
1✔ |
33 |
if method[-1] == '=' |
255✔ |
34 |
# setter
|
|
35 |
key = method.slice(0...-1).to_sym |
36✔ |
36 |
|
|
37 |
unless has_key?(key)
|
36✔ |
38 |
super
|
× |
39 |
end
|
|
40 |
self[key] = args[0] |
36✔ |
41 |
else
|
|
42 |
unless has_key?(method)
|
219✔ |
43 |
super
|
1✔ |
44 |
end
|
|
45 |
|
|
46 |
prop = self[method]
|
218✔ |
47 |
if prop.is_a? JSFunction |
218✔ |
48 |
prop.call_with_instance(self, *args)
|
121✔ |
49 |
else
|
|
50 |
prop |
97✔ |
51 |
end
|
|
52 |
end
|
|
53 |
end
|
|
54 |
|
|
55 |
def to_qml |
1✔ |
56 |
self
|
14✔ |
57 |
end
|
|
58 |
end
|
|
59 |
end
|