Class: Collada::Parser::Attribute

Inherits:
Object
  • Object
show all
Defined in:
lib/collada/parser/support.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(semantic, value) ⇒ Attribute

Returns a new instance of Attribute.



108
109
110
111
# File 'lib/collada/parser/support.rb', line 108

def initialize(semantic, value)
	@semantic = semantic
	@value = value
end

Instance Attribute Details

#semanticObject (readonly)

Returns the value of attribute semantic.



113
114
115
# File 'lib/collada/parser/support.rb', line 113

def semantic
  @semantic
end

#valueObject (readonly)

Returns the value of attribute value.



114
115
116
# File 'lib/collada/parser/support.rb', line 114

def value
  @value
end

Class Method Details

.flatten(attributes) ⇒ Object



144
145
146
# File 'lib/collada/parser/support.rb', line 144

def self.flatten(attributes)
	attributes.collect{|attribute| attribute.flatten}.flatten
end

.merge(attributes) ⇒ Object



152
153
154
# File 'lib/collada/parser/support.rb', line 152

def self.merge(attributes)
	attributes.collect{|attribute| attribute.value}.inject(:merge)
end

.method_missing(method, *args) ⇒ Object



128
129
130
131
132
133
134
# File 'lib/collada/parser/support.rb', line 128

def self.method_missing(method, *args)
	if args.size == 1 && Hash === args[0]
		new(method, args[0])
	else
		new(method, args)
	end
end

.to_hash(attributes) ⇒ Object



148
149
150
# File 'lib/collada/parser/support.rb', line 148

def self.to_hash(attributes)
	Hash[attributes.collect{|attribute| [attribute.semantic, attribute.value]}]
end

Instance Method Details

#==(other) ⇒ Object



120
121
122
# File 'lib/collada/parser/support.rb', line 120

def == other
	@value == other.value
end

#[](key) ⇒ Object



116
117
118
# File 'lib/collada/parser/support.rb', line 116

def [] key
	@value[key]
end

#flattenObject



136
137
138
139
140
141
142
# File 'lib/collada/parser/support.rb', line 136

def flatten
	if Array === @value
		@value.collect{|attribute| attribute.flatten}
	else
		self
	end
end

#inspectObject



124
125
126
# File 'lib/collada/parser/support.rb', line 124

def inspect
	"Attribute.#{@semantic}(#{@value.inspect})"
end