zapier_ruby 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzcyMDhjZGM1ZTM0Zjk1MDlmMDNmZTZkNzBlMjE0MzQxODIwNGUxZg==
5
- data.tar.gz: !binary |-
6
- YmI4NjM1MDZmZTY2ZmQ4ZDZlNGI2NmFmZDQzYTk4YjQ2MDUwMzI2ZQ==
2
+ SHA1:
3
+ metadata.gz: 64ee8a52462c391b2ae4e762c1eb48142bde9a25
4
+ data.tar.gz: acad89ed413fd4c5d22424a634903643b14bcf87
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZDcyOTkxNDYyNzc4MWJmY2I2ZjlmZmY4MThiODM0OTkwZDhlZDAxNDI5ZDg3
10
- Yzk0ODY1NTQ5YWQyNjM0YmI1NzhjZTYyMWM4MjNkZjk0NGZkMDQyODljY2Iw
11
- ZjUwZWE3NmFjZGJlNGVjN2E2ZjE4MDU4NTBlZmMyMmZlM2U3ZWM=
12
- data.tar.gz: !binary |-
13
- Njc1NzNkZDQ1MDJlODRlNTczYjMwMDU2NjlmNzQ4ODZhMzk0Y2ZhYjFhZWM2
14
- YmIxNGQ0Yjg1YzJiNzM4NTM4YWE2MzUwNjAwMDQ4NTFkMGM5Y2U2NDlmYzQ0
15
- ODU0N2ZhNTFiMjU5YTg4NzkxNTZhODIyN2JlMzQ1ZWJkY2FlYzE=
6
+ metadata.gz: cc852fac149dc930ff418d65c5d93569fa7935073d1cf396a93b80377ad4183d6ef6809e25a1854e6f01df12af00484f7319b7c4af3491002519f12e84c4468e
7
+ data.tar.gz: ad2b35483dade455b2cda12b7db419b70b339cd0feffa6e3b6e9a045ff25ea21ec0a6b9237077e617e055f1ea9e1a7e3ddaadb0e1673e50a994caf27bbf79b5a
data/README.md CHANGED
@@ -25,7 +25,7 @@ Or install it yourself as:
25
25
  ### General Usage
26
26
  First, configure ZapierRuby. Pass a hash of each of your zap webhooks you would like to integrate, you can also change the uri we post to or disable logging. Next, Instantiate a Zapper for the webhook to hit. Then, use the `zap` method with hash of params and send it to the Zapier web hook. `zap` returns true if it is able to successfully post the zap.
27
27
 
28
- ```
28
+ ```ruby
29
29
  require 'rubygems'
30
30
  require 'zapier_ruby'
31
31
 
@@ -53,7 +53,7 @@ Each param you send can be used by Zapier, so include all of the information req
53
53
  ### Rails Usage
54
54
  If you are using ZapierRuby with Rails, I'd recommend using creating an initializer (ex. config/intializers/zapier_ruby.rb) and with the following:
55
55
 
56
- ```
56
+ ```ruby
57
57
  ZapierRuby.configure do |c|
58
58
  c.web_hooks = {example_zap: "zap_webhook_id"}
59
59
  end
@@ -62,7 +62,7 @@ end
62
62
  ### Command Line Usage ###
63
63
  To use this gem from the command line, you can leverage the `bin/zap` Ruby executable. In order to use this gem via command line, you must execute the gem in a folder which has a `.zapier_ruby.yml` file to configure your zaps. An example `.zapier_ruby.yml` file follows:
64
64
 
65
- ```
65
+ ```yaml
66
66
  web_hooks:
67
67
  :example_zap: "xxxxxx"
68
68
  enable_logging: false
@@ -78,7 +78,8 @@ Which will post {Message: "Hello, world"} to your web hook. The zap name must be
78
78
  #### Example Usage
79
79
 
80
80
  If you do not have email configured for you application, you could send an email via a Zap to notify a new user that their account has been created.
81
- ```
81
+
82
+ ```ruby
82
83
  class User < ActiveRecord::Base
83
84
  after_create :welcome_new_user
84
85
 
@@ -91,7 +92,7 @@ end
91
92
 
92
93
  ## Contributing
93
94
 
