Class: Penetration::Penetrator

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session) ⇒ Penetrator

Returns a new instance of Penetrator.



62
63
64
# File 'lib/penetration.rb', line 62

def initialize(session)
  @session = session
end

Class Method Details

.call(*args) ⇒ Object



57
58
59
# File 'lib/penetration.rb', line 57

def call(*args)
  new(*args)
end

Instance Method Details

#renderObject



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/penetration.rb', line 66

def render
  return '' if (elements = @session.delete(:rough_penetration)).nil?
  elements.map do |element|
    case element.first.to_sym
      when :raw
        element.last
      when :preset
        preset = Preset.find(element.last.shift) rescue next
        if preset.is_a?(Proc)
          element.last.present? ? preset.(*element.last) : preset.()
        else
          preset
        end
      else
        # do nothing
    end
  end.compact.join.html_safe
end