ermaker_ting 0.0.2 → 0.0.3

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: 30f01a879adb90ad153c5277aedf092fb049fc9f
4
- data.tar.gz: 1709cee5122c79416c40aae25305bae9e192d4d4
3
+ metadata.gz: e2fa214b9024b4eaaca75c4bdf4005be25b12316
4
+ data.tar.gz: 69ed22c6962f1b51d40577cd80d19b1517248f20
5
5
  SHA512:
6
- metadata.gz: 880bba6fce0a939f08a13332ee3ae200c76e9022ed67cf90b1609e6fbf96dab10394d86c9e41eea98895b1cbd52bb8178886580cbf2d6974ff7ccdd8c45a2405
7
- data.tar.gz: e10812392b823f85af45151799b363a90f9453736ea9f10392b8f24ea38e2f6fe28d303450d0a79ebad5babc53695d32dc403c59084bc10a1126b95a2f6f1b1e
6
+ metadata.gz: 41536e8fc2156696fae6fdd41d40d1c8d468fc4cfb4ed4a42bd1aeb443a1756e4af5a68c2d4b6b58262dff335ddad7320cf531fde997538236472d9b158bdca9
7
+ data.tar.gz: d753fb8911a35070417ed172eb81e15e5108d68886db19bdd642005df51115c4803a59b41f4090c251e1f3d9806d2e3765d4194e920b32caf4331c3d99587cb6
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ermaker_ting (0.0.2)
4
+ ermaker_ting (0.0.3)
5
5
  httparty
6
6
 
7
7
  GEM
@@ -1,5 +1,7 @@
1
1
  require "ting/version"
2
2
 
3
3
  module Ting
4
+ autoload :All, 'ting/all'
4
5
  autoload :Pushover, 'ting/pushover'
6
+ autoload :Detail, 'ting/detail'
5
7
  end
@@ -0,0 +1,7 @@
1
+ module Ting
2
+ class All
3
+ def self.notify **options
4
+ Pushover.notify options
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ require 'httparty'
2
+
3
+ module Ting
4
+ class Detail
5
+ @@options = {}
6
+
7
+ def self.config **options
8
+ @@options = options
9
+ end
10
+
11
+ def self.make **options
12
+ options = @@options.merge options
13
+ if options.has_key?(:detail) && options.has_key?(:detail_server)
14
+ options[:url] = HTTParty.post(
15
+ options[:detail_server],
16
+ body: {detail: options[:detail]}).body
17
+ end
18
+ options.delete :detail_server
19
+ options.delete:detail
20
+ options
21
+ end
22
+ end
23
+ end
@@ -1,4 +1,5 @@
1
1
  require 'httparty'
2
+ require 'ting/detail'
2
3
 
3
4
  module Ting
4
5
  class Pushover
@@ -8,25 +9,14 @@ module Ting
8
9
  @@options = options
9
10
  end
10
11
 
11
- def notify **options
12
+ def self.notify **options
12
13
  options = @@options.merge options
13
14
  options = manipulate options
14
15
  HTTParty.post('https://api.pushover.net/1/messages.json', body: options)
15
16
  end
16
17
 
17
- def manipulate_detail **options
18
- if options.has_key?(:detail) && options.has_key?(:detail_server)
19
- options[:url] = HTTParty.post(
20
- options[:detail_server],
21
- body: {detail: options[:detail]}).body
22
- end
23
- options.delete :detail_server
24
- options.delete:detail
25
- options
26
- end
27
-
28
- def manipulate **options
29
- options = manipulate_detail options
18
+ def self.manipulate **options
19
+ options = Detail.make options
30
20
  options
31
21
  end
32
22
  end
