Class: Luruju::JudeMeta

Inherits:
Object
  • Object
show all
Defined in:
lib/luruju/jude_meta.rb

Defined Under Namespace

Classes: JudeInterface

Constant Summary collapse

@@instance =
new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeJudeMeta

Returns a new instance of JudeMeta.



7
# File 'lib/luruju/jude_meta.rb', line 7

def initialize() @interfaces = HashWithIndifferentAccess.new end

Instance Attribute Details

#interfacesObject

Returns the value of attribute interfaces.



13
14
15
# File 'lib/luruju/jude_meta.rb', line 13

def interfaces
  @interfaces
end

Class Method Details

.instanceObject



10
# File 'lib/luruju/jude_meta.rb', line 10

def self.instance() @@instance end

.instance=(instance) ⇒ Object



11
# File 'lib/luruju/jude_meta.rb', line 11

def self.instance=(instance) @@instance = instance end

.is_defined_for_luruju?(jude_if) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/luruju/jude_meta.rb', line 24

def self.is_defined_for_luruju? jude_if
  JudeApi.const_defined? "Jude#{jude_if.if_name rescue jude_if}Methods"
end

Instance Method Details

#create_jude_if(jude_if_name) ⇒ Object



17
18
19
20
21
22
# File 'lib/luruju/jude_meta.rb', line 17

def create_jude_if jude_if_name
  jude_if = JudeInterface.new
  jude_if.if_name = jude_if_name
  @interfaces[jude_if_name] = jude_if
  jude_if
end

#define_allObject



28
# File 'lib/luruju/jude_meta.rb', line 28

def define_all() @interfaces.each_value{|i| i.define_for_luruju unless JudeMeta.is_defined_for_luruju?(i)} end

#jude_class(jude_if_name) ⇒ Object



15
# File 'lib/luruju/jude_meta.rb', line 15

def jude_class(jude_if_name) JudeApi.module_eval "Jude#{jude_if_name}" end