module ParserUtils
Constants
- InvalidAttributeError
Public Instance Methods
end_model_from_association_chain(association_chain)
click to toggle source
# File lib/hario/behaviours/utils.rb, line 8 def end_model_from_association_chain(association_chain) head = @klass association_chain.each do |a_name| head = head.reflect_on_all_associations.find{ |a| a.name.to_s == a_name }.klass end head end
raise_if_unlisted_attribute!(type, model_class, attribute)
click to toggle source
# File lib/hario/behaviours/utils.rb, line 18 def raise_if_unlisted_attribute!(type, model_class, attribute) return unless model_class.respond_to?(:hario_attributes_list) return unless model_class.hario_attributes_list lists = model_class.hario_attributes_list[type] return unless lists attribute = attribute.to_sym if (lists[:except].present? && lists[:except].include?(attribute)) || (lists[:only ].present? && !lists[:only ].include?(attribute)) raise InvalidAttributeError, "#{attribute} is forbidden" end end
table_name_from_association_chain(association_chain)
click to toggle source
# File lib/hario/behaviours/utils.rb, line 4 def table_name_from_association_chain(association_chain) end_model_from_association_chain(association_chain).table_name end