gridhook 0.1.3 → 0.1.4
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/app/controllers/gridhook/events_controller.rb +1 -1
 - data/lib/gridhook/event.rb +10 -3
 - data/lib/gridhook/version.rb +1 -1
 - data/test/gridlock/event_test.rb +10 -2
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: d791609c5397b321d7f9df288063a033f854dd23
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b6927324b781fafb331fbf19a806e14329f86095
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8acb4edbd86e175b7c6201eedc633e729283d7e963ae4c95dd896669b5cb9b49d659ace8e99ea86dc35f005d0553cb61b8ad8120aab019358a22af501f0ff1e3
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 221de705910f0162ec166c7597de9824ecf58ce86bebef3dbaea406d000cdbb649a8c4233ccfa52cd71b2fab372cb349651c4d88543f8016b5670dd1e7a331f8
         
     | 
    
        data/lib/gridhook/event.rb
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'active_support/core_ext/hash/except'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module Gridhook
         
     | 
| 
       2 
4 
     | 
    
         
             
              class Event
         
     | 
| 
       3 
5 
     | 
    
         | 
| 
         @@ -7,7 +9,7 @@ module Gridhook 
     | 
|
| 
       7 
9 
     | 
    
         
             
                # body - A String or stream for Yajl to parse
         
     | 
| 
       8 
10 
     | 
    
         
             
                #
         
     | 
| 
       9 
11 
     | 
    
         
             
                # Returns nothing.
         
     | 
| 
       10 
     | 
    
         
            -
                def self.process(body)
         
     | 
| 
      
 12 
     | 
    
         
            +
                def self.process(body, params = {})
         
     | 
| 
       11 
13 
     | 
    
         
             
                  parser = Yajl::Parser.new
         
     | 
| 
       12 
14 
     | 
    
         
             
                  parser.on_parse_complete = proc do |event|
         
     | 
| 
       13 
15 
     | 
    
         
             
                    if event.is_a?(Array)
         
     | 
| 
         @@ -16,7 +18,11 @@ module Gridhook 
     | 
|
| 
       16 
18 
     | 
    
         
             
                      process_event event
         
     | 
| 
       17 
19 
     | 
    
         
             
                    end
         
     | 
| 
       18 
20 
     | 
    
         
             
                  end
         
     | 
| 
       19 
     | 
    
         
            -
                   
     | 
| 
      
 21 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 22 
     | 
    
         
            +
                    parser.parse(body)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  rescue Yajl::ParseError
         
     | 
| 
      
 24 
     | 
    
         
            +
                    process_event params.except(:controller, :action)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  end
         
     | 
| 
       20 
26 
     | 
    
         
             
                end
         
     | 
| 
       21 
27 
     | 
    
         | 
| 
       22 
28 
     | 
    
         
             
                # The original Hash of attributes received from SendGrid.
         
     | 
| 
         @@ -31,10 +37,11 @@ module Gridhook 
     | 
|
| 
       31 
37 
     | 
    
         
             
                def name
         
     | 
| 
       32 
38 
     | 
    
         
             
                  attributes[:event]
         
     | 
| 
       33 
39 
     | 
    
         
             
                end
         
     | 
| 
      
 40 
     | 
    
         
            +
                alias event name
         
     | 
| 
       34 
41 
     | 
    
         | 
| 
       35 
42 
     | 
    
         
             
                # Returns a new Time object from the event timestamp.
         
     | 
| 
       36 
43 
     | 
    
         
             
                def timestamp
         
     | 
| 
       37 
     | 
    
         
            -
                  Time.at 
     | 
| 
      
 44 
     | 
    
         
            +
                  Time.at((attributes[:timestamp] || Time.now).to_i)
         
     | 
| 
       38 
45 
     | 
    
         
             
                end
         
     | 
| 
       39 
46 
     | 
    
         | 
| 
       40 
47 
     | 
    
         
             
                # A helper for accessing the original values sent from
         
     | 
    
        data/lib/gridhook/version.rb
    CHANGED
    
    
    
        data/test/gridlock/event_test.rb
    CHANGED
    
    | 
         @@ -37,10 +37,18 @@ class EventTest < TestCase 
     | 
|
| 
       37 
37 
     | 
    
         
             
                assert_equal 2, @events.size
         
     | 
| 
       38 
38 
     | 
    
         
             
              end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
      
 40 
     | 
    
         
            +
              test 'ensure we fallback to request parameters if invalid JSON found in body' do
         
     | 
| 
      
 41 
     | 
    
         
            +
                process('email=test@gmail.com&arg2=2&arg1=1&category=testing&event=processed',
         
     | 
| 
      
 42 
     | 
    
         
            +
                  { :email => 'test@gmail.com', :arg2 => '2', :arg1 => '1', :category => 'testing',
         
     | 
| 
      
 43 
     | 
    
         
            +
                    :event => 'processed', :controller => 'sendgrid', :action => 'receive'})
         
     | 
| 
      
 44 
     | 
    
         
            +
                assert_equal 1, @events.size
         
     | 
| 
      
 45 
     | 
    
         
            +
                assert_equal 'processed', @events.first.event
         
     | 
| 
      
 46 
     | 
    
         
            +
              end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       40 
48 
     | 
    
         
             
              private
         
     | 
| 
       41 
49 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
              def process(str)
         
     | 
| 
       43 
     | 
    
         
            -
                Gridhook::Event.process(str)
         
     | 
| 
      
 50 
     | 
    
         
            +
              def process(str, params = {})
         
     | 
| 
      
 51 
     | 
    
         
            +
                Gridhook::Event.process(str, params)
         
     | 
| 
       44 
52 
     | 
    
         
             
              end
         
     | 
| 
       45 
53 
     | 
    
         | 
| 
       46 
54 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: gridhook
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Lee Jarvis
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2013-03- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2013-03-11 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -159,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       159 
159 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       160 
160 
     | 
    
         
             
            requirements: []
         
     | 
| 
       161 
161 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       162 
     | 
    
         
            -
            rubygems_version: 2.0. 
     | 
| 
      
 162 
     | 
    
         
            +
            rubygems_version: 2.0.1
         
     | 
| 
       163 
163 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       164 
164 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       165 
165 
     | 
    
         
             
            summary: A SendGrid webhook endpoint
         
     |