123456789_123456789_123456789_123456789_123456789_

Class: ActionText::AttachmentGallery

Constant Summary

Class Method Summary

::ActiveModel::Naming - self

param_key

Returns string to use for params names.

plural

Returns the plural class name of a record or class.

route_key

Returns string to use while generating route names.

singular

Returns the singular class name of a record or class.

singular_route_key

Returns string to use while generating route names.

uncountable?

Identifies whether the class name of a record or class is uncountable.

Instance Attribute Summary

::ActiveModel::API - Included

#_validators, #_validators?,
#persisted?

Indicates if the model is persisted.

::ActiveModel::Validations - Included

#validation_context

Returns the context when running validations.

::ActiveModel::AttributeAssignment - Included

Instance Method Summary

::ActiveModel::API - Included

#initialize

Initializes a new model with the given params.

::ActiveModel::Conversion - Included

#to_key

Returns an ::Array of all key attributes if any of the attributes is set, whether or not the object is persisted.

#to_model

If your object is already designed to implement all of the Active Model you can use the default :to_model implementation, which simply returns self.

#to_param

Returns a string representing the object’s key suitable for use in URLs, or nil if persisted? is false.

#to_partial_path

Returns a string identifying the path associated with the object.

::ActiveModel::Validations - Included

#errors

Returns the Errors object that holds all information about attribute error messages.

#freeze,
#invalid?

Performs the opposite of valid?.

#read_attribute_for_validation

Hook method defining how an attribute value should be retrieved.

#valid?

Runs all the specified validations and returns true if no errors were added otherwise false.

#validate
#validate!

Runs all the validations within the specified context.

#validates_with

Passes the record off to the class or classes specified and allows them to add errors based on more complex conditions.

#raise_validation_error

::ActiveModel::AttributeAssignment - Included

#assign_attributes

Allows you to set all the attributes by passing in a hash of attributes with keys matching the attribute names.

#attribute_writer_missing

Like BasicObject#method_missing, #attribute_writer_missing is invoked when #assign_attributes is passed an unknown attribute name.

Constructor Details

.new(node) ⇒ AttachmentGallery

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 54

def initialize(node)
  @node = node
end

Class Method Details

.attachment_selector

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 43

def attachment_selector
  "#{ActionText::Attachment.tag_name}[presentation=gallery]"
end

.fragment_by_canonicalizing_attachment_galleries(content)

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 13

def fragment_by_canonicalizing_attachment_galleries(content)
  fragment_by_replacing_attachment_gallery_nodes(content) do |node|
    "<#{TAG_NAME}>#{node.inner_html}</#{TAG_NAME}>"
  end
end

.from_node(node)

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 39

def from_node(node)
  new(node)
end

.selector

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 47

def selector
  "#{TAG_NAME}:has(#{attachment_selector} + #{attachment_selector})"
end

Instance Attribute Details

#node (readonly)

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 52

attr_reader :node

Instance Method Details

#attachments

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 58

def attachments
  @attachments ||= node.css(ActionText::AttachmentGallery.attachment_selector).map do |node|
    ActionText::Attachment.from_node(node).with_full_attributes
  end
end

#inspect

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 68

def inspect
  "#<#{self.class.name} size=#{size.inspect}>"
end

#size

[ GitHub ]

  
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 64

def size
  attachments.size
end