Class: Postman::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/postman-ruby.rb

Defined Under Namespace

Classes: RequestDecorator

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Request

Returns a new instance of Request.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/postman-ruby.rb', line 64

def initialize(params)
  # @name
  # @description
  # @method
  # @url
  # @header
  # @body
  # @environment
  params.each do |k,v|
    instance_variable_set("@#{k}", v)
    self.class.send(:attr_reader, k.to_sym)
  end
  @method = @method.downcase.to_sym
  @url = URL.new(@url)
  @env = @environment
  if @header.nil?
    @header = {}
  else
    header = {}
    @header.each do |h|
      header[h['key']] = apply_env(h['value'])
    end
    @header = header
  end
end

Instance Method Details

#executeObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/postman-ruby.rb', line 98

def execute
  if @method == :get
    new_request(:get).execute
  else
    params = {}

    unless @body.nil? && @body.empty?
      if @body['mode'] == 'raw'
        params[:payload] = @body['raw']
      elsif @body['mode'] == 'formdata'
        f = {}
        @body['formdata'].each do |d|
          if d['enabled']
            if d['type'] == 'file'
              params[:multipart] = true
            end
            f[d['key']] = d['value'] || ""
          end
        end
        params[:payload] = f
      end
    end
    new_request(:post, params).execute
  end
end

#reset_env(env) ⇒ Object



94
95
96
# File 'lib/postman-ruby.rb', line 94

def reset_env(env)
  @env = env.clone
end

#set_env(env) ⇒ Object



90
91
92
# File 'lib/postman-ruby.rb', line 90

def set_env(env)
  env.each { |k, v| @env[k] = v }
end