Class: YiffSpace::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/yiffspace/configuration.rb,
lib/yiffspace/configuration/images.rb

Defined Under Namespace

Classes: Images

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



38
39
40
41
42
43
44
45
46
# File 'lib/yiffspace/configuration.rb', line 38

def initialize
  @max_multi_count       = -> { 100 }
  @redis_url             = -> {}
  @user_class            = nil
  @user_resolvable_class = nil
  @current_class         = nil
  @default_ip_address    = "127.0.0.1"
  @anonymous_user_name   = -> { "Anonymous" }
end

Instance Attribute Details

#anonymous_user_getterObject

Lazily built: calls user_class (or ::User) at invocation time, not config time.



54
55
56
# File 'lib/yiffspace/configuration.rb', line 54

def anonymous_user_getter
  @anonymous_user_getter ||= -> { (user_class || ::User).anonymous }
end

#anonymous_user_nameObject

The anonymous user name



36
37
38
# File 'lib/yiffspace/configuration.rb', line 36

def anonymous_user_name
  @anonymous_user_name
end

#current_classObject

Returns the configured current class, defaulting to YiffSpace::Utils::Current.



49
50
51
# File 'lib/yiffspace/configuration.rb', line 49

def current_class
  @current_class || Utils::Current
end

#default_ip_addressObject

The default IP address assigned to Utils::Current when none is present.



25
26
27
# File 'lib/yiffspace/configuration.rb', line 25

def default_ip_address
  @default_ip_address
end

#max_multi_countObject

Maximum number of comma-separated values allowed in a multi-value query parameter. Used by ParseValue.range and QueryBuilder.



7
8
9
# File 'lib/yiffspace/configuration.rb', line 7

def max_multi_count
  @max_multi_count
end

#redis_urlObject

Redis URL used by Utils::Cache for direct Redis connections.



10
11
12
# File 'lib/yiffspace/configuration.rb', line 10

def redis_url
  @redis_url
end

#system_user_getterObject

Lazily built: calls user_class (or ::User) at invocation time, not config time.



59
60
61
# File 'lib/yiffspace/configuration.rb', line 59

def system_user_getter
  @system_user_getter ||= -> { (user_class || ::User).system }
end

#user_classObject

The application’s User model class. Used by Utils::Current, Search::QueryDSL, etc. Falls back to ::User at call time when nil.



14
15
16
# File 'lib/yiffspace/configuration.rb', line 14

def user_class
  @user_class
end

#user_resolvable_classObject

The application’s UserResolvable class. Used by Utils::Current. Falls back to ::UserResolvable at call time when nil.



18
19
20
# File 'lib/yiffspace/configuration.rb', line 18

def user_resolvable_class
  @user_resolvable_class
end

Instance Method Details

#add_auth(name) ⇒ Object



82
83
84
# File 'lib/yiffspace/configuration.rb', line 82

def add_auth(name, &)
  YiffSpace::Auth.register(name, &)
end

#auth(&block) ⇒ Object



75
76
77
78
79
80
# File 'lib/yiffspace/configuration.rb', line 75

def auth(&block)
  client = YiffSpace::Auth.register(Auth::DEFAULT_CLIENT_NAME) unless YiffSpace::Auth.instance_variable_get(:@clients).key?(Auth::DEFAULT_CLIENT_NAME)
  client ||= YiffSpace::Auth[Auth::DEFAULT_CLIENT_NAME]
  block&.call(client)
  client
end

#imagesObject



86
87
88
# File 'lib/yiffspace/configuration.rb', line 86

def images
  @images ||= Images.new
end