twinkle-client 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82cad5673d54880f99c151d7a5716e68331430d7
4
- data.tar.gz: 577d9e5f081746c9c4eccb6b297f6288a5f18477
3
+ metadata.gz: 90efb73d8676e6dbc1186b9b6fce39e8acffe69d
4
+ data.tar.gz: 0c387177b62ffad7222ecca3290c084a1fa2d2d2
5
5
  SHA512:
6
- metadata.gz: 1fed0f0acef81ff6b051dd45b10930bf0a90d62221456d689fd57d1143b61290ff00a5d1656b2448f3c10e7ea456ae88a2d37b84c9c31cd155e867667cd446d1
7
- data.tar.gz: c04561bbb4a3fc6187023cd7aecf202782ecc31efcf60f8f2368a8f7362be1ede5e0c22e60e2889db2059ea1eadf9b0f1f12462930112d9b34b5857733ad8bc2
6
+ metadata.gz: 988766ff8845a10c82e5d8a1b0ad93f4b804eed698e86fa533f558c537b25b5c1632b270c67541365afd3ebe6fd8c5b53f8070910cc5ad430740bc0035cb0227
7
+ data.tar.gz: 16cf2245b65a733eef5df1eda33867131a815a2be7f9e7f88267de812f723c6967cd8bb58fe3627776f189fbe6408b5c236fb5e7308b7d91e6ce5f650f21ddc0
@@ -1,9 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.3.0
3
+ - 2.2.6
4
+ - 2.3.3
5
5
  addons:
6
6
  code_climate:
7
7
  repo_token: ddf20deeb83c1502bf853910191b995e869ada3c5e00996a14d1eedd355b1c55
8
- before_install: gem install bundler -v 1.11.2
8
+ before_install: gem install bundler -v 1.13.6
9
9
  script: bundle exec rake spec
