diff options
Diffstat (limited to 'lib/oxidized/model/outputs.rb')
-rw-r--r-- | lib/oxidized/model/outputs.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/oxidized/model/outputs.rb b/lib/oxidized/model/outputs.rb new file mode 100644 index 0000000..5ef9bc4 --- /dev/null +++ b/lib/oxidized/model/outputs.rb @@ -0,0 +1,43 @@ +module Oxidized + class Model + class Outputs + + def to_cfg + type_to_str('cfg') + end + + def type_to_str want_type + type(want_type).map { |h| h[:output] }.join + end + + def each_type &block + types.each do |want_type| + yield [want_type, type(want_type)] + end + end + + def << output + @outputs << output + end + + def all + @outputs + end + + def type type + @outputs.select { |h| h[:type]==type } + end + + def types + @outputs.map { |h| h[:type] }.uniq + end + + private + + def initialize + @outputs = [] + end + + end + end +end |