Class: Fetch::FormData

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/fetch/form_data.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFormData

Returns a new instance of FormData.



21
22
23
# File 'lib/fetch/form_data.rb', line 21

def initialize
  @entries = []
end

Instance Attribute Details

#entriesObject (readonly)

Returns the value of attribute entries.



25
26
27
# File 'lib/fetch/form_data.rb', line 25

def entries
  @entries
end

Class Method Details

.build(enumerable) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/fetch/form_data.rb', line 11

def self.build(enumerable)
  data = FormData.new

  enumerable.each do |k, v|
    data.append k, v
  end

  data
end

Instance Method Details

#append(key, value) ⇒ Object



27
28
29
# File 'lib/fetch/form_data.rb', line 27

def append(key, value)
  @entries.push [key.to_s, File === value ? value : value.to_s]
end

#delete(key) ⇒ Object



31
32
33
# File 'lib/fetch/form_data.rb', line 31

def delete(key)
  @entries.reject! {|k,| k == key.to_s }
end

#get(key) ⇒ Object



35
36
37
# File 'lib/fetch/form_data.rb', line 35

def get(key)
  @entries.assoc(key.to_s)&.last
end

#get_all(key) ⇒ Object



39
40
41
# File 'lib/fetch/form_data.rb', line 39

def get_all(key)
  @entries.select {|k,| k == key.to_s }.map(&:last)
end

#has(key) ⇒ Object



43
44
45
# File 'lib/fetch/form_data.rb', line 43

def has(key)
  @entries.any? {|k,| k == key.to_s }
end

#keysObject



47
48
49
# File 'lib/fetch/form_data.rb', line 47

def keys
  @entries.map(&:first)
end

#set(key, value) ⇒ Object



51
52
53
54
# File 'lib/fetch/form_data.rb', line 51

def set(key, value)
  delete key
  append key, value
end

#valuesObject



56
57
58
# File 'lib/fetch/form_data.rb', line 56

def values
  @entries.map(&:last)
end