class Tardef::Base
Attributes
extensions[RW]
Public Class Methods
new()
click to toggle source
# File lib/tardef/base.rb, line 48 def initialize @extensions = [] end
Public Instance Methods
add_extension(extension)
click to toggle source
# File lib/tardef/base.rb, line 7 def add_extension(extension) @extensions << extension end
load_hash(hash)
click to toggle source
# File lib/tardef/base.rb, line 30 def load_hash(hash) hash.each do |key, value| key = "@" + key if instance_variable_defined?(key) instance_variable_set(key, value) end end return unless @extensions extension_list = [] @extensions.each do |extension| ext = Extension.new(nil, nil) ext.load_hash(extension) extension_list << ext end @extensions = extension_list end
to_hash()
click to toggle source
# File lib/tardef/base.rb, line 11 def to_hash hash = {} # Add all instance variables instance_variables.each do |var| if not instance_variable_get(var) or instance_variable_get(var).empty? next end hash[var.to_s.delete("@")] = instance_variable_get(var) end # Tidy up the extensions by making them hashes return hash if not hash["extensions"] extensions = [] hash["extensions"].each do |extension| extensions << extension.to_hash end hash["extensions"] = extensions hash end