Class: SlackBot::Args

Inherits:
Object
  • Object
show all
Defined in:
lib/slack_bot/args.rb,
sig/slack_bot.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(builder: ArgsBuilder, parser: ArgsParser) ⇒ Args

Returns a new instance of Args.

Parameters:

  • builder: (Class) (defaults to: ArgsBuilder)
  • parser: (Class) (defaults to: ArgsParser)


28
29
30
31
32
# File 'lib/slack_bot/args.rb', line 28

def initialize(builder: ArgsBuilder, parser: ArgsParser)
  @args = {}
  @builder = builder
  @parser = parser
end

Instance Attribute Details

#argsHash[String, untyped]

Returns the value of attribute args.

Returns:

  • (Hash[String, untyped])


27
28
29
# File 'lib/slack_bot/args.rb', line 27

def args
  @args
end

#raw_argsObject

Returns the value of attribute raw_args.



47
48
49
# File 'lib/slack_bot/args.rb', line 47

def raw_args
  @raw_args
end

Instance Method Details

#[](key) ⇒ Object

Parameters:

  • key (String)

Returns:

  • (Object)


34
35
36
# File 'lib/slack_bot/args.rb', line 34

def [](key)
  args[key]
end

#[]=(key, value) ⇒ void

This method returns an undefined value.

Parameters:

  • key (String)
  • value (Object)


38
39
40
# File 'lib/slack_bot/args.rb', line 38

def []=(key, value)
  args[key] = value
end

#except(*keys) ⇒ Args

Parameters:

  • keys (Symbol)

Returns:



59
60
61
62
63
# File 'lib/slack_bot/args.rb', line 59

def except(*keys)
  self.class.new.tap do |new_args|
    new_args.args = args.except(*keys)
  end
end

#merge(**other_args) ⇒ Args

Parameters:

  • other_args (Object)

Returns:



53
54
55
56
57
# File 'lib/slack_bot/args.rb', line 53

def merge(**other_args)
  self.class.new.tap do |new_args|
    new_args.args = args.merge(other_args)
  end
end

#to_sString

Returns:

  • (String)


49
50
51
# File 'lib/slack_bot/args.rb', line 49

def to_s
  @builder.new(args).call
end