Sha256: b30d0af6e8bb4508bdfc41df234c87fcaaee97f63fa914f524c3e138474af407

Contents?: true

Size: 629 Bytes

Versions: 14

Compression:

Stored size: 629 Bytes

Contents

require 'absolute_renamer/use_config'

module AbsoluteRenamer
    # Class allowing childs listing.
    class WithChildren
        include AbsoluteRenamer::UseConfig

        @children = []
        class << self
            attr_reader :children

            # Inheritance callback.
            # When a class inherit from a WithChildren class, it is added to
            # the childs list of this class.
            # This list is available as the +children+ attribute.
            def inherited(by)
                @children << by
                by.instance_variable_set(:@children, [])
            end
        end
    end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
simonc-AbsoluteRenamer-0.9.2 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.1.0 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.0.4 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.0.3 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.0.2 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.0.1 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-1.0.0 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.10.0 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.10.1 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.9.2 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.9.1 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.9.0.2 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.9.0.1 lib/absolute_renamer/with_children.rb
AbsoluteRenamer-0.9.0 lib/absolute_renamer/with_children.rb