Class: Auditing::Request

Inherits:
Object
  • Object
show all
Includes:
Mordor::Resource
Defined in:
lib/auditing/request.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_by_url(url, partial = false) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/auditing/request.rb', line 41

def self.find_by_url(url, partial = false)
  if partial
    Mordor::Collection.new(self, self.collection.find(:url => /.*#{url}.*/))
  else
    Mordor::Collection.new(self, self.collection.find(:url => url))
  end
end

.find_by_url_parts(params = {}, options = {}) ⇒ Object



49
50
51
52
53
54
55
56
57
58
# File 'lib/auditing/request.rb', line 49

def self.find_by_url_parts(params = {}, options = {})
  query = {}
  if parts_value = params.delete(:value)
    query = params_to_query_params(parts_value).merge(params)
  else
    query = params_to_query_params(params)
  end
  col = perform_collection_find(query, options)
  Mordor::Collection.new(self, col)
end

Instance Method Details

#modificationsObject



19
20
21
# File 'lib/auditing/request.rb', line 19

def modifications
  Modification.find_by_request(_id.to_s)
end

#paramsObject



33
34
35
36
37
38
39
# File 'lib/auditing/request.rb', line 33

def params
  if @raw_params
    @params = replace_params(@raw_params)
    @raw_params = nil
  end
  @params
end

#params=(params) ⇒ Object



27
28
29
30
31
# File 'lib/auditing/request.rb', line 27

def params=(params)
  # replace_params is *really* slow when given huge requests.
  # Lazily call that method when needed to combat this.
  @raw_params = params
end

#url=(url) ⇒ Object



14
15
16
17
# File 'lib/auditing/request.rb', line 14

def url=(url)
  self.url_parts = url_to_parts(url)
  @url = url
end

#url_parts=(parts) ⇒ Object



23
24
25
# File 'lib/auditing/request.rb', line 23

def url_parts=(parts)
  @url_parts = self.replace_params(parts)
end