Class: FlattenRecord::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/flatten_record/definition.rb

Instance Method Summary collapse

Constructor Details

#initialize(definition, key = nil) ⇒ Definition

Returns a new instance of Definition.



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/flatten_record/definition.rb', line 3

def initialize(definition, key=nil)
  @definition = definition
  @errors = []
  @methods = {}
  @compute = {}
  @include = {}
  @except = []
  @only = []
  @class_name = nil
  @prefix = nil
  @_key = key
end

Instance Method Details

#[](key) ⇒ Object



16
17
18
# File 'lib/flatten_record/definition.rb', line 16

def [](key)
  instance_variable_get "@#{key}"
end

#error_messageObject



38
39
40
# File 'lib/flatten_record/definition.rb', line 38

def error_message
  @errors.join("\n")
end

#valid?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/flatten_record/definition.rb', line 42

def valid?
  @errors.blank?
end

#validates(key, value) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/flatten_record/definition.rb', line 29

def validates(key, value)
  if protected_methods.include?("validate_#{key}".to_sym)
    send("validate_#{key}", value)    
  else
    @errors << "unknown options '#{key}'"
  end
  self
end

#validates_with(target_model, model) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/flatten_record/definition.rb', line 20

def validates_with(target_model, model)
  @target_model = target_model
  @model = model

  @definition.each do |key, value|
    validates(key, value)
  end
end