webhook_handler 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 17faba65ed6b99606f0051cfbe7094d17bd95849
4
- data.tar.gz: a05a6e6f4227c1cc834fcc8a78100b350e797c23
3
+ metadata.gz: 3b62ea3bcde5827df3a3cf83961ade1ef233db2a
4
+ data.tar.gz: cba55499d43014d215ec1d03e10cd6bda97f05b7
5
5
  SHA512:
6
- metadata.gz: 09147e02590fc6e146de9bc9415336b5ce1f1a1d4d58a41201b2b7c663c2e3a11e46449770aaf1ea1024e5c86ac09e1365e2445325a52c3779fd3b08e856611f
7
- data.tar.gz: 0f81cf4fadd11edfb3d23c2946c8045d14bf35254e2dbce5f521993208e44b6fa62b1a3b37cba7b04eefe5e0af24a75cf76f2bb7531f9b88de4cde4d4e2f1b1f
6
+ metadata.gz: dae175987d4eace1329fbe7d909b931feb2daebd6868c9ae2f422a5844414a9e47923a0e5cd5b0a8cd68197d9deac09119a91b7082389014e923c5f753f568c3
7
+ data.tar.gz: 41315f0d4e249325c45b9ff7f31568fdcef44335bb6198d7681f0f1204eafe1e32b7ca8b9bc9f5fa3884b980cb92e977c68c54231b781df9b86412a37874b0ef
data/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [0.3.0] - 2015-11-23
7
+
8
+ ### Added
9
+
10
+ - There is now an app generator that can be used to create a new app. This can be accessed via the `webhook_handler` binary.
11
+
6
12
  ## [0.2.0] - 2015-11-23
7
13
 
8
14
  ### Changed
@@ -13,4 +19,5 @@ This project adheres to [Semantic Versioning](http://semver.org/).
13
19
 
14
20
  - Initial release
15
21
 
16
- [0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0
22
+ [0.2.0]: https://github.com/chrismytton/webhook_handler/compare/v0.1.0...v0.2.0
23
+ [0.3.0]: https://github.com/chrismytton/webhook_handler/compare/v0.2.0...v0.3.0
data/README.md CHANGED
@@ -62,6 +62,14 @@ class MyApp
62
62
  end
63
63
  ```
64
64
 
65
+ ## CLI
66
+
67
+ You can also generate a new app with the command line tool:
68
+
69
+ $ webhook_handler new acme_widget_receiver
70
+
71
+ This will generate a new app in the `acme_widget_receiver` directory with the class `AcmeWidgetReceiver` in the `app.rb` file.
72
+
65
73
  ## Development
66
74
 
67
75
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'webhook_handler/cli'
4
+
5
+ WebhookHandler::CLI.start(ARGV)
@@ -0,0 +1,32 @@
1
+ require 'thor'
2
+ require 'fileutils'
3
+ require 'webhook_handler/version'
4
+
5
+ module WebhookHandler
6
+ class CLI < Thor
7
+ include Thor::Actions
8
+ desc "new NAME", "create a new app called NAME"
9
+
10
+ def self.source_root
11
+ File.dirname(__FILE__)
12
+ end
13
+
14
+ def new(name)
15
+ # @see http://git.io/vBqrp
16
+ @constant_name = name.tr('-', '_').gsub(/-[_-]*(?![_-]|$)/) { "::" }.gsub(/([_-]+|(::)|^)(.|$)/) { $2.to_s + $3.upcase }
17
+
18
+ FileUtils.mkdir_p(name)
19
+ puts "Creating app '#{name}'..."
20
+ templates = {
21
+ 'Gemfile.tt' => 'Gemfile',
22
+ 'Procfile' => 'Procfile',
23
+ 'app.rb.tt' => 'app.rb',
24
+ 'config.ru.tt' => 'config.ru'
25
+ }
26
+
27
+ templates.each do |src, dest|
28
+ template(File.join('templates', src), File.join(name, dest))
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'webhook_handler', '~> <%= WebhookHandler::VERSION %>'
@@ -0,0 +1,2 @@
1
+ web: bundle exec rackup -p $PORT
2
+ worker: bundle exec sidekiq -r ./app.rb
@@ -0,0 +1,9 @@
1
+ require 'webhook_handler'
2
+
3
+ class <%= @constant_name %>
4
+ include WebhookHandler
5
+
6
+ def perform
7
+ # Your code goes here...
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ require_relative './app'
2
+ run <%= @constant_name %>
@@ -1,3 +1,3 @@
1
1
  module WebhookHandler
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency 'sidekiq', ['>= 3', '< 5']
23
23
  spec.add_dependency 'sinatra', ['>= 1', '< 2']
24
+ spec.add_dependency 'thor'
24
25
 
25
26
  spec.add_development_dependency 'bundler', '~> 1.10'
26
27
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webhook_handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Mytton
@@ -50,6 +50,20 @@ dependencies:
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '2'
53
+ - !ruby/object:Gem::Dependency
54
+ name: thor
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
53
67
  - !ruby/object:Gem::Dependency
54
68
  name: bundler
55
69
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +165,8 @@ dependencies:
151
165
  description:
152
166
  email:
153
167
  - chrismytton@gmail.com
154
- executables: []
168
+ executables:
169
+ - webhook_handler
155
170
  extensions: []
156
171
  extra_rdoc_files: []
157
172
  files:
@@ -167,7 +182,13 @@ files:
167
182
  - example/README.md
168
183
  - example/app.rb
169
184
  - example/config.ru
185
+ - exe/webhook_handler
170
186
  - lib/webhook_handler.rb
187
+ - lib/webhook_handler/cli.rb
188
+ - lib/webhook_handler/templates/Gemfile.tt
189
+ - lib/webhook_handler/templates/Procfile
190
+ - lib/webhook_handler/templates/app.rb.tt
191
+ - lib/webhook_handler/templates/config.ru.tt
171
192
  - lib/webhook_handler/version.rb
172
193
  - webhook_handler.gemspec
173
194
  homepage: https://github.com/chrismytton/webhook_handler