Sha256: ac3eea9f2a2603006242f24e775d813a7a37b24906ad1bcab74bfd8cd13d83ba

Contents?: true

Size: 992 Bytes

Versions: 15

Compression:

Stored size: 992 Bytes

Contents

require_relative 'values'

module RakeFactory
  class ParameterView
    attr_reader(:task)

    def initialize(target, reader_class, writer_class, runtime_arguments)
      self.instance_eval do
        reader_class.parameter_set.each do |parameter|
          define_singleton_method parameter.reader_method do
            target.send(parameter.reader_method)
          end
        end
        writer_class.parameter_set.each do |parameter|
          if parameter.configurable?
            define_singleton_method parameter.writer_method do |value|
              if target.respond_to?(parameter.writer_method)
                target.send(
                    parameter.writer_method,
                    Values.resolve(value).append_argument(runtime_arguments))
              end
            end
          end
        end
      end
      self.class.instance_eval do
        define_singleton_method :parameter_set do
          reader_class.parameter_set
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
rake_factory-0.30.0.pre.5 lib/rake_factory/parameter_view.rb
rake_factory-0.30.0.pre.4 lib/rake_factory/parameter_view.rb
rake_factory-0.30.0.pre.3 lib/rake_factory/parameter_view.rb
rake_factory-0.30.0.pre.2 lib/rake_factory/parameter_view.rb
rake_factory-0.30.0.pre.1 lib/rake_factory/parameter_view.rb
rake_factory-0.29.0 lib/rake_factory/parameter_view.rb
rake_factory-0.28.0.pre.2 lib/rake_factory/parameter_view.rb
rake_factory-0.28.0.pre.1 lib/rake_factory/parameter_view.rb
rake_factory-0.27.0 lib/rake_factory/parameter_view.rb
rake_factory-0.26.0.pre.1 lib/rake_factory/parameter_view.rb
rake_factory-0.24.0.pre.2 lib/rake_factory/parameter_view.rb
rake_factory-0.25.0 lib/rake_factory/parameter_view.rb
rake_factory-0.24.0.pre.1 lib/rake_factory/parameter_view.rb
rake_factory-0.23.0 lib/rake_factory/parameter_view.rb
rake_factory-0.22.0.pre.1 lib/rake_factory/parameter_view.rb