Module: Airview

Defined in:
lib/airview.rb,
lib/airview/field.rb,
lib/airview/query.rb,
lib/airview/engine.rb,
lib/airview/version.rb,
lib/airview/resource.rb,
app/models/airview/view.rb,
lib/airview/configuration.rb,
lib/airview/model_discovery.rb,
lib/airview/resource_builder.rb,
lib/airview/schema_inference.rb,
app/models/airview/field_definition.rb,
app/models/airview/application_record.rb,
app/helpers/airview/application_helper.rb,
app/models/airview/resource_definition.rb,
app/controllers/airview/setup_controller.rb,
app/controllers/airview/views_controller.rb,
app/controllers/airview/resources_controller.rb,
app/controllers/airview/application_controller.rb,
lib/generators/airview/install/install_generator.rb,
sig/airview.rbs

Defined Under Namespace

Modules: ApplicationHelper, Generators Classes: ApplicationController, ApplicationRecord, Configuration, ConfigurationError, Engine, Error, Field, FieldDefinition, ModelDiscovery, Query, Resource, ResourceBuilder, ResourceDefinition, ResourcesController, SchemaInference, SetupController, UnknownResourceError, View, ViewsController

Constant Summary collapse

RECORD_LABEL_METHODS =
%i[
  name
  title
  email
  username
  display_name
  company_name
  label
].freeze
VERSION =

Returns:

  • (String)
"0.1.0"

Class Method Summary collapse

Class Method Details

.configurationConfiguration

Returns:



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

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ void

This method returns an undefined value.

Yields:

Yield Parameters:

Yield Returns:

  • (void)


39
40
41
# File 'lib/airview.rb', line 39

def configure
  yield(configuration)
end

.record_label(record, preferred_method = nil) ⇒ Object



57
58
59
60
61
62
63
64
65
# File 'lib/airview.rb', line 57

def record_label(record, preferred_method = nil)
  return "" unless record

  label = label_from_method(record, preferred_method)
  label ||= label_from_method(record, :full_name)
  label ||= label_from_full_name_parts(record)
  label ||= RECORD_LABEL_METHODS.lazy.filter_map { |method_name| label_from_method(record, method_name) }.first
  label.presence || "#{record.class.model_name.human} ##{record.id}"
end

.resource!(key) ⇒ Resource

Parameters:

  • key (Symbol, String)

Returns:



51
52
53
54
55
# File 'lib/airview.rb', line 51

def resource!(key)
  resources.fetch(key.to_sym) do
    raise UnknownResourceError, "Airview resource #{key.inspect} is not registered"
  end
end

.resourcesHash[Symbol, Resource]

Returns:



43
44
45
46
47
48
49
# File 'lib/airview.rb', line 43

def resources
  if defined?(Airview::ResourceDefinition) && database_resources_available?
    ResourceBuilder.enabled_resources
  else
    {}
  end
end