94
- 1. Fork it ( https://github.com/[my-github-username]/zapier_ruby/fork )
95
+ 1. Fork it ( https://github.com/pete2786/zapier_ruby/fork )
95
96
  2. Create your feature branch (`git checkout -b my-new-feature`)
96
97
  3. Commit your changes (`git commit -am 'Add some feature'`)
97
98
  4. Push to the branch (`git push origin my-new-feature`)
@@ -0,0 +1,4 @@
1
+ module ZapierRuby
2
+ class ZapierMisConfiguration < StandardError; end
3
+ class ZapierServerError < StandardError; end
4
+ end
@@ -1,3 +1,3 @@
1
1
  module ZapierRuby
2
- VERSION = "0.0.5"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -10,34 +10,27 @@ module ZapierRuby
10
10
 
11
11
  def zap(params={})
12
12
  unless zap_web_hook_id
13
- logger.error "No zap configured for #{zap_name}. Configured webhooks: #{config.web_hooks.to_s}"
14
- return false
13
+ raise ZapierMisConfiguration, "No zap configured for #{zap_name}. Configured webhooks: #{config.web_hooks.to_s}"
15
14
  end
16
15
 
17
- logger.info "Zapping #{zap_name} with params: #{params.to_s}"
16
+ logger.debug "Zapping #{zap_name} with params: #{params.to_s}"
18
17
  post_zap(params)
19
18
  end
20
19
 
20
+ private
21
+
21
22
  def post_zap(params)
22
- begin
23
- rest_client.post(params, zap_headers)
24
- true
25
- rescue StandardError => e
26
- logger.error "Unable to post to Zapier url: #{zap_url} with params: #{params.to_s}. Error: #{e.message}"
27
- false
28
- end
23
+ rest_client.post(params, zap_headers)
24
+ rescue RestClient::ExceptionWithResponse => err
25
+ raise ZapierServerError, err
29
26
  end
30
- private :post_zap
31
27
 
32
28
  def rest_client
33
29
  @rest_client ||= RestClient::Resource.new(zap_url, ssl_version: 'TLSv1')
34
30
  end
35
- private :rest_client
36
31
 
37
32
  def zap_web_hook_id
38
- return @zap_web_hook if defined?(@zap_web_hook)
39
-
40
- @zap_web_hook = config.web_hooks[zap_name]
33
+ @zap_web_hook ||= config.web_hooks[zap_name]
41
34
  end
42
35
  private :zap_web_hook_id
43
36
 
@@ -47,16 +40,13 @@ module ZapierRuby
47
40
  "Content-Type" => "application/json"
48
41
  }
49
42
  end
50
- private :zap_headers
51
43
 
52
44
  def zap_url
53
45
  "#{config.base_uri}#{zap_web_hook_id}/"
54
46
  end
55
- private :zap_url
56
47
 
57
48
  def config
58
49
  ZapierRuby.config
59
50
  end
60
- private :config
61
51
  end
62
52
  end
data/lib/zapier_ruby.rb CHANGED
@@ -4,6 +4,7 @@ require 'delegate'
4
4
  require 'logger'
5
5
 
6
6
  require 'zapier_ruby/version'
7
+ require 'zapier_ruby/exceptions'
7
8
  require 'zapier_ruby/logger_decorator'
8
9
  require 'zapier_ruby/config'
9
10
  require 'zapier_ruby/zapper'
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zapier_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Peterson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-20 00:00:00.000000000 Z
11
+ date: 2018-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.7'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  description: Simple gem to integrate Zapier webhooks with a Ruby project.
@@ -60,8 +60,8 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - .gitignore
64
- - .zapier_ruby.yml.example
63
+ - ".gitignore"
64
+ - ".zapier_ruby.yml.example"
65
65
  - Gemfile
66
66
  - LICENSE.txt
67
67
  - README.md
@@ -69,6 +69,7 @@ files:
69
69
  - bin/zap
70
70
  - lib/zapier_ruby.rb
71
71
  - lib/zapier_ruby/config.rb
72
+ - lib/zapier_ruby/exceptions.rb
72
73
  - lib/zapier_ruby/logger_decorator.rb
73
74
  - lib/zapier_ruby/version.rb
74
75
  - lib/zapier_ruby/zapper.rb
@@ -83,17 +84,17 @@ require_paths:
83
84
  - lib
84
85
  required_ruby_version: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - ! '>='
87
+ - - ">="
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
90
  required_rubygems_version: !ruby/object:Gem::Requirement
90
91
  requirements:
91
- - - ! '>='
92
+ - - ">="
92
93
  - !ruby/object:Gem::Version
93
94
  version: '0'
94
95
  requirements: []
95
96
  rubyforge_project:
96
- rubygems_version: 2.2.4
97
+ rubygems_version: 2.4.8
97
98
  signing_key:
98
99
  specification_version: 4
99
100
  summary: Simple gem to integrate Zapier webhooks with a Ruby project.