class EventWatcherForGem

Public Class Methods

new(_event, _details) click to toggle source
# File lib/a-core.rb, line 2862
def initialize(_event, _details)
  @event=_event
  @details=_details
  enhance
  Arcadia.attach_listener(self, _event)
end

Public Instance Methods

enhance() click to toggle source
# File lib/a-core.rb, line 2868
def enhance
  implementation=%Q{
    class << self
      def #{_method_name(@event, 'before')}(_event)
        _event.break
        new_event = Arcadia.process_event(NeedRubyGemWizardEvent.new(self, @details))
        if new_event && new_event.results
          ok=new_event.results[0].installed
          _event.break if !ok
        end
      end
    end
  }
  eval(implementation)
end