Class: ProxES::Request

Inherits:
Rack::Request
  • Object
show all
Defined in:
lib/proxes/request.rb,
lib/proxes/request/cat.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/cat_policy.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

Cat, Root, Search, Snapshot, Stats

Defined Under Namespace

Classes: Cat, CatPolicy, 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.



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

def initialize(env)
  super
  parse
end

Class Method Details

.from_env(env) ⇒ Object



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

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
    new(env)
  end
end

Instance Method Details

#endpointObject



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

def endpoint
  path_parts[0]
end

#indices?Boolean

Returns:

  • (Boolean)


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

def indices?
  false
end

#parseObject



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

def parse
  path_parts
end