Module: EnumArgs::ProxiedEnumerable::ClassMethods

Defined in:
lib/enum_args/proxied_enumerable.rb

Constant Summary collapse

METHODS =
[:enum_args_method, :enum_args_accessor_method,
:enum_args_default_args, :enum_args_default_using,
:enum_args_cache]

Instance Method Summary collapse

Instance Method Details

#enum_args_accessor_methodObject



16
17
18
# File 'lib/enum_args/proxied_enumerable.rb', line 16

def enum_args_accessor_method
  @enum_args_accessor_method ||= :enum_args
end

#enum_args_cacheObject



28
29
30
# File 'lib/enum_args/proxied_enumerable.rb', line 28

def enum_args_cache
  @enum_args_cache
end

#enum_args_default_argsObject



20
21
22
# File 'lib/enum_args/proxied_enumerable.rb', line 20

def enum_args_default_args
  @enum_args_default_args ||= []
end

#enum_args_default_usingObject



24
25
26
# File 'lib/enum_args/proxied_enumerable.rb', line 24

def enum_args_default_using
  @enum_args_default_using ||= {}
end

#enum_args_for(method, *args, using: {}, with_enum_args_as: :enum_args, cache: nil) ⇒ Object

Raises:

  • (TypeError)


32
33
34
35
36
37
38
39
# File 'lib/enum_args/proxied_enumerable.rb', line 32

def enum_args_for(method, *args, using: {}, with_enum_args_as: :enum_args, cache: nil)
  @enum_args_method = method
  @enum_args_default_args = args
  raise TypeError, "expected Hash, found #{using.class}" unless using.is_a? Hash
  @enum_args_default_using = using
  @enum_args_accessor_method = with_enum_args_as
  @enum_args_cache = cache
end

#enum_args_methodObject



12
13
14
# File 'lib/enum_args/proxied_enumerable.rb', line 12

def enum_args_method
  @enum_args_method ||= :iterator
end