206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
# File 'lib/openxml/docx/attribute_builder.rb', line 206
def attribute(name, expects: nil, displays_as: nil, namespace: nil)
bad_names = %w(tag name namespace properties_tag)
raise ArgumentError if bad_names.member? name
attr_reader name
define_method "#{name}=" do |value|
send(expects, value)
instance_variable_set "@#{name}", value
end
camelized_name = name.to_s.gsub(/_([a-z])/i) { $1.upcase }.to_sym
attributes[name] = [displays_as || camelized_name, namespace || :w]
end
|