Class: RestModel::Source::Translation

Inherits:
Object
  • Object
show all
Defined in:
lib/rest_model/source/translation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Translation

Returns a new instance of Translation.



6
7
8
9
10
# File 'lib/rest_model/source/translation.rb', line 6

def initialize(attrs = {})
  @values      = attrs[:values]
  @from_source = attrs[:from_source]
  @to_source   = attrs[:to_source]
end

Instance Attribute Details

#from_sourceObject

Returns the value of attribute from_source.



4
5
6
# File 'lib/rest_model/source/translation.rb', line 4

def from_source
  @from_source
end

#to_sourceObject

Returns the value of attribute to_source.



4
5
6
# File 'lib/rest_model/source/translation.rb', line 4

def to_source
  @to_source
end

#valuesObject

Returns the value of attribute values.



4
5
6
# File 'lib/rest_model/source/translation.rb', line 4

def values
  @values
end

Instance Method Details

#translate_from_source(value, resource) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/rest_model/source/translation.rb', line 16

def translate_from_source(value, resource)
  if from_source
    resource.instance_exec(value, &from_source)
  elsif values
    translate_from_source_values(value)
  else
    value
  end
end

#translate_to_source(value, resource) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/rest_model/source/translation.rb', line 30

def translate_to_source(value, resource)
  if to_source
    resource.instance_exec(value, &to_source)
  elsif values
    translate_to_source_values(value)
  else
    value
  end
end

#translates_from_source?Boolean

Returns:



12
13
14
# File 'lib/rest_model/source/translation.rb', line 12

def translates_from_source?
  from_source or values
end

#translates_to_source?Boolean

Returns:



26
27
28
# File 'lib/rest_model/source/translation.rb', line 26

def translates_to_source?
  to_source or values
end