4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/promiscuous/subscriber/lint/attributes.rb', line 4
def lint
super
instance = subscriber.klass.new
attributes = subscriber.attributes
attributes += [subscriber.foreign_key] if subscriber.foreign_key
attributes.each { |attr| instance.respond_to?("#{attr}=") or instance.__send__("#{attr}=") }
if check_publisher
raise "The publisher of #{subscriber} does not exist" if publisher.nil?
missing_attributes = subscriber.attributes - publisher.attributes
if missing_attributes.present?
raise "#{publisher} subscribes to non published attributes: #{missing_attributes.join(", ")}"
end
end
end
|