module ActiveInteraction::ActiveRecordable
Implement the minimal ActiveRecord interface.
@private
Public Instance Methods
column_for_attribute(name)
click to toggle source
Returns the column object for the named filter.
@param name [Symbol] The name of a filter.
@example
class Interaction < ActiveInteraction::Base string :email, default: nil def execute; end end Interaction.new.column_for_attribute(:email) # => #<ActiveInteraction::Filter::Column:0x007faebeb2a6c8 @type=:string> Interaction.new.column_for_attribute(:not_a_filter) # => nil
@return [Filter::Column, nil]
# File lib/active_interaction/concerns/active_recordable.rb, line 26 def column_for_attribute(name) filter = self.class.filters[name] Filter::Column.intern(filter.database_column_type) if filter end
has_attribute?(name)
click to toggle source
Returns true if a filter of that name exists.
@param name [String, Symbol] The name of a filter.
@example
class Interaction < ActiveInteraction::Base string :email, default: nil def execute; end end Interaction.new.has_attribute?(:email) # => true Interaction.new.has_attribute?(:not_a_filter) # => false
@return [Boolean]
# File lib/active_interaction/concerns/active_recordable.rb, line 49 def has_attribute?(name) # rubocop:disable Naming/PredicateName self.class.filters.key?(name.to_sym) end