Method: Dao::Context#initialize

Defined in:
lib/dao/api/context.rb

#initialize(api, path, route, endpoint, params, *args) ⇒ Context

Returns a new instance of Context.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/dao/api/context.rb', line 22

def initialize(api, path, route, endpoint, params, *args)
  @api = api
  @path = path
  @route = route
  @endpoint = endpoint

  @params = Params.new
  @params.update(params)
  @params.path = @path
  @params.route = @route
  @form = @params.form

  @validator = Validator.new(@params)
  @validator.validations_search_path.unshift(@api.class)

  @validations = @validator.validations

  @params.validator = @validator
  @errors = @validator.errors
  @status = @validator.status

  @result = Result.new
  @result.path = @path
  @result.route = @route
  @result.status = @status
  @result.mode = @api.mode
  @result.params = @params
  @result.errors = @params.errors

  @data = @result.data

  @args = @endpoint.arity < 1 ? [@params, @result] : [@params, @result].slice(0, @endpoint.arity)
end