Class: ProxES::Request

Inherits:
Rack::Request
  • Object
show all
Defined in:
lib/proxes/request.rb,
lib/proxes/request/root.rb,
lib/proxes/request/stats.rb,
lib/proxes/request/search.rb,
lib/proxes/request/snapshot.rb,
lib/proxes/policies/request/root_policy.rb,
lib/proxes/policies/request/stats_policy.rb,
lib/proxes/policies/request/search_policy.rb,
lib/proxes/policies/request/snapshot_policy.rb

Direct Known Subclasses

Root, Search, Snapshot, Stats

Defined Under Namespace

Classes: Root, RootPolicy, Search, SearchPolicy, Snapshot, SnapshotPolicy, Stats, StatsPolicy

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Request

Returns a new instance of Request.



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

def initialize(env)
  super
  parse
end

Class Method Details

.from_env(env) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/proxes/request.rb', line 6

def self.from_env(env)
  request = Rack::Request.new(env)
  splits = request.path.split('/')
  endpoint = if splits[1] && splits[1][0] == '_'
               splits[1][1..-1].titlecase
             else
               splits.count > 0 ? splits[-1][1..-1].titlecase : 'Root'
             end
  begin
    require 'proxes/request/' + endpoint.downcase
    Request.const_get(endpoint).new(env)
  rescue LoadError
    self.new(env)
  end
end

Instance Method Details

#endpointObject



27
28
29
# File 'lib/proxes/request.rb', line 27

def endpoint
  path_parts[0]
end

#indices?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/proxes/request.rb', line 35

def indices?
  false
end

#parseObject



31
32
33
# File 'lib/proxes/request.rb', line 31

def parse
  path_parts
end