@@ -1,3 +1,3 @@
1
1
  module Ting
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ require 'ting'
3
+
4
+ describe Ting::All do
5
+ describe '.notify' do
6
+ it 'works' do
7
+ [
8
+ {a:1},
9
+ {a:2},
10
+ {a:1, b:2},
11
+ ].each do |arg|
12
+ Ting::Pushover.should_receive(:notify).with(arg).once.ordered
13
+ described_class.notify arg
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+ require 'ting'
3
+ require 'fake_web'
4
+
5
+ describe Ting::Detail do
6
+ describe '.make' do
7
+ before do
8
+ FakeWeb.allow_net_connect = false
9
+ FakeWeb.register_uri(
10
+ :post,
11
+ 'http://detail.server.com/path',
12
+ body:'http://detail.server.com/path/1')
13
+ end
14
+ after do
15
+ FakeWeb.clean_registry
16
+ FakeWeb.allow_net_connect = true
17
+ end
18
+
19
+ it 'works with detail related options' do
20
+ described_class.make(
21
+ detail_server: 'http://detail.server.com/path',
22
+ detail:'test',
23
+ ).should == {url: 'http://detail.server.com/path/1'}
24
+ end
25
+ end
26
+ end
@@ -3,7 +3,7 @@ require 'ting'
3
3
  require 'fake_web'
4
4
 
5
5
  describe Ting::Pushover do
6
- describe '#notify' do
6
+ describe '.notify' do
7
7
  before do
8
8
  FakeWeb.allow_net_connect = false
9
9
  FakeWeb.register_uri(:post, 'https://api.pushover.net/1/messages.json', body:'')
@@ -14,50 +14,29 @@ describe Ting::Pushover do
14
14
  end
15
15
 
16
16
  it 'gets valid options' do
17
- subject.notify
17
+ described_class.notify
18
18
  FakeWeb.last_request.body.should == ''
19
- subject.notify(a:1)
19
+ described_class.notify(a:1)
20
20
  FakeWeb.last_request.body.should == 'a=1'
21
21
  Ting::Pushover.config(a:1)
22
- subject.notify(a:1)
22
+ described_class.notify(a:1)
23
23
  FakeWeb.last_request.body.should == 'a=1'
24
- subject.notify(a:2)
24
+ described_class.notify(a:2)
25
25
  FakeWeb.last_request.body.should == 'a=2'
26
- subject.notify(b:2)
26
+ described_class.notify(b:2)
27
27
  FakeWeb.last_request.body.should == 'a=1&b=2'
28
28
  end
29
29
 
30
- it 'calls #manipulate' do
31
- subject.should_receive(:manipulate).once
32
- subject.notify
30
+ it 'calls .manipulate' do
31
+ described_class.should_receive(:manipulate).once
32
+ described_class.notify
33
33
  end
34
34
  end
35
35
 
36
- describe '#manipulate' do
37
- it 'calls #manipulate_detail' do
38
- subject.should_receive(:manipulate_detail).once
39
- subject.manipulate
40
- end
41
- end
42
-
43
- describe '#manipulate_detail' do
44
- before do
45
- FakeWeb.allow_net_connect = false
46
- FakeWeb.register_uri(
47
- :post,
48
- 'http://detail.server.com/path',
49
- body:'http://detail.server.com/path/1')
50
- end
51
- after do
52
- FakeWeb.clean_registry
53
- FakeWeb.allow_net_connect = true
54
- end
55
-
56
- it 'works with detail related options' do
57
- subject.manipulate(
58
- detail_server: 'http://detail.server.com/path',
59
- detail:'test',
60
- ).should == {url: 'http://detail.server.com/path/1'}
36
+ describe '.manipulate' do
37
+ it 'calls Ting::Detail.make' do
38
+ Ting::Detail.should_receive(:make).once
39
+ described_class.manipulate
61
40
  end
62
41
  end
63
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ermaker_ting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minwoo Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-24 00:00:00.000000000 Z
11
+ date: 2014-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -168,8 +168,12 @@ files:
168
168
  - README.md
169
169
  - Rakefile
170
170
  - lib/ting.rb
171
+ - lib/ting/all.rb
172
+ - lib/ting/detail.rb
171
173
  - lib/ting/pushover.rb
172
174
  - lib/ting/version.rb
175
+ - spec/lib/ting/all_spec.rb
176
+ - spec/lib/ting/detail_spec.rb
173
177
  - spec/lib/ting/pushover_spec.rb
174
178
  - spec/spec_helper.rb
175
179
  - ting.gemspec
@@ -198,5 +202,7 @@ signing_key:
198
202
  specification_version: 4
199
203
  summary: ''
200
204
  test_files:
205
+ - spec/lib/ting/all_spec.rb
206
+ - spec/lib/ting/detail_spec.rb
201
207
  - spec/lib/ting/pushover_spec.rb
202
208
  - spec/spec_helper.rb