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]

Instance Method Summary collapse

Instance Method Details

#enum_args_accessor_methodObject



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

def enum_args_accessor_method
  @enum_args_accessor_method ||= :enum_args
end

#enum_args_default_argsObject



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

def enum_args_default_args
  @enum_args_default_args ||= []
end

#enum_args_default_usingObject



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

def enum_args_default_using
  @enum_args_default_using ||= {}
end

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

Raises:

  • (TypeError)


27
28
29
30
31
32
33
# File 'lib/enum_args/proxied_enumerable.rb', line 27

def enum_args_for(method, *args, using: {}, with_enum_args_as: :enum_args)
  @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
end

#enum_args_methodObject



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

def enum_args_method
  @enum_args_method ||= :iterator
end