480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
|
# File 'lib/jsonapi/resource.rb', line 480
def attribute(attr, options = {})
check_reserved_attribute_name(attr)
if (attr.to_sym == :id) && (options[:format].nil?)
ActiveSupport::Deprecation.warn('Id without format is no longer supported. Please remove ids from attributes, or specify a format.')
end
check_duplicate_attribute_name(attr) if options[:format].nil?
@_attributes ||= {}
@_attributes[attr] = options
define_method attr do
@model.public_send(options[:delegate] ? options[:delegate].to_sym : attr)
end unless method_defined?(attr)
define_method "#{attr}=" do |value|
@model.public_send("#{options[:delegate] ? options[:delegate].to_sym : attr}=", value)
end unless method_defined?("#{attr}=")
end
|