require 'custom_attributes/custom_attributes_api_helper' module CustomAttributes module ControllerHelper module Customizable def self.all_available_fields(customizable_type) customizable = customizable_type if customizable_type.is_a? String customizable = get_customizable_class_or_fail(customizable_type).new end customizable.available_custom_fields end def self.all_values(customizable) customizable.custom_field_values end def self.value_by_field_id(customizable, field_id) customizable.populated_custom_field_value(field_id) end def self.update_field_value(customizable, field_id, value) to_change = { field_id => value } customizable.custom_field_values = to_change customizable.save! customizable.custom_value_for(field_id) end end module CustomField def self.increment_position(field) field.increment_position end def self.decrement_position(field) field.decrement_position end end end end