Module: Promiscuous::Publisher::Lint
- Defined in:
- lib/promiscuous/publisher/lint.rb
Defined Under Namespace
Modules: AMQP, Attributes, Class, Polymorphic Classes: Base
Class Method Summary collapse
Class Method Details
.get_publisher(klass) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/promiscuous/publisher/lint.rb', line 8 def self.get_publisher(klass) unless klass.respond_to?(:promiscuous_publisher) raise "#{klass} has no publisher" end klass.promiscuous_publisher end |
.lint(classes) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/promiscuous/publisher/lint.rb', line 16 def self.lint(classes) classes.each do |klass, to| pub = get_publisher(klass) lint = ::Class.new(Base) lint.__send__(:include, Class) if pub.include?(Promiscuous::Publisher::Class) lint.__send__(:include, Attributes) if pub.include?(Promiscuous::Publisher::Attributes) lint.__send__(:include, AMQP) if pub.include?(Promiscuous::Publisher::AMQP) lint.__send__(:include, Polymorphic) if pub.include?(Promiscuous::Publisher::Polymorphic) lint.new(:klass => klass, :publisher => pub, :to => to).lint end true end |