def parameters
      data_fields = descriptors_fields.select{|field| field.scope == PARAMETER_FIELDS }
      Addressable::Template.new(retrieve(HREF_KEY)).variables.map do |template_variable_name|
        field_specified = data_fields.find{|field| field.name.to_s == template_variable_name.to_s}
        if field_specified
          field_specified
        else
          Field.new({template_variable_name.to_sym => {type: 'string', scope: 'href'}})
        end
      end
     # descriptors_fields.select{|field| field.scope == PARAMETER_FIELDS }
    end
def parameters
      data_fields = descriptors_fields.select{|field| field.scope == PARAMETER_FIELDS }
      Addressable::Template.new(retrieve(HREF_KEY)).variables.map do |template_variable_name|
        field_specified = data_fields.find{|field| field.name.to_s == template_variable_name.to_s}
        if field_specified
          field_specified
        else
          Field.new({template_variable_name.to_sym => {type: 'string', scope: 'href'}})
        end
      end
     # descriptors_fields.select{|field| field.scope == PARAMETER_FIELDS }
    end
The Parameters (i.e. GET variables)

 @return [Array] who's elements are all <Crichton:Field> objects
 Variables in the URI template rules this method, we are going to return a field for each of them
 if we find a field inside the 'data' of the document describing that variable, we use that information
 else we return a field with default information about a variable.