Module: Ibrain

Defined in:
app/graphql/ibrain/loaders/association_loader.rb,
lib/ibrain/core.rb,
lib/ibrain/i18n.rb,
lib/ibrain/logger.rb,
lib/ibrain/encryptor.rb,
app/models/ibrain/role.rb,
lib/ibrain/core/engine.rb,
lib/ibrain/core/version.rb,
app/models/ibrain/ability.rb,
app/models/ibrain/aggregate.rb,
app/models/ibrain/role_user.rb,
lib/ibrain/core/environment.rb,
app/graphql/ibrain/lazy/base.rb,
lib/ibrain/app_configuration.rb,
lib/ibrain/user_class_handle.rb,
app/models/ibrain/legacy_user.rb,
app/graphql/ibrain/base_schema.rb,
lib/ibrain/core/versioned_value.rb,
lib/ibrain/permission_sets/base.rb,
lib/ibrain/permitted_attributes.rb,
lib/ibrain/core/validators/email.rb,
lib/ibrain/preferences/preferable.rb,
app/graphql/ibrain/types/base_edge.rb,
app/graphql/ibrain/types/base_enum.rb,
app/graphql/ibrain/types/base_type.rb,
app/graphql/ibrain/types/node_type.rb,
app/services/ibrain/mailer_service.rb,
lib/generators/ibrain/graphql/core.rb,
lib/ibrain/core/class_constantizer.rb,
lib/ibrain/core/role_configuration.rb,
app/graphql/ibrain/extentions/roles.rb,
app/graphql/ibrain/types/base_field.rb,
app/graphql/ibrain/types/base_union.rb,
app/graphql/ibrain/types/base_object.rb,
app/graphql/ibrain/types/base_scalar.rb,
app/graphql/ibrain/types/filter_type.rb,
app/models/ibrain/application_record.rb,
lib/ibrain/core/environment_extension.rb,
lib/ibrain/permission_sets/super_user.rb,
app/controllers/ibrain/base_controller.rb,
app/graphql/ibrain/types/base_api_edge.rb,
app/graphql/ibrain/types/base_argument.rb,
app/graphql/ibrain/util/field_combiner.rb,
app/graphql/ibrain/util/query_combiner.rb,
app/graphql/ibrain/loaders/count_loader.rb,
app/graphql/ibrain/policies/base_policy.rb,
app/graphql/ibrain/types/aggregate_type.rb,
app/graphql/ibrain/types/attribute_type.rb,
app/graphql/ibrain/types/base_api_field.rb,
app/graphql/ibrain/types/base_interface.rb,
app/models/concerns/ibrain/user_methods.rb,
app/repositories/ibrain/base_repository.rb,
lib/ibrain/core/controller_helpers/auth.rb,
app/graphql/ibrain/types/base_api_object.rb,
app/graphql/ibrain/types/base_connection.rb,
app/models/concerns/ibrain/soft_deletable.rb,
app/graphql/ibrain/mutations/base_mutation.rb,
app/graphql/ibrain/policies/graphql_policy.rb,
app/graphql/ibrain/resolvers/base_resolver.rb,
app/graphql/ibrain/types/base_input_object.rb,
lib/generators/ibrain/core/model_generator.rb,
app/graphql/ibrain/extentions/default_value.rb,
app/graphql/ibrain/resolvers/base_aggregate.rb,
lib/ibrain/core/controller_helpers/response.rb,
app/graphql/ibrain/types/base_api_connection.rb,
lib/generators/ibrain/graphql/type_generator.rb,
app/graphql/ibrain/extentions/active_required.rb,
app/controllers/ibrain/core/graphql_controller.rb,
app/graphql/ibrain/extentions/session_required.rb,
lib/generators/ibrain/graphql/object_generator.rb,
lib/generators/ibrain/install/install_generator.rb,
lib/ibrain/core/controller_helpers/current_host.rb,
app/graphql/ibrain/extentions/authorize_required.rb,
lib/generators/ibrain/graphql/mutation_generator.rb,
lib/generators/ibrain/graphql/resolver_generator.rb,
lib/generators/ibrain/graphql/resolvers_generator.rb,
app/models/concerns/ibrain/user_api_authentication.rb,
app/graphql/ibrain/loaders/association_count_loader.rb,
lib/ibrain/core/controller_helpers/strong_parameters.rb

Overview

Defined Under Namespace

Modules: Core, Extentions, Graphql, Lazy, Loaders, Mutations, PermissionSets, PermittedAttributes, Policies, Preferences, RansackableAttributes, Resolvers, SoftDeletable, Types, UserApiAuthentication, UserMethods, Util Classes: Ability, Aggregate, AppConfiguration, ApplicationRecord, Base, BaseController, BaseRepository, BaseSchema, EmailValidator, Encryptor, InstallGenerator, LegacyUser, LogQueryDepth, Logger, MailerService, Role, RoleConfiguration, RoleUser, UserClassHandle

Constant Summary collapse

I18N_GENERIC_PLURAL =

This value is used as a count for the pluralization helpers related to I18n ex: Ibrain::Order.model_name.human(count: Ibrain::I18N_GENERIC_PLURAL) Related to Ibrain issue #1164, this is needed to avoid problems with some pluralization calculators

2.1
Config =
Ibrain::AppConfiguration.new
VERSION =
"0.5.15"

Class Method Summary collapse

Class Method Details

.config {|Ibrain::Config| ... } ⇒ Object

Used to configure Ibrain.

Example:

Ibrain.config do |config|
  config.track_inventory_levels = false
end

This method is defined within the core gem on purpose. Some people may only wish to use the Core part of Ibrain.

Yields:



48
49
50
# File 'lib/ibrain/core.rb', line 48

def self.config(&_block)
  yield(Ibrain::Config)
end

.i18n_available_localesObject



6
7
8
9
10
# File 'lib/ibrain/i18n.rb', line 6

def self.i18n_available_locales
  I18n.available_locales.select do |locale|
    I18n.t('ibrain.i18n.this_file_language', locale: locale, fallback: false, default: nil)
  end
end

.ibrain_gem_versionObject



10
11
12
# File 'lib/ibrain/core/version.rb', line 10

def self.ibrain_gem_version
  Gem::Version.new(ibrain_version)
end

.ibrain_versionObject



6
7
8
# File 'lib/ibrain/core/version.rb', line 6

def self.ibrain_version
  VERSION
end

.load_defaults(version) ⇒ Object

Load the same version defaults for all available Ibrain components



33
34
35
36
# File 'lib/ibrain/core.rb', line 33

def self.load_defaults(version)
  Ibrain::Config.load_defaults(version)
  Ibrain::Api::Config.load_defaults(version) if defined?(Ibrain::Api::Config)
end

.user_classObject



21
22
23
24
25
26
27
28
# File 'lib/ibrain/core.rb', line 21

def self.user_class
  case @@user_class
  when Class
    raise "Ibrain.user_class MUST be a String or Symbol object, not a Class object."
  when String, Symbol
    @@user_class.to_s.constantize
  end
end