674: def value(param, environment = nil)
675: param = param.to_sym
676: environment &&= environment.to_sym
677:
678:
679: return nil unless @config.include?(param)
680:
681:
682:
683:
684:
685:
686:
687: if cached = @cache[environment||"none"][param]
688: return cached
689: end
690:
691: val = uninterpolated_value(param, environment)
692:
693: if param == :code
694:
695: return val
696: end
697:
698:
699: val = convert(val, environment)
700:
701:
702: @cache[environment||"none"][param] = val
703: val
704: end