active_spy 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/VERSION +1 -1
 - data/active_spy.gemspec +3 -3
 - data/lib/active_spy.rb +18 -6
 - data/lib/active_spy/configuration.rb +11 -1
 - data/lib/active_spy/rails/base.rb +8 -5
 - data/lib/active_spy/rails/hook_list.rb +19 -5
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b772783c7223609dd9f30011750e648df6cacaa4
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 1a48f5c50c9e6dd0e5893d4ca0d3f12f4e903797
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 10005804eb6e8a930ef896ab6ba1f2aa9d0a960c1a0ffe9c5a72db2a209fbfb2ad635b75dcd06842f80badba0b49c75a6a11930364403d4530a2feebd11c0183
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 16fe6441aef9ba8b33bfa8e400e099bfee05ce3e27a1ae0a334081c187371ace67a4618fcf2a861e46ec875daab532ec7365ec15312818e59aa17d3d28cc919b
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            1.4. 
     | 
| 
      
 1 
     | 
    
         
            +
            1.4.2
         
     | 
    
        data/active_spy.gemspec
    CHANGED
    
    | 
         @@ -2,16 +2,16 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            # DO NOT EDIT THIS FILE DIRECTLY
         
     | 
| 
       3 
3 
     | 
    
         
             
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         
     | 
| 
       4 
4 
     | 
    
         
             
            # -*- encoding: utf-8 -*-
         
     | 
| 
       5 
     | 
    
         
            -
            # stub: active_spy 1.4. 
     | 
| 
      
 5 
     | 
    
         
            +
            # stub: active_spy 1.4.2 ruby lib
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       8 
8 
     | 
    
         
             
              s.name = "active_spy"
         
     | 
| 
       9 
     | 
    
         
            -
              s.version = "1.4. 
     | 
| 
      
 9 
     | 
    
         
            +
              s.version = "1.4.2"
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       12 
12 
     | 
    
         
             
              s.require_paths = ["lib"]
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.authors = ["Douglas Camata"]
         
     | 
| 
       14 
     | 
    
         
            -
              s.date = "2015-05- 
     | 
| 
      
 14 
     | 
    
         
            +
              s.date = "2015-05-29"
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.description = "    Watch for a method call in any class and run before/after callbacks.\n    You can even watch your Rails models for events (like create, update,\n    destroy), send these events to a event-runner instance and it redirect these\n    events to other apps that are subscrived for them. This gem also provides\n    classes that you can use to process the received events too.\n"
         
     | 
| 
       16 
16 
     | 
    
         
             
              s.email = "d.camata@gmail.com"
         
     | 
| 
       17 
17 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
    
        data/lib/active_spy.rb
    CHANGED
    
    | 
         @@ -31,13 +31,18 @@ module ActiveSpy 
     | 
|
| 
       31 
31 
     | 
    
         
             
                # Class method to register the service in an event-runner instance.
         
     | 
| 
       32 
32 
     | 
    
         
             
                #
         
     | 
| 
       33 
33 
     | 
    
         
             
                def self.register_service
         
     | 
| 
       34 
     | 
    
         
            -
                  host 
     | 
| 
       35 
     | 
    
         
            -
                  port 
     | 
| 
       36 
     | 
    
         
            -
                   
     | 
| 
      
 34 
     | 
    
         
            +
                  host        = ActiveSpy::Configuration.event_host
         
     | 
| 
      
 35 
     | 
    
         
            +
                  port        = ActiveSpy::Configuration.event_port
         
     | 
| 
      
 36 
     | 
    
         
            +
                  verify_ssl  = ActiveSpy::Configuration.event_verify_ssl
         
     | 
| 
      
 37 
     | 
    
         
            +
                  @base_url   = "#{host}:#{port}/services"
         
     | 
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
                  return if self.service_registered?
         
     | 
| 
       39 
