Sha256: 07a3886b4c7115c5b964e29d337d5b332e6a5fccf55b4bb1538d7326fa6f3275

Contents?: true

Size: 593 Bytes

Versions: 2

Compression:

Stored size: 593 Bytes

Contents

module Clamp
  class Parameter

    module Parsing

      protected
      
      def parse_parameters

        return false if self.class.parameters.empty?

        self.class.parameters.each do |parameter|
          begin
            value = parameter.consume(arguments)
            send("#{parameter.attribute_name}=", value)
          rescue ArgumentError => e
            signal_usage_error "parameter '#{parameter.name}': #{e.message}"
          end
        end

        unless arguments.empty?
          signal_usage_error "too many arguments"
        end

      end

    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clamp-0.1.0 lib/clamp/parameter/parsing.rb
clamp-0.0.9 lib/clamp/parameter/parsing.rb