Class: Ree::ImportDsl::ConstantContext
- Defined in:
- lib/ree/dsl/import_dsl.rb
Class Method Summary collapse
- .&(obj) ⇒ Object
- .as(obj) ⇒ Object
- .const_missing(const_name) ⇒ Object
- .constants ⇒ Object
- .get_as ⇒ Object
- .has_context_ancestor?(obj) ⇒ Boolean
- .module_name ⇒ Object
- .name ⇒ Object
Class Method Details
.&(obj) ⇒ Object
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/ree/dsl/import_dsl.rb', line 124 def &(obj) if !obj.is_a?(Class) raise Ree::ImportDsl::UnlinkConstError.new(obj) end new_obj = if has_context_ancestor?(obj) obj else ConstantContextBuilder.get_context(obj.to_s.split("::").last) end return self if @constants.detect { |_| _.name == new_obj.name } @constants.push(new_obj) self end |
.as(obj) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/ree/dsl/import_dsl.rb', line 110 def as(obj) if !obj.is_a?(Class) raise Ree::ImportDsl::UnlinkConstError.new(obj) end @as = if has_context_ancestor?(obj) obj else ConstantContextBuilder.get_context(obj.to_s.split("::").last) end self end |
.const_missing(const_name) ⇒ Object
90 91 92 |
# File 'lib/ree/dsl/import_dsl.rb', line 90 def const_missing(const_name) ConstantContextBuilder.get_context(const_name, name) end |
.constants ⇒ Object
106 107 108 |
# File 'lib/ree/dsl/import_dsl.rb', line 106 def constants @constants end |
.get_as ⇒ Object
102 103 104 |
# File 'lib/ree/dsl/import_dsl.rb', line 102 def get_as @as end |
.has_context_ancestor?(obj) ⇒ Boolean
141 142 143 144 |
# File 'lib/ree/dsl/import_dsl.rb', line 141 def has_context_ancestor?(obj) return false unless obj.is_a?(Class) obj.ancestors.include?(ConstantContext) end |
.module_name ⇒ Object
98 99 100 |
# File 'lib/ree/dsl/import_dsl.rb', line 98 def module_name @module_name end |
.name ⇒ Object
94 95 96 |
# File 'lib/ree/dsl/import_dsl.rb', line 94 def name @name end |