40 
     | 
    
         
             
                  service = { service: ActiveSpy::Configuration.settings }.to_json
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  params = { content_type: :json }
         
     | 
| 
      
 43 
     | 
    
         
            +
                  params[:verify_ssl] = verify_ssl if verify_ssl
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  RestClient.post(@base_url, service, params)
         
     | 
| 
       41 
46 
     | 
    
         
             
                end
         
     | 
| 
       42 
47 
     | 
    
         | 
| 
       43 
48 
     | 
    
         
             
                # @!method self.service_registered?
         
     | 
| 
         @@ -45,9 +50,16 @@ module ActiveSpy 
     | 
|
| 
       45 
50 
     | 
    
         
             
                # runner instance.
         
     | 
| 
       46 
51 
     | 
    
         
             
                #
         
     | 
| 
       47 
52 
     | 
    
         
             
                def self.service_registered?
         
     | 
| 
       48 
     | 
    
         
            -
                  name 
     | 
| 
      
 53 
     | 
    
         
            +
                  name        = ActiveSpy::Configuration.name
         
     | 
| 
      
 54 
     | 
    
         
            +
                  verify_ssl  = ActiveSpy::Configuration.event_verify_ssl
         
     | 
| 
      
 55 
     | 
    
         
            +
                  url         = "#{@base_url}/#{name.downcase.gsub(' ', '-').strip}"
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
       49 
57 
     | 
    
         
             
                  begin
         
     | 
| 
       50 
     | 
    
         
            -
                     
     | 
| 
      
 58 
     | 
    
         
            +
                    if verify_ssl
         
     | 
| 
      
 59 
     | 
    
         
            +
                      RestClient.get url, verify_ssl: verify_ssl
         
     | 
| 
      
 60 
     | 
    
         
            +
                    else
         
     | 
| 
      
 61 
     | 
    
         
            +
                      RestClient.get url
         
     | 
| 
      
 62 
     | 
    
         
            +
                    end
         
     | 
| 
       51 
63 
     | 
    
         
             
                  rescue RestClient::ResourceNotFound
         
     | 
| 
       52 
64 
     | 
    
         
             
                    return false
         
     | 
| 
       53 
65 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -43,6 +43,16 @@ module ActiveSpy 
     | 
|
| 
       43 
43 
     | 
    
         
             
                    @event_host
         
     | 
| 
       44 
44 
     | 
    
         
             
                  end
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
      
 46 
     | 
    
         
            +
                  # Set the default event-tunner verify_ssl mode
         
     | 
| 
      
 47 
     | 
    
         
            +
                  #
         
     | 
| 
      
 48 
     | 
    
         
            +
                  # @param [String] host to set
         
     | 
| 
      
 49 
     | 
    
         
            +
                  #
         
     | 
| 
      
 50 
     | 
    
         
            +
                  # @return [String] the host set
         
     | 
| 
      
 51 
     | 
    
         
            +
                  def event_verify_ssl(event_verify_ssl = nil)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    @event_verify_ssl = event_verify_ssl unless event_verify_ssl.nil?
         
     | 
| 
      
 53 
     | 
    
         
            +
                    @event_verify_ssl
         
     | 
| 
      
 54 
     | 
    
         
            +
                  end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
       46 
56 
     | 
    
         
             
                  # Set if the gem is in development mode or not.
         
     | 
| 
       47 
57 
     | 
    
         
             
                  #
         
     | 
| 
       48 
58 
     | 
    
         
             
                  # @param [Boolean] development moded state to set
         
     | 
| 
         @@ -89,7 +99,7 @@ module ActiveSpy 
     | 
|
| 
       89 
99 
     | 
    
         
             
                  #
         
     | 
| 
       90 
100 
     | 
    
         
             
                  # @return [Hash] actual event settings
         
     | 
| 
       91 
101 
     | 
    
         
             
                  def event_settings
         
     | 
