Module: Guise

Defined in:
lib/guise.rb,
lib/guise/errors.rb,
lib/guise/scopes.rb,
lib/guise/syntax.rb,
lib/guise/options.rb,
lib/guise/version.rb,
lib/guise/builders.rb,
lib/guise/registry.rb,
lib/guise/callbacks.rb,
lib/guise/introspection.rb

Defined Under Namespace

Modules: Introspection, Syntax Classes: AssociationCallback, Callback, DefinitionNotFound, DuplicateDefinition, GuiseForBuilder, GuiseForScope, GuiseOfScope, HasGuisesBuilder, HasGuisesScope, InvalidGuiseValue, Options, Registry, Scope, SourceCallback

Constant Summary collapse

DEFAULT_ASSOCIATION_NAME =
"guises"
DEFAULT_ATTRIBUTE_NAME =
"value"
VERSION =
"0.9.0"
@@registry =
Registry.new

Class Method Summary collapse

Class Method Details

.register_association(association_class, source_class_name, association_options) ⇒ Object



30
31
32
33
34
# File 'lib/guise.rb', line 30

def self.register_association(association_class, source_class_name, association_options)
  options = registry[source_class_name]

  GuiseForBuilder.new(association_class, options, association_options).build!
end

.register_source(source_class, *guises) ⇒ Object



23
24
25
26
27
28
# File 'lib/guise.rb', line 23

def self.register_source(source_class, *guises)
  options = Options.new(source_class, *guises)
  registry[source_class.name] = options

  HasGuisesBuilder.new(options).build!
end