data/dip.yml ADDED
@@ -0,0 +1,41 @@
1
+ version: '1'
2
+
3
+ environment:
4
+ DOCKER_RUBY_VERSION: 2.2
5
+ RUBY_IMAGE_TAG: 2.2-2
6
+ COMPOSE_FILE_EXT: development
7
+ RAILS_ENV: test
8
+
9
+ compose:
10
+ files:
11
+ - docker-compose.yml
12
+ - docker-compose.${COMPOSE_FILE_EXT}.yml
13
+
14
+ interaction:
15
+ sh:
16
+ service: app
17
+
18
+ irb:
19
+ service: app
20
+ command: irb
21
+
22
+ bundle:
23
+ service: app
24
+ command: bundle
25
+
26
+ rake:
27
+ service: app
28
+ command: bundle exec rake
29
+
30
+ rspec:
31
+ service: app
32
+ command: bundle exec rspec
33
+
34
+ clean:
35
+ service: app
36
+ command: rm -f Gemfile.lock gemfiles/*.gemfile.*
37
+
38
+ provision:
39
+ - docker volume create --name bundler_data
40
+ - dip clean
41
+ - dip bundle install
@@ -0,0 +1,18 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ volumes:
6
+ - .:/app
7
+ - ../:/localgems
8
+ - ssh-data:/ssh:ro
9
+ - bundler-data:/bundle
10
+
11
+ volumes:
12
+ bundler-data:
13
+ external:
14
+ name: bundler_data
15
+
16
+ ssh-data:
17
+ external:
18
+ name: ssh_data
@@ -0,0 +1,10 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ image: abakpress/ruby:$RUBY_IMAGE_TAG
6
+ environment:
7
+ - SSH_AUTH_SOCK=/ssh/auth/sock
8
+ - BUNDLE_PATH=/bundle/$DOCKER_RUBY_VERSION
9
+ - BUNDLE_CONFIG=/app/.bundle/config
10
+ command: bash
@@ -1,5 +1,5 @@
1
- require "curb"
2
1
  require "twinkle/client/version"
2
+ require "twinkle/client/http"
3
3
  require "twinkle/client/default_formatter"
4
4
 
5
5
  module Twinkle
@@ -12,13 +12,17 @@ module Twinkle
12
12
  end
13
13
  end
14
14
 
15
+ def self.http
16
+ @http ||= Http.new(config.endpoint, config.token)
17
+ end
18
+
15
19
  def self.configure
16
20
  yield config
17
21
  end
18
22
 
19
23
  def self.reset
20
- @resources = nil
21
24
  @config = nil
25
+ @http = nil
22
26
  end
23
27
 
24
28
  # Send a message
@@ -32,23 +36,7 @@ module Twinkle
32
36
  formatter = options.fetch(:formatter, config.formatter)
33
37
  message = formatter.call(message, options)
34
38
 
35
- post "/messages", channel: channel, message: message
36
- end
37
-
38
- private
39
-
40
- def self.post(path, params = {})
41
- add_default_params(params)
42
- Curl.post(resource(path), params).body_str
43
- end
44
-
45
- def self.add_default_params(params)
46
- params[:token] ||= config.token
47
- end
48
-
49
- def self.resource(path)
50
- @resources ||= Hash.new({})
51
- @resources[config.endpoint][path] ||= File.join(config.endpoint, path)
39
+ http.post "/messages", channel: channel, message: message
52
40
  end
53
41
  end
54
42
  end
@@ -0,0 +1,31 @@
1
+ require "net/http"
2
+ require "uri"
3
+
4
+ module Twinkle
5
+ module Client
6
+ class Http
7
+ def initialize(endpoint, token)
8
+ @token = token
9
+
10
+ endpoint = ::URI.parse(endpoint).normalize
11
+ @transport = ::Net::HTTP.new(endpoint.host, endpoint.port).tap do |http|
12
+ http.open_timeout = 20
13
+ http.read_timeout = 20
14
+ end
15
+ end
16
+
17
+ def post(path, params = {})
18
+ set_default_params(params)
19
+ request = ::Net::HTTP::Post.new(path)
20
+ request.set_form_data(params)
21
+ @transport.request(request).kind_of?(::Net::HTTPSuccess)
22
+ end
23
+
24
+ private
25
+
26
+ def set_default_params(params)
27
+ params[:token] ||= @token
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,5 @@
1
1
  module Twinkle
2
2
  module Client
3
- VERSION = "0.2.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -18,11 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "curb"
22
-
23
21
  spec.add_development_dependency "bundler", "~> 1.11"
24
22
  spec.add_development_dependency "rake", "~> 10.0"
25
23
  spec.add_development_dependency "rspec", "~> 3.0"
26
- spec.add_development_dependency "codeclimate-test-reporter"
27
24
  spec.add_development_dependency "webmock", "~> 1.24"
25
+ spec.add_development_dependency "simplecov", "~> 0.12.0"
28
26
  end
metadata CHANGED
@@ -1,35 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twinkle-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michail Merkushin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-19 00:00:00.000000000 Z
11
+ date: 2016-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- version_requirements: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - '>='
17
- - !ruby/object:Gem::Version
18
- version: '0'
19
- name: curb
20
- requirement: !ruby/object:Gem::Requirement
21
- requirements:
22
- - - '>='
23
- - !ruby/object:Gem::Version
24
- version: '0'
25
- type: :runtime
26
- prerelease: false
27
- - !ruby/object:Gem::Dependency
28
- version_requirements: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ~>
31
- - !ruby/object:Gem::Version
32
- version: '1.11'
33
14
  name: bundler
34
15
  requirement: !ruby/object:Gem::Requirement
35
16
  requirements:
@@ -38,12 +19,12 @@ dependencies:
38
19
  version: '1.11'
39
20
  type: :development
40
21
  prerelease: false
41
- - !ruby/object:Gem::Dependency
42
22
  version_requirements: !ruby/object:Gem::Requirement
43
23
  requirements:
44
24
  - - ~>
45
25
  - !ruby/object:Gem::Version
46
- version: '10.0'
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
47
28
  name: rake
48
29
  requirement: !ruby/object:Gem::Requirement
49
30
  requirements:
@@ -52,12 +33,12 @@ dependencies:
52
33
  version: '10.0'
53
34
  type: :development
54
35
  prerelease: false
55
- - !ruby/object:Gem::Dependency
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
37
  requirements:
58
38
  - - ~>
59
39
  - !ruby/object:Gem::Version
60
- version: '3.0'
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
61
42
  name: rspec
62
43
  requirement: !ruby/object:Gem::Requirement
63
44
  requirements:
@@ -66,34 +47,39 @@ dependencies:
66
47
  version: '3.0'
67
48
  type: :development
68
49
  prerelease: false
69
- - !ruby/object:Gem::Dependency
70
50
  version_requirements: !ruby/object:Gem::Requirement
71
51
  requirements:
72
- - - '>='
52
+ - - ~>
73
53
  - !ruby/object:Gem::Version
74
- version: '0'
75
- name: codeclimate-test-reporter
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: webmock
76
57
  requirement: !ruby/object:Gem::Requirement
77
58
  requirements:
78
- - - '>='
59
+ - - ~>
79
60
  - !ruby/object:Gem::Version
80
- version: '0'
61
+ version: '1.24'
81
62
  type: :development
82
63
  prerelease: false
83
- - !ruby/object:Gem::Dependency
84
64
  version_requirements: !ruby/object:Gem::Requirement
85
65
  requirements:
86
66
  - - ~>
87
67
  - !ruby/object:Gem::Version
88
68
  version: '1.24'
89
- name: webmock
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
90
71
  requirement: !ruby/object:Gem::Requirement
91
72
  requirements:
92
73
  - - ~>
93
74
  - !ruby/object:Gem::Version
94
- version: '1.24'
75
+ version: 0.12.0
95
76
  type: :development
96
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.12.0
97
83
  description: A ruby client for Twinkle notification service
98
84
  email:
99
85
  - merkushin.m.s@gmail.com
@@ -109,8 +95,12 @@ files:
109
95
  - Rakefile
110
96
  - bin/console
111
97
  - bin/setup
98
+ - dip.yml
99
+ - docker-compose.development.yml
100
+ - docker-compose.yml
112
101
  - lib/twinkle/client.rb
113
102
  - lib/twinkle/client/default_formatter.rb
103
+ - lib/twinkle/client/http.rb
114
104
  - lib/twinkle/client/version.rb
115
105
  - twinkle-client.gemspec
116
106
  homepage: https://github.com/bibendi/twinkle-client
@@ -132,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
122
  version: '0'
133
123
  requirements: []
134
124
  rubyforge_project:
135
- rubygems_version: 2.4.8
125
+ rubygems_version: 2.0.14.1
136
126
  signing_key:
137
127
  specification_version: 4
138
128
  summary: A ruby client for Twinkle notification service.