Class: JAXB2Ruby::RubyClass

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/jaxb2ruby/classes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, element, dependencies = nil, superclass = nil) ⇒ 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

#elementObject (readonly)

Returns the value of attribute element.



130
131
132
# File 'lib/jaxb2ruby/classes.rb', line 130

def element
  @element
end

#moduleObject (readonly)

Returns the value of attribute module.



127
128
129
# File 'lib/jaxb2ruby/classes.rb', line 127

def module
  @module
end

#outter_classObject (readonly)

Returns the value of attribute outter_class.



128
129
130
# File 'lib/jaxb2ruby/classes.rb', line 128

def outter_class
  @outter_class
end

#superclassObject (readonly)

Returns the value of attribute superclass.



129
130
131
# File 'lib/jaxb2ruby/classes.rb', line 129

def superclass
  @superclass
end

Instance Method Details

#directoryObject



157
158
159
# File 'lib/jaxb2ruby/classes.rb', line 157

def directory
  File.dirname(path)
end

#filenameObject



153
154
155
# File 'lib/jaxb2ruby/classes.rb', line 153

def filename
  "#{basename.underscore}.rb"
end

#pathObject

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

#requiresObject

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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy