Class: AzaharaSchema::ModelSchema
- Inherits:
-
Schema
- Object
- Schema
- AzaharaSchema::ModelSchema
show all
- Defined in:
- lib/azahara_schema/model_schema.rb
Instance Attribute Summary
Attributes inherited from Schema
#association, #default_scope, #enabled_outputs, #limit, #offset, #parent_schema, #search_query
Instance Method Summary
collapse
Methods inherited from Schema
#add_filter, #add_short_filter, #add_sort, #as_json, #association_path, attribute, #attribute, #attribute_for_column, attribute_for_column, attribute_type, #available_associations, #available_attributes, #available_attributes_hash, #available_columns, #available_filters, #build_json_options!, #column_names, #column_names=, #columns, #default_columns, #default_outputs, #default_sort, #disabled_filters, #enabled_filter_names, #enabled_filters, enabled_filters, #entities, #entity_as_json, #entity_count, #entity_scope, filter_operators, #filtered_scope, #filters, #from_params, #include_associated_attributes?, #initialize_available_attributes, #main_attribute_name, #nested_relations_depth, #operator_for, #operators_for, operators_for_filters, #outputs, schema_class_for, schema_for, #searchable_attributes, #sort, #to_param, #tokenize_search_query, #user_available_filters, #value_for
Constructor Details
Returns a new instance of ModelSchema.
4
5
6
7
|
# File 'lib/azahara_schema/model_schema.rb', line 4
def initialize(*attrs)
attributes = attrs.last.is_a?(Hash) ? attrs.pop : {}
super(attrs.first || model, attributes)
end
|
Instance Method Details
#always_visible_filters ⇒ Object
17
18
19
|
# File 'lib/azahara_schema/model_schema.rb', line 17
def always_visible_filters
[]
end
|
#base_scope ⇒ Object
29
30
31
|
# File 'lib/azahara_schema/model_schema.rb', line 29
def base_scope
@base_scope || super
end
|
#collapsable_filters ⇒ Object
38
39
40
|
# File 'lib/azahara_schema/model_schema.rb', line 38
def collapsable_filters
user_available_filters.select{|name, filter| !always_visible_filters.include?(name) }
end
|
#csv_template ⇒ Object
13
14
15
|
# File 'lib/azahara_schema/model_schema.rb', line 13
def csv_template
export_template
end
|
#export_template ⇒ Object
9
10
11
|
# File 'lib/azahara_schema/model_schema.rb', line 9
def export_template
'azahara_schema/exports/common'
end
|
#model ⇒ Object
21
22
23
|
# File 'lib/azahara_schema/model_schema.rb', line 21
def model
@model ||= self.class.name.sub(/Schema/, '').constantize
end
|
#to_partial_path ⇒ Object
43
44
45
|
# File 'lib/azahara_schema/model_schema.rb', line 43
def to_partial_path
'azahara_schema/schema'
end
|
#uncollapsable_filters ⇒ Object
dummy implementations for rewrite
34
35
36
|
# File 'lib/azahara_schema/model_schema.rb', line 34
def uncollapsable_filters
user_available_filters.select{|name, filter| always_visible_filters.include?(name) }
end
|
#visibility_scope!(ability, authorization_action = :index) ⇒ Object
25
26
27
|
# File 'lib/azahara_schema/model_schema.rb', line 25
def visibility_scope!(ability, authorization_action=:index)
@base_scope = base_scope.accessible_by(ability, authorization_action)
end
|