Merge pull request #35886 from okuramasafumi/add-docs-to-concern
Add documentations to concern methods [ci skip]
This commit is contained in:
commit
72842b3695
@ -110,7 +110,7 @@ def self.extended(base) #:nodoc:
|
|||||||
base.instance_variable_set(:@_dependencies, [])
|
base.instance_variable_set(:@_dependencies, [])
|
||||||
end
|
end
|
||||||
|
|
||||||
def append_features(base)
|
def append_features(base) #:nodoc:
|
||||||
if base.instance_variable_defined?(:@_dependencies)
|
if base.instance_variable_defined?(:@_dependencies)
|
||||||
base.instance_variable_get(:@_dependencies) << self
|
base.instance_variable_get(:@_dependencies) << self
|
||||||
false
|
false
|
||||||
@ -123,6 +123,9 @@ def append_features(base)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Evaluate given block in context of base class,
|
||||||
|
# so that you can write class macros here.
|
||||||
|
# When you define more than one +included+ block, it raises an exception.
|
||||||
def included(base = nil, &block)
|
def included(base = nil, &block)
|
||||||
if base.nil?
|
if base.nil?
|
||||||
if instance_variable_defined?(:@_included_block)
|
if instance_variable_defined?(:@_included_block)
|
||||||
@ -137,6 +140,26 @@ def included(base = nil, &block)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Define class methods from given block.
|
||||||
|
# You can define private class methods as well.
|
||||||
|
#
|
||||||
|
# module Example
|
||||||
|
# extend ActiveSupport::Concern
|
||||||
|
#
|
||||||
|
# class_methods do
|
||||||
|
# def foo; puts 'foo'; end
|
||||||
|
#
|
||||||
|
# private
|
||||||
|
# def bar; puts 'bar'; end
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# class Buzz
|
||||||
|
# include Example
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# Buzz.foo # => "foo"
|
||||||
|
# Buzz.bar # => private method 'bar' called for Buzz:Class(NoMethodError)
|
||||||
def class_methods(&class_methods_module_definition)
|
def class_methods(&class_methods_module_definition)
|
||||||
mod = const_defined?(:ClassMethods, false) ?
|
mod = const_defined?(:ClassMethods, false) ?
|
||||||
const_get(:ClassMethods) :
|
const_get(:ClassMethods) :
|
||||||
|
Loading…
Reference in New Issue
Block a user