Module: Character

Defined in:
lib/character/engine.rb,
lib/character/version.rb,
lib/character/instance.rb,
lib/character/generators/bootstrap_generator.rb

Defined Under Namespace

Modules: AuthConcern, Generators, InstanceConcern, JsonObjectConcern, ModelClassConcern, ParamsConcern, TemplatesConcern Classes: ApiController, ApplicationController, Engine, Image, ImageUploader, Instance, Page, Post, PostAuthor, PostCategory, Redirect, SettingsController, User

Constant Summary collapse

VERSION =
'1.0.6'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.instancesObject



5
6
7
8
9
10
11
# File 'lib/character/engine.rb', line 5

def instances
  if @instances.blank?
    @instances = { Instance::DEFAULT_NAME => Instance.new }
  else
    @instances
  end
end

Class Method Details

.configure(&block) ⇒ Object



13
14
15
# File 'lib/character/engine.rb', line 13

def configure(&block)
  block.call(self)
end

.instance(name, &block) ⇒ Object

Raises:

  • (StandardError)


17
18
19
20
21
22
# File 'lib/character/engine.rb', line 17

def instance(name, &block)
  @custom_instance_name_used = true
  raise StandardError.new("Please don't mix character instance configuration & default character configuration.") if @default_instance_name_used

  block.call( @instances[name] ||= Instance.new(name) )
end

.method_missing(method, *args) ⇒ Object

Raises:

  • (StandardError)


24
25
26
27
28
29
# File 'lib/character/engine.rb', line 24

def method_missing(method, *args)
  @default_instance_name_used = true
  raise StandardError.new("Please don't mix character instance configuration & default character configuration.") if @custom_instance_name_used

  ( @instances[Instance::DEFAULT_NAME] ||= Instance.new ).send method, *args
end