Class: JAXB2Ruby::RubyClass
- Inherits:
-
Object
- Object
- JAXB2Ruby::RubyClass
- Extended by:
- Forwardable
- Defined in:
- lib/jaxb2ruby/classes.rb
Instance Attribute Summary collapse
-
#element ⇒ Object
readonly
Returns the value of attribute element.
-
#module ⇒ Object
readonly
Returns the value of attribute module.
-
#outter_class ⇒ Object
readonly
Returns the value of attribute outter_class.
-
#superclass ⇒ Object
readonly
Returns the value of attribute superclass.
Instance Method Summary collapse
- #directory ⇒ Object
- #filename ⇒ Object
-
#initialize(type, element, dependencies = nil, superclass = nil) ⇒ RubyClass
constructor
A new instance of RubyClass.
-
#path ⇒ Object
This class’s path, for passing to
require
. -
#requires ⇒ Object
Paths for all of this class’s dependencies, for passing to
require
.
Constructor Details
#initialize(type, element, dependencies = nil, superclass = nil) ⇒ RubyClass
Returns a new instance of RubyClass.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/jaxb2ruby/classes.rb', line 134 def initialize(type, element, dependencies = nil, superclass = nil) @type = type @element = element @dependencies = dependencies || [] @superclass = superclass @module = @type.module.dup unless @type.module.empty? @outter_class = @type.outter_class.dup unless @type.outter_class.empty? [@module, @outter_class].each do |v| v.extend Enumerable # v may be NilClass def v.each(&block) ( nil? ? [] : split(RUBY_PKG_SEP) ).each(&block) end end end |
Instance Attribute Details
#element ⇒ Object (readonly)
Returns the value of attribute element.
130 131 132 |
# File 'lib/jaxb2ruby/classes.rb', line 130 def element @element end |
#module ⇒ Object (readonly)
Returns the value of attribute module.
127 128 129 |
# File 'lib/jaxb2ruby/classes.rb', line 127 def module @module end |
#outter_class ⇒ Object (readonly)
Returns the value of attribute outter_class.
128 129 130 |
# File 'lib/jaxb2ruby/classes.rb', line 128 def outter_class @outter_class end |
#superclass ⇒ Object (readonly)
Returns the value of attribute superclass.
129 130 131 |
# File 'lib/jaxb2ruby/classes.rb', line 129 def superclass @superclass end |
Instance Method Details
#directory ⇒ Object
157 158 159 |
# File 'lib/jaxb2ruby/classes.rb', line 157 def directory File.dirname(path) end |
#filename ⇒ Object
153 154 155 |
# File 'lib/jaxb2ruby/classes.rb', line 153 def filename "#{basename.underscore}.rb" end |
#path ⇒ Object
This class’s path, for passing to require
. Foo::Bar::OneTwo
will be turned into foo/bar/one_two
.
164 165 166 |
# File 'lib/jaxb2ruby/classes.rb', line 164 def path @path ||= make_path(@module.to_a.concat(outter_class.to_a).push(filename)) end |
#requires ⇒ Object
Paths for all of this class’s dependencies, for passing to require
.
170 171 172 |
# File 'lib/jaxb2ruby/classes.rb', line 170 def requires @requires ||= @dependencies.map { |e| make_path(e.split(RUBY_PKG_SEP)) }.sort.uniq end |