Sha256: 977bd62e9caf768c7cf40c20f07ae629d07b967a01d1cbefed7fd40a5270adad
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
module Federails module Entity extend ActiveSupport::Concern included do has_one :actor, class_name: 'Federails::Actor', as: :entity, dependent: :destroy after_create :create_actor # Configures the mapping between entity and actor # @param username_field [Symbol] The method or attribute name that returns the preferred username for ActivityPub # @param name_field [Symbol] The method or attribute name that returns the preferred name for ActivityPub # @param profile_url_method [Symbol] The route method name that will generate the profile URL for ActivityPub # @param actor_type [String] The ActivityStreams Actor type for this entity; defaults to 'Person' # @param include_in_user_count [boolean] Should this entity be included in the nodeinfo user count? Defaults to true # @example # acts_as_federails_actor username_field: :username, name_field: :display_name, profile_url_method: :url_for, actor_type: 'Person' def self.acts_as_federails_actor( username_field: Federails::Configuration.user_username_field, name_field: Federails::Configuration.user_name_field, profile_url_method: Federails.configuration.user_profile_url_method, actor_type: 'Person', include_in_user_count: true ) Federails::Configuration.register_entity( self, username_field: username_field, name_field: name_field, profile_url_method: profile_url_method, actor_type: actor_type, include_in_user_count: include_in_user_count ) end # Automatically run default acts_as_federails_actor # this can be optionally called again with different configuration in the entity acts_as_federails_actor private def create_actor Federails::Actor.create! entity: self end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
federails-0.1.0 | app/models/concerns/federails/entity.rb |