| 
       92 
     | 
    
         
            -
                    { host: @event_host, port: @event_port }
         
     | 
| 
      
 102 
     | 
    
         
            +
                    { host: @event_host, port: @event_port, verify_ssl: @event_verify_ssl }
         
     | 
| 
       93 
103 
     | 
    
         
             
                  end
         
     | 
| 
       94 
104 
     | 
    
         
             
                end
         
     | 
| 
       95 
105 
     | 
    
         
             
              end
         
     | 
| 
         @@ -81,12 +81,15 @@ module ActiveSpy 
     | 
|
| 
       81 
81 
     | 
    
         
             
                  # Sends the event request to the configured event-runner instance.
         
     | 
| 
       82 
82 
     | 
    
         
             
                  #
         
     | 
| 
       83 
83 
     | 
    
         
             
                  def send_event_request
         
     | 
| 
       84 
     | 
    
         
            -
                    response 
     | 
| 
       85 
     | 
    
         
            -
                    host 
     | 
| 
       86 
     | 
    
         
            -
                    port 
     | 
| 
      
 84 
     | 
    
         
            +
                    response    = nil
         
     | 
| 
      
 85 
     | 
    
         
            +
                    host        = ActiveSpy::Configuration.event_host
         
     | 
| 
      
 86 
     | 
    
         
            +
                    port        = ActiveSpy::Configuration.event_port
         
     | 
| 
      
 87 
     | 
    
         
            +
                    verify_ssl  = ActiveSpy::Configuration.event_verify_ssl
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
                    params = { content_type: :json }
         
     | 
| 
      
 90 
     | 
    
         
            +
                    params[:verify_ssl] = verify_ssl if verify_ssl
         
     | 
| 
       87 
91 
     | 
    
         
             
                    begin
         
     | 
| 
       88 
     | 
    
         
            -
                      response = RestClient.post "#{host}:#{port}/events", @event_json,
         
     | 
| 
       89 
     | 
    
         
            -
                        content_type: :json
         
     | 
| 
      
 92 
     | 
    
         
            +
                      response = RestClient.post "#{host}:#{port}/events", @event_json, params
         
     | 
| 
       90 
93 
     | 
    
         
             
                    rescue => e
         
     | 
| 
       91 
94 
     | 
    
         
             
                      ::Rails.logger.info(e.response)
         
     | 
| 
       92 
95 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -16,8 +16,10 @@ module ActiveSpy 
     | 
|
| 
       16 
16 
     | 
    
         
             
                    host = ActiveSpy::Configuration.event_host
         
     | 
| 
       17 
17 
     | 
    
         
             
                    port = ActiveSpy::Configuration.event_port
         
     | 
| 
       18 
18 
     | 
    
         
             
                    name = ActiveSpy::Configuration.name.downcase.gsub(' ', '-').strip
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                    @verify_ssl       = ActiveSpy::Configuration.event_verify_ssl
         
     | 
| 
       19 
21 
     | 
    
         
             
                    @base_service_url = "#{host}:#{port}/services/#{name}"
         
     | 
| 
       20 
     | 
    
         
            -
                    @hooks 
     | 
| 
      
 22 
     | 
    
         
            +
                    @hooks            = []
         
     | 
| 
       21 
23 
     | 
    
         
             
                  end
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
25 
     | 
    
         
             
                  # Proxy all methods called in the {ActiveSpy::Hook} to
         
     | 
| 
         @@ -54,7 +56,13 @@ module ActiveSpy 
     | 
|
| 
       54 
56 
     | 
    
         
             
                  # Get the old hooks list for this service from the event-runner
         
     | 
| 
       55 
57 
     | 
    
         
             
                  #
         
     | 
| 
       56 
58 
     | 
    
         
             
                  def get_old_hooks
         
     | 
| 
       57 
     | 
    
         
            -
                     
     | 
| 
      
 59 
     | 
    
         
            +
                    request = if @verify_ssl
         
     | 
