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.



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/yiffspace/configuration.rb', line 45

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"
  @last_ip_addr_attribute = :last_ip_addr
  @anonymous_user_name    = -> { "Anonymous" }
end

Instance Attribute Details

#anonymous_user_getterObject

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



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

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

#anonymous_user_nameObject

The anonymous user’s name, can be a proc



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

def anonymous_user_name
  @anonymous_user_name
end

#current_classObject

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



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

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

#last_ip_addr_attributeObject

The ‘last_ip_addr` attribute of the User model, used by the UserResolvableMethods concern



32
33
34
# File 'lib/yiffspace/configuration.rb', line 32

def last_ip_addr_attribute
  @last_ip_addr_attribute
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.



80
81
82
# File 'lib/yiffspace/configuration.rb', line 80

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

#user_classObject



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

def user_class
  @user_class || ::User
end

#user_like_classObject



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

def user_like_class
  @user_like_class || Utils::UserLike
end

#user_resolvable_classObject



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

def user_resolvable_class
  @user_resolvable_class || Utils::UserResolvable
end

Instance Method Details

#add_auth(name) ⇒ Object



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

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

#auth(&block) ⇒ Object



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

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



107
108
109
# File 'lib/yiffspace/configuration.rb', line 107

def images
  @images ||= Images.new
end