Module: Foobara::Concern

Included in:
Foobara::Callback::Block::Concerns::Type, Foobara::Command::Concerns::ShortcutForRun, CommandPatternImplementation, Foobara::CommandPatternImplementation::Concerns::Callbacks, Foobara::CommandPatternImplementation::Concerns::Description, Foobara::CommandPatternImplementation::Concerns::DomainMappers, Foobara::CommandPatternImplementation::Concerns::Entities, Foobara::CommandPatternImplementation::Concerns::Errors, Foobara::CommandPatternImplementation::Concerns::ErrorsType, Foobara::CommandPatternImplementation::Concerns::Inputs, Foobara::CommandPatternImplementation::Concerns::InputsType, Foobara::CommandPatternImplementation::Concerns::Namespace, Foobara::CommandPatternImplementation::Concerns::Reflection, Foobara::CommandPatternImplementation::Concerns::Result, Foobara::CommandPatternImplementation::Concerns::ResultType, Foobara::CommandPatternImplementation::Concerns::Runtime, Foobara::CommandPatternImplementation::Concerns::Subcommands, Foobara::CommandPatternImplementation::Concerns::Transactions, DetachedEntity::Concerns::Aliases, DetachedEntity::Concerns::Associations, DetachedEntity::Concerns::Equality, DetachedEntity::Concerns::PrimaryKey, DetachedEntity::Concerns::Reflection, DetachedEntity::Concerns::Serialize, DetachedEntity::Concerns::Types, Domain::DomainModuleExtension, Domain::OrganizationModuleExtension, DomainMapperLookups, Entity::Concerns::Attributes, Entity::Concerns::Callbacks, Entity::Concerns::Initialization, Entity::Concerns::Mutations, Entity::Concerns::Persistence, Entity::Concerns::Queries, Entity::Concerns::Transactions, Entity::Concerns::Types, Enumerated::Accessors, HttpApiCommand, HttpApiCommand::Concerns::Url, Manifestable, Model::Concerns::Aliases, Model::Concerns::Classes, Model::Concerns::Reflection, Model::Concerns::Types, ModelAttributeHelpers::Concerns::AttributeHelperAliases, ModelAttributeHelpers::Concerns::AttributeHelpers, Namespace::NamespaceHelpers::AutoRegisterInstances, Namespace::NamespaceHelpers::AutoRegisterSubclasses, Namespace::NamespaceHelpers::InstancesAreNamespaces, Namespace::NamespaceHelpers::ScopedDefaultNamespace, Namespace::NamespaceHelpers::SubclassesAreNamespaces, Persistence::EntityBase::Transaction::Concerns::TransactionTracking, StateMachine::Callbacks, StateMachine::Sugar, StateMachine::TransitionLog, StateMachine::Validations, TypeDeclarations::ErrorExtension, TypeDeclarations::WithRegistries, Types::Type::Concerns::Reflection
Defined in:
foobara-0.0.110/projects/concerns/src/concern.rb

Defined Under Namespace

Modules: IsConcern

Class Method Summary collapse

Class Method Details

.foobara_class_methods_module_for(klass) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'foobara-0.0.110/projects/concerns/src/concern.rb', line 78

def foobara_class_methods_module_for(klass)
  unless klass.name
    # :nocov:
    raise "This does not work with anonymous classes"
    # :nocov:
  end

  if klass.const_defined?(:ClassMethods, false)
    klass.const_get(:ClassMethods, false)
  else
    Util.make_module "#{klass.name}::ClassMethods"
  end
end

.foobara_concern?(mod) ⇒ Boolean

Returns:

  • (Boolean)


74
75
76
# File 'foobara-0.0.110/projects/concerns/src/concern.rb', line 74

def foobara_concern?(mod)
  mod.singleton_class < IsConcern
end

.included(concern) ⇒ Object



70
71
72
# File 'foobara-0.0.110/projects/concerns/src/concern.rb', line 70

def included(concern)
  concern.extend(IsConcern)
end