class AMA::Entity::Mapper::Type::Analyzer

Some naive automatic attribute discovery

Public Class Methods

analyze(klass) click to toggle source

@param [Class, Module] klass @return [AMA::Entity::Mapper:Type]

# File lib/ama-entity-mapper/type/analyzer.rb, line 14
def self.analyze(klass)
  type = Type.new(klass)
  writers = klass.instance_methods.grep(/\w+=$/)
  writers.map do |writer|
    attribute = writer[0..-2]
    type.attribute!(attribute, Type::Any::INSTANCE, nullable: true)
  end
  type
end