Module: Sail::ValueCast

Included in:
Setting
Defined in:
lib/sail/value_cast.rb

Instance Method Summary collapse

Instance Method Details

#ab_test_get(value) ⇒ Object



31
32
33
# File 'lib/sail/value_cast.rb', line 31

def ab_test_get(value)
  value == Sail::ConstantCollection::TRUE ? Sail::ConstantCollection::BOOLEANS.sample : false
end

#ab_test_set(value) ⇒ Object



75
76
77
78
79
80
81
82
83
# File 'lib/sail/value_cast.rb', line 75

def ab_test_set(value)
  if value.is_a?(String)
    value == Sail::ConstantCollection::ON ? Sail::ConstantCollection::TRUE : value
  elsif value.nil?
    Sail::ConstantCollection::FALSE
  else
    value.to_s
  end
end

#array_get(value) ⇒ Object



27
28
29
# File 'lib/sail/value_cast.rb', line 27

def array_get(value)
  value.split(Sail.configuration.array_separator)
end

#array_set(value) ⇒ Object



85
86
87
# File 'lib/sail/value_cast.rb', line 85

def array_set(value)
  value.is_a?(String) ? value : value.join(Sail.configuration.array_separator)
end

#boolean_get(value) ⇒ Object



23
24
25
# File 'lib/sail/value_cast.rb', line 23

def boolean_get(value)
  value == Sail::ConstantCollection::TRUE
end

#boolean_set(value) ⇒ Object



65
66
67
68
69
70
71
72
73
# File 'lib/sail/value_cast.rb', line 65

def boolean_set(value)
  if value.is_a?(String)
    value == Sail::ConstantCollection::ON ? Sail::ConstantCollection::TRUE : value
  elsif value.nil?
    Sail::ConstantCollection::FALSE
  else
    value.to_s
  end
end

#cron_get(value) ⇒ Object



35
36
37
# File 'lib/sail/value_cast.rb', line 35

def cron_get(value)
  Fugit::Cron.new(value).match?(DateTime.now.utc.change(sec: 0))
end

#cron_set(value) ⇒ Object



93
94
95
# File 'lib/sail/value_cast.rb', line 93

def cron_set(value)
  value
end

#date_get(value) ⇒ Object



15
16
17
# File 'lib/sail/value_cast.rb', line 15

def date_get(value)
  DateTime.parse(value)
end

#date_set(value) ⇒ Object



57
58
59
# File 'lib/sail/value_cast.rb', line 57

def date_set(value)
  value
end

#float_get(value) ⇒ Object



19
20
21
# File 'lib/sail/value_cast.rb', line 19

def float_get(value)
  value.to_f
end

#float_set(value) ⇒ Object



61
62
63
# File 'lib/sail/value_cast.rb', line 61

def float_set(value)
  value.to_f
end

#integer_get(value) ⇒ Object

Section for get value casts



7
8
9
# File 'lib/sail/value_cast.rb', line 7

def integer_get(value)
  value.to_i
end

#integer_set(value) ⇒ Object

Section for set value casts



49
50
51
# File 'lib/sail/value_cast.rb', line 49

def integer_set(value)
  value.to_i
end

#obj_model_get(value) ⇒ Object



39
40
41
# File 'lib/sail/value_cast.rb', line 39

def obj_model_get(value)
  value.constantize
end

#obj_model_set(value) ⇒ Object



89
90
91
# File 'lib/sail/value_cast.rb', line 89

def obj_model_set(value)
  value
end

#range_get(value) ⇒ Object



11
12
13
# File 'lib/sail/value_cast.rb', line 11

def range_get(value)
  value.to_i
end

#range_set(value) ⇒ Object



53
54
55
# File 'lib/sail/value_cast.rb', line 53

def range_set(value)
  value.to_i
end

#string_get(value) ⇒ Object



43
44
45
# File 'lib/sail/value_cast.rb', line 43

def string_get(value)
  value
end

#string_set(value) ⇒ Object



97
98
99
# File 'lib/sail/value_cast.rb', line 97

def string_set(value)
  value
end