Module: FastAPIExtension::ClassMethods

Defined in:
lib/fastapi/active_record_extension.rb

Instance Method Summary collapse

Instance Method Details

#fastapiObject



69
70
71
# File 'lib/fastapi/active_record_extension.rb', line 69

def fastapi
  FastAPI.new(self)
end

#fastapi_custom_orderObject



49
50
51
# File 'lib/fastapi/active_record_extension.rb', line 49

def fastapi_custom_order
  @fastapi_custom_order or {}
end

#fastapi_default_filters(filters) ⇒ Hash

Used to set any default filters for the top level fastapi response

Parameters:

  • filters (Hash)

    a hash containing the intended filters

Returns:

  • (Hash)

    the same filters hash



37
38
39
# File 'lib/fastapi/active_record_extension.rb', line 37

def fastapi_default_filters(filters)
  @fastapi_filters = filters
end

#fastapi_define_order(keys) ⇒ Hash

Define custom ORDER BY strings for specific keys

Parameters:

  • keys (Hash)

    a hash containing the keys: strings for order filters

Returns:

  • (Hash)

    the same keys hash



45
46
47
# File 'lib/fastapi/active_record_extension.rb', line 45

def fastapi_define_order(keys)
  @fastapi_custom_order = keys
end

#fastapi_fieldsObject



53
54
55
# File 'lib/fastapi/active_record_extension.rb', line 53

def fastapi_fields
  @fastapi_fields or [:id]
end

#fastapi_fields_subObject



57
58
59
# File 'lib/fastapi/active_record_extension.rb', line 57

def fastapi_fields_sub
  @fastapi_fields_sub or [:id]
end

#fastapi_fields_whitelistObject



61
62
63
# File 'lib/fastapi/active_record_extension.rb', line 61

def fastapi_fields_whitelist
  @fastapi_fields_whitelist or @fastapi_fields or [:id]
end

#fastapi_filtersObject



65
66
67
# File 'lib/fastapi/active_record_extension.rb', line 65

def fastapi_filters
  @fastapi_filters or {}
end

#fastapi_safe_fields(fields) ⇒ Array

Set safe fields for FastAPIInstance.safe_filter

Parameters:

  • fields (Array)

    a list of fields in the form of symbols

Returns:

  • (Array)

    the same array of fields



29
30
31
# File 'lib/fastapi/active_record_extension.rb', line 29

def fastapi_safe_fields(fields)
  @fastapi_fields_whitelist = fields
end

#fastapi_standard_interface(fields) ⇒ Array

Used to set the standard interface for the top level of a fastapi response

Parameters:

  • fields (Array)

    a list of fields in the form of symbols

Returns:

  • (Array)

    the same array of fields



13
14
15
# File 'lib/fastapi/active_record_extension.rb', line 13

def fastapi_standard_interface(fields)
  @fastapi_fields = fields
end

#fastapi_standard_interface_nested(fields) ⇒ Array

Used to set the standard interface for the second level of a fastapi response (nested)

Parameters:

  • fields (Array)

    a list of fields in the form of symbols

Returns:

  • (Array)

    the same array of fields



21
22
23
# File 'lib/fastapi/active_record_extension.rb', line 21

def fastapi_standard_interface_nested(fields)
  @fastapi_fields_sub = fields
end