# Include constants from one scope into another ( A::\* )

**URL:** <https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535>\
**Category:** Ruby\
**Created:** [December 29, 2008, 6:32pm UTC](https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535 "2008-12-29T18:32:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![axyd80](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/82dd89/32.png) [@axyd80](https://www.ruby-forum.com/u/axyd80)\
**Post date:** [December 29, 2008, 6:32pm UTC](https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535/1 "2008-12-29T18:32:34Z")

</div>

Hello! Is there a way to include constants from one class into another?  
Something like “include A::\*”?

SAMPLE:

```
class A
    class B; end
    class C; end
    class D; end
end

class E
    # include A::*
    B; C; D;
end
```

---

<div class="post-metadata">

**Author:** ![axyd80](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/82dd89/32.png) [@axyd80](https://www.ruby-forum.com/u/axyd80)\
**Post date:** [December 29, 2008, 7:17pm UTC](https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535/2 "2008-12-29T19:17:32Z")

</div>

2008/12/29 Alexey P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> class E  
> # include A::\*  
> B; C; D;  
> end

robert@fussel ~  
$ ruby \<\<EOF

> D=:🅰😃  
> end  
> p E::C.new  
> EOF  
> #\<A::C:0x1002ebc0\>

robert@fussel ~  
$

You can as well do something like this

class Module  
def import\_all(mod)  
mod.constants.each do |c|  
const\_set(c, mod.const\_get(c))  
end  
end  
end

irb(main):016:0\> class E  
irb(main):017:1\> import\_all A  
irb(main):018:1\> end  
=\> [“C”, “B”, “D”]  
irb(main):019:0\> E::B.new  
=\> #\<A:🅱0x7ff60548\>

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![axyd80](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/82dd89/32.png) [@axyd80](https://www.ruby-forum.com/u/axyd80)\
**Post date:** [December 29, 2008, 8:16pm UTC](https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535/3 "2008-12-29T20:16:32Z")

</div>

Thanks! 🙂

---

<div class="post-metadata">

**Author:** ![axyd80](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/82dd89/32.png) [@axyd80](https://www.ruby-forum.com/u/axyd80)\
**Post date:** [December 29, 2008, 7:25pm UTC](https://www.ruby-forum.com/t/include-constants-from-one-scope-into-another-a/156535/4 "2008-12-29T19:25:45Z")

</div>

On Dec 29, 3:32 pm, Alexey P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> class E
> # include A::*
> B; C; D;
> end
> 
> ```
> 
> –  
> Posted viahttp://www.ruby-forum.com/.

module Foo  
class A; end  
class B; end  
class C; end  
end

module Bar  
include Foo  
end

Bar::A.new

HTH,
