class Trekyll::CustomFieldsManager

Public Class Methods

new() click to toggle source
# File lib/trekyll/customfieldsmanager.rb, line 12
def initialize
end

Public Instance Methods

get_fields_and_layout(board_custom_fields, card_field_values, lyt) click to toggle source
# File lib/trekyll/customfieldsmanager.rb, line 15
def get_fields_and_layout(board_custom_fields, card_field_values, lyt)
    fields_list = ""
    layout = lyt
    fields_list = board_custom_fields.map do |field|

                    f_type = field.type
                    val = ""
                    # if field type is list
                    if f_type == 'list'

                        if field.name == 'layout'
                            card_field_values.each do |cf|
                                if cf.custom_field_id == field.id and cf.option_id != nil
                                    el = field.custom_field_options.find {|element| element.id == cf.option_id}
                                    layout = el.value["text"]
                                end
                            end
                        else

                            card_field_values.each do |cf|
                                if cf.custom_field_id == field.id and cf.option_id != nil
                                    el = field.custom_field_options.find {|element| element.id == cf.option_id}
                                    val = el.value["text"]
                                end
                            end
                        end


                        # return value if not layout
                        ### empty layout: "" jekyll 3.8.4 bugfix
                        if field.name != 'layout'
                            "#{field.name}: \"#{val}\""
                        else
                            ""
                        end

                    # if field type checkbox
                    elsif f_type == 'checkbox'
                        card_field_values.each do |cf|
                            if cf.custom_field_id == field.id and cf.value != nil
                                val = cf.value["checked"]
                            end
                        end
                        "#{field.name}: \"#{val}\""

                    # if field type text, number, date
                    else
                        card_field_values.each do |cf|
                            if cf.custom_field_id == field.id and cf.value != nil
                                val = cf.value[f_type.to_s]
                            end
                        end
                        "#{field.name}: \"#{val}\""
                    end

                end
    return fields_list , layout
end