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.



42
43
44
45
46
47
48
49
50
51
# File 'lib/yiffspace/configuration.rb', line 42

def initialize
  @max_multi_count       = -> { 100 }
  @redis_url             = -> {}
  @user_class            = nil
  @user_like_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.



71
72
73
# File 'lib/yiffspace/configuration.rb', line 71

def anonymous_user_getter
  @anonymous_user_getter ||= -> { user_class.anonymous }
end

#anonymous_user_nameObject

The anonymous user name



40
41
42
# File 'lib/yiffspace/configuration.rb', line 40

def anonymous_user_name
  @anonymous_user_name
end

#current_classObject

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



66
67
68
# File 'lib/yiffspace/configuration.rb', line 66

def current_class
  @current_class || Utils::Current
end

#default_ip_addressObject

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



29
30
31
# File 'lib/yiffspace/configuration.rb', line 29

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.



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

def system_user_getter
  @system_user_getter ||= -> { user_class.system }
end

#user_classObject



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

def user_class
  @user_class || ::User
end

#user_like_classObject



57
58
59
# File 'lib/yiffspace/configuration.rb', line 57

def user_like_class
  @user_like_class || Utils::UserLike
end

#user_resolvable_class=(value) ⇒ Object (writeonly)

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



22
23
24
# File 'lib/yiffspace/configuration.rb', line 22

def user_resolvable_class=(value)
  @user_resolvable_class = value
end

Instance Method Details

#add_auth(name) ⇒ Object



99
100
101
# File 'lib/yiffspace/configuration.rb', line 99

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

#auth(&block) ⇒ Object



92
93
94
95
96
97
# File 'lib/yiffspace/configuration.rb', line 92

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



103
104
105
# File 'lib/yiffspace/configuration.rb', line 103

def images
  @images ||= Images.new
end

#user_resolable_classObject



61
62
63
# File 'lib/yiffspace/configuration.rb', line 61

def user_resolable_class
  @user_resolvable_class || Utils::UserResolvable
end