Class: Editus::Cop

Inherits:
Object
  • Object
show all
Defined in:
lib/editus/cop.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCop

Returns a new instance of Cop.



11
12
13
14
# File 'lib/editus/cop.rb', line 11

def initialize
  @models = Editus.configuration.models
  @mapping = @models.map{|model| get_values(model)}.compact
end

Class Method Details

.instanceObject



3
4
5
# File 'lib/editus/cop.rb', line 3

def self.instance
  @instance = new
end

.valid_model_namesObject



7
8
9
# File 'lib/editus/cop.rb', line 7

def self.valid_model_names
  instance.valid_model_names
end

Instance Method Details

#info(model) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/editus/cop.rb', line 20

def info model
  result = if model.is_a?(String)
    @mapping.find{|x| x[:name] == model}
  elsif model.respond_to?(:name)
    @mapping.find{|x| x[:name] == model.name}
  end

  result || {}
end

#valid_model_namesObject



16
17
18
# File 'lib/editus/cop.rb', line 16

def valid_model_names
  @valid_model_names ||= @mapping.map{|m| m[:name]}
end