Class: InsaneHook

Inherits:
Object
  • Object
show all
Includes:
Constants, Errors
Defined in:
lib/insane_hook.rb,
lib/insane_hook/errors.rb,
lib/insane_hook/version.rb,
lib/insane_hook/constants.rb,
lib/insane_hook/class_methods.rb

Defined Under Namespace

Modules: ClassMethods, Constants, Errors

Constant Summary collapse

VERSION =
"0.4.0"

Constants included from Constants

Constants::ARGS_VAR, Constants::NO_ARG, Constants::OPTIONAL_ARGS, Constants::REQUIRED_ARGS, Constants::RESULT_VAR

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object



9
10
11
12
# File 'lib/insane_hook.rb', line 9

def self.inherited(subclass)
  subclass.class_variable_set(ARGS_VAR, {REQUIRED_ARGS => [], OPTIONAL_ARGS => []})
  subclass.extend(InsaneHook::ClassMethods)
end

Instance Method Details

#result(value = NO_ARG) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/insane_hook.rb', line 14

def result(value=NO_ARG)
  if value == NO_ARG
    if instance_variable_defined?(RESULT_VAR)
      instance_variable_get(RESULT_VAR)
    else
      raise CommandNotRunError
    end
  else
    instance_variable_set(RESULT_VAR, value)
  end
end