| 
      
 60 
     | 
    
         
            +
                      RestClient.get(@base_service_url, verify_ssl: @verify_ssl)
         
     | 
| 
      
 61 
     | 
    
         
            +
                    else
         
     | 
| 
      
 62 
     | 
    
         
            +
                      RestClient.get(@base_service_url)
         
     | 
| 
      
 63 
     | 
    
         
            +
                    end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                    JSON.load(request)['hooks']
         
     | 
| 
       58 
66 
     | 
    
         
             
                  end
         
     | 
| 
       59 
67 
     | 
    
         | 
| 
       60 
68 
     | 
    
         
             
                  # Select from old hooks those that should be deleted from event runner.
         
     | 
| 
         @@ -98,13 +106,20 @@ module ActiveSpy 
     | 
|
| 
       98 
106 
     | 
    
         
             
                  #
         
     | 
| 
       99 
107 
     | 
    
         
             
                  def delete_hooks(hooks_to_delete)
         
     | 
| 
       100 
108 
     | 
    
         
             
                    hooks_to_delete.each do |hook|
         
     | 
| 
       101 
     | 
    
         
            -
                       
     | 
| 
      
 109 
     | 
    
         
            +
                      if @verify_ssl
         
     | 
| 
      
 110 
     | 
    
         
            +
                        RestClient.delete "#{@base_service_url}/hooks/#{hook['id']}", verify_ssl: @verify_ssl
         
     | 
| 
      
 111 
     | 
    
         
            +
                      else
         
     | 
| 
      
 112 
     | 
    
         
            +
                        RestClient.delete "#{@base_service_url}/hooks/#{hook['id']}"
         
     | 
| 
      
 113 
     | 
    
         
            +
                      end
         
     | 
| 
       102 
114 
     | 
    
         
             
                    end
         
     | 
| 
       103 
115 
     | 
    
         
             
                  end
         
     | 
| 
       104 
116 
     | 
    
         | 
| 
       105 
117 
     | 
    
         
             
                  # # Properly creates the +hooks_to_add+ in the event runner.
         
     | 
| 
       106 
118 
     | 
    
         
             
                  #
         
     | 
| 
       107 
119 
     | 
    
         
             
                  def add_hooks(hooks_to_add)
         
     | 
| 
      
 120 
     | 
    
         
            +
                    params = { content_type: :json }
         
     | 
| 
      
 121 
     | 
    
         
            +
                    params[:verify_ssl] = @verify_ssl if @verify_ssl
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
       108 
123 
     | 
    
         
             
                    hooks_to_add.each do |hook|
         
     | 
| 
       109 
124 
     | 
    
         
             
                      hook = {
         
     | 
| 
       110 
125 
     | 
    
         
             
                        'hook' => {
         
     | 
| 
         @@ -112,8 +127,7 @@ module ActiveSpy 
     | 
|
| 
       112 
127 
     | 
    
         
             
                          'post_path' => ActiveSpy::Engine.routes.url_helpers.notifications_path(hook['post_class'].downcase),
         
     | 
| 
       113 
128 
     | 
    
         
             
                        }
         
     | 
| 
       114 
129 
     | 
    
         
             
                      }
         
     | 
| 
       115 
     | 
    
         
            -
                      RestClient.post "#{@base_service_url}/hooks", hook.to_json,
         
     | 
| 
       116 
     | 
    
         
            -
                        content_type: :json
         
     | 
| 
      
 130 
     | 
    
         
            +
                      RestClient.post "#{@base_service_url}/hooks", hook.to_json, params
         
     | 
| 
       117 
131 
     | 
    
         
             
                    end
         
     | 
| 
       118 
132 
     | 
    
         
             
                  end
         
     | 
| 
       119 
133 
     | 
    
         
             
                end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: active_spy
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.4. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.4.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Douglas Camata
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015-05- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-05-29 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activesupport
         
     |