Class: Factbase::Inv::Fact

Inherits:
Object
  • Object
show all
Defined in:
lib/factbase/inv.rb

Overview

Fact decorator.

This is an internal class, it is not supposed to be instantiated directly.

Instance Method Summary collapse

Constructor Details

#initialize(fact, block) ⇒ Fact

Returns a new instance of Fact.



68
69
70
71
# File 'lib/factbase/inv.rb', line 68

def initialize(fact, block)
  @fact = fact
  @block = block
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args) ⇒ Object



77
78
79
80
81
# File 'lib/factbase/inv.rb', line 77

def method_missing(*args)
  k = args[0].to_s
  @block.call(k[0..-2], args[1]) if k.end_with?('=')
  @fact.method_missing(*args)
end

Instance Method Details

#respond_to?(_method, _include_private = false) ⇒ Boolean

rubocop:disable Style/OptionalBooleanParameter

Returns:

  • (Boolean)


84
85
86
87
# File 'lib/factbase/inv.rb', line 84

def respond_to?(_method, _include_private = false)
  # rubocop:enable Style/OptionalBooleanParameter
  true
end

#respond_to_missing?(_method, _include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/factbase/inv.rb', line 89

def respond_to_missing?(_method, _include_private = false)
  true
end

#to_sObject



73
74
75
# File 'lib/factbase/inv.rb', line 73

def to_s
  @fact.to_s
end