Sha256: 8d4c1c5e034d471f3209cc306b02cb778d86bdfc81572f1b53eaa32c701ec876

Contents?: true

Size: 1.01 KB

Versions: 18

Compression:

Stored size: 1.01 KB

Contents

module Rake
  module Funnel
    module Support
      module ArgumentMapper
        module Styles
          class MSBuild
            attr_reader :prefix, :separator, :value_separator

            def initialize
              @prefix = '/'
              @separator = ':'
              @value_separator = '='
            end

            def generate_from(model)
              model.map { |switch|
                switch.values.flatten.map { |value|
                  top_level(switch) + nested(value)
                }
              }.flatten(1)
            end

            private
            def top_level(switch)
              [prefix, switch.switch]
            end

            def nested(value)
              res = []
              res << separator unless value.key.nil? && value.value.nil?
              res << value.key
              res << value_separator unless value.key.nil? || value.value.nil?
              res << value.value
              res.compact
            end
          end
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rake-funnel-0.18.0 lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.17.0 lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.16.1 lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.16.0 lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.15.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.14.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.13.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.12.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.11.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.10.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.9.1.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.9.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.8.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.7.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.6.1.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.6.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.5.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb
rake-funnel-0.4.0.pre lib/rake/funnel/support/argument_mapper/styles/msbuild.rb