I got a problem running the following codes:
class Environmental
def display
convert_yaml = YAML::load_file(‘nizam.yaml’)
pp convert_yaml[“System”][“Environmental”][“children”]
end
end
class EnergyManagement < Environmental
def display(nizam)
convert_yaml = YAML::load_file(‘nizam.yaml’)
@nizam = nizam
convert_yaml[“System”][“Environmental”][“children”][2][“children”]
<< @nizam
File.open("nizam_out.yaml", "w"){|f| YAML.dump(convert_yaml, f)}
end
end
class Efficiency <
Struct.new(:issue, :blank, :risk_opportunity, :compliance,
:consequence, :current_status, :due_date, :priority, :responsibility,
:probability)
a method to print out a csv record for the current Person.
def print_csv_record
#…few lines of codes here. Not relevant to the problem i think
#…few lines of codes here
def convert_ruby_struct
afiq = {“name”=>"#{blank}", #assume #{blank} is just a normal string
“type”=>“Objective”,
“subtype”=>“None”,
“components”=>
[{“type”=>“ContentBox”,
“title”=>“Audit”,
“args”=>{:content=>“None\n”}},
{“type”=>“ChildListingComponent”,
“title”=>“Current Targets for the #{blank} Objective:”}]}
pp afiq
e = EnergyManagement.new(afiq)
e.display
end
end
Then i got this error:
rb:18:in `display’: wrong number of arguments (0 for 1) (ArgumentError)
I know the problem is regarding on inserting ‘afiq’ into display method
under EnergyManagement class but do not know how to solve it. Anyone
knows how to transfer hash into another class?
I know im posting two different threads at the same time because i am
working with these two problems simultaneously. Sorry for this confusion
Nizam