Class: PublicActivity::Config

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/public_activity/config.rb

Overview

Class used to initialize configuration object.

Defined Under Namespace

Classes: Block

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.enabled(en = nil) ⇒ Object


73
74
75
76
77
78
79
80
# File 'lib/public_activity/config.rb', line 73

def self.enabled(en = nil)
  if en.nil?
    value = Thread.current[:public_activity_enabled]
    value.nil? ? true : value
  else
    Thread.current[:public_activity_enabled] = en
  end
end

.enabled=(en = nil) ⇒ Object

alias for #enabled

See Also:


34
35
36
# File 'lib/public_activity/config.rb', line 34

def self.enabled=(en = nil)
  enabled(en)
end

.orm(orm = nil) ⇒ Object

Set the ORM for use by PublicActivity.


57
58
59
60
61
62
63
# File 'lib/public_activity/config.rb', line 57

def self.orm(orm = nil)
  if orm.nil?
    Thread.current[:public_activity_orm] || :active_record
  else
    Thread.current[:public_activity_orm] = orm.to_sym
  end
end

.orm=(orm = nil) ⇒ Object

alias for #orm

See Also:


28
29
30
# File 'lib/public_activity/config.rb', line 28

def self.orm=(orm = nil)
  orm(orm)
end

.set(&block) ⇒ Object

Evaluates given block to provide DSL configuration.

Examples:

Initializer for Rails

PublicActivity::Config.set do
  orm :mongo_mapper
  enabled false
  table_name "activities"
end

17
18
19
20
21
22
23
24
# File 'lib/public_activity/config.rb', line 17

def self.set &block
  b = Block.new
  b.instance_eval(&block)
  instance
  orm(b.orm) unless b.orm.nil?
  enabled(b.enabled) unless b.enabled.nil?
  table_name(b.table_name) unless b.table_name.nil?
end

.table_name(name = nil) ⇒ Object


65
66
67
68
69
70
71
# File 'lib/public_activity/config.rb', line 65

def self.table_name(name = nil)
  if name.nil?
    Thread.current[:public_activity_table_name] || "activities"
  else
    Thread.current[:public_activity_table_name] = name
  end
end

Instance Method Details

#enabled(en = nil) ⇒ Object

instance version of #enabled

See Also:


52
53
54
# File 'lib/public_activity/config.rb', line 52

def enabled(en = nil)
  self.class.enabled(en)
end

#orm(orm = nil) ⇒ Object

instance version of #orm

See Also:


40
41
42
# File 'lib/public_activity/config.rb', line 40

def orm(orm=nil)
  self.class.orm(orm)
end

#table_name(name = nil) ⇒ Object

instance version of #table_name

See Also:


46
47
48
# File 'lib/public_activity/config.rb', line 46

def table_name(name = nil)
  self.class.table_name(name)
end