class BootstrapFormExtensions::Scheduler::Serializer

Attributes

default_selection[R]
to_format[R]

Public Class Methods

new(to_format, default_selection) click to toggle source
# File lib/bootstrap_form_extensions/scheduler.rb, line 42
def initialize to_format, default_selection
  @to_format         = to_format
  @default_selection = default_selection
end

Public Instance Methods

dump(value_from_user) click to toggle source
# File lib/bootstrap_form_extensions/scheduler.rb, line 54
def dump value_from_user
  value_from_user = JSON.parse value_from_user rescue [] if value_from_user.is_a? String
  value_from_user = [] unless value_from_user.is_a? Array
  value_from_user = parse_schedule_array value_from_user
  value_from_user = value_from_user.to_yaml if to_format == :yaml
  value_from_user
end
load(value_from_db) click to toggle source
# File lib/bootstrap_form_extensions/scheduler.rb, line 47
def load value_from_db
  value_from_db = YAML.load(value_from_db.to_s || '') if to_format == :yaml
  value_from_db = [] if value_from_db.blank?
  value_from_db = parse_schedule_array value_from_db unless value_from_db[6].try(:[], 23).present?
  value_from_db
end

Private Instance Methods

parse_schedule_array(value) click to toggle source
# File lib/bootstrap_form_extensions/scheduler.rb, line 64
def parse_schedule_array value
  Array.new(7) { |i| Array.new(24) { |j| (value[i][j].nil? && default_selection) || true?(value[i][j]) rescue default_selection } }
end