10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/ProMotion/view/styling.rb', line 10
def set_attribute(element, k, v)
return element unless element
if v.is_a?(Hash) && element.respond_to?(k)
sub_element = element.send(k)
set_attributes(sub_element, v) if sub_element
elsif element.respond_to?("#{k}=")
element.send("#{k}=", v)
elsif v.is_a?(Array) && element.respond_to?("#{k}") && element.method("#{k}").arity == v.length
element.send("#{k}", *v)
else
if k.to_s.include?("_")
set_attribute(element, objective_c_method_name(k), v)
end
end
element
end
|