peertransfer_chat 0.0.1 → 0.1.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
  SHA256:
3
- metadata.gz: e61b658dd3fd215ac1a6c45ef402e47a903dea438b206c50c92d4de629cc175f
4
- data.tar.gz: 343fb35a960fbddf8390efa25c19f6d61a2487a1b7a066a3e550fecef9336062
3
+ metadata.gz: 9ee2091c5b39f66278a542c6d73a6bec47c00f8546f7a65f90311bacead47756
4
+ data.tar.gz: 6345ecdd4d49cc7bab70b58d01fe1cbd03fa5394f556847a82c36b3336ad4e20
5
5
  SHA512:
6
- metadata.gz: ef0dac732634c6448868e5588f0044c27367ceb3452fdb5a1f99aaccbb5fdac20f2416dbdf875ba34e3b940e681e3b75c01847da552a2bd2b6cf89f85155666b
7
- data.tar.gz: 3d08e5b7df60265c04effee0dd2e416001c73a7cb97b3b59b33d7a06cfab10e2c13f93e6add5ec19b65ea72aa6e3ca8a1ad9a5ccad608e8a5b839b6e68427d3c
6
+ metadata.gz: 9f3a49c1ebdb70f5147364cddc64c9c3bd2f9988b3c759792c5c84ec80241145ff13bdc4659a0689cbec4bf2bd4bd7a3f1adce775d8284f51e6381f510762180
7
+ data.tar.gz: bae2b0ec4811adb30de2d5965c087e54a825168440aee6d8d2d2dd33be0016b83783c89f70aec98ff67acdff9b4906fd1cabcd098214eff0d3d62dafeaa370c4
@@ -1,7 +1,8 @@
1
1
  require 'slackr'
2
2
 
3
- module PeertransferChat
3
+ class PeertransferChat
4
4
  class Client
5
+ attr_accessor :config
5
6
 
6
7
  def self.upload(filename)
7
8
  new.upload(filename)
@@ -11,6 +12,13 @@ module PeertransferChat
11
12
  new.speak(something)
12
13
  end
13
14
 
15
+ def initialize
16
+ if block_given?
17
+ @config = Config.new
18
+ yield(@config)
19
+ end
20
+ end
21
+
14
22
  def upload(filename)
15
23
  slack = Slackr.connect(team, api_token, slack_opts)
16
24
  slack.upload(filename, { 'channels' => channel_id })
@@ -47,7 +55,7 @@ module PeertransferChat
47
55
  end
48
56
 
49
57
  def config
50
- PeertransferChat.config
58
+ @config ||= PeertransferChat.config
51
59
  end
52
60
  end
53
61
  end
@@ -1,17 +1,21 @@
1
- module PeertransferChat
1
+ class PeertransferChat
2
2
  class Config
3
3
  SETTINGS = [:team, :channel, :incoming_token, :username, :api_token, :channel_id]
4
4
 
5
- attr_accessor *SETTINGS
5
+ attr_accessor(*SETTINGS)
6
6
 
7
7
  def valid?
8
8
  @team && @channel && @incoming_token && @username
9
9
  end
10
10
  end
11
11
 
12
+ def config
13
+ @config ||= Config.new
14
+ end
15
+
12
16
  class << self
13
17
  def configure
14
- @config ||= Config.new
18
+ @config ||= new.config
15
19
  yield(@config)
16
20
  end
17
21
 
@@ -1,3 +1,3 @@
1
- module PeertransferChat
2
- VERSION = "0.0.1"
1
+ class PeertransferChat
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,35 +1,60 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe PeertransferChat::Client do
4
- let(:slack_client) { instance_double(Slackr) }
4
+ let(:slack_client) { instance_spy(Slackr) }
5
5
  let(:team_name) { 'a team' }
6
6
  let(:team_token) { 'a token' }
7
7
  let(:team_channel) { 'a channel' }
8
8
  let(:team_username) { 'a username' }
9
9
  let(:opts) { { 'channel' => team_channel, 'username' => team_username } }
10
10
 
11
- after do
12
- PeertransferChat.reset!
13
- end
11
+ context 'with class configuration' do
12
+ before do
13
+ PeertransferChat.configure do |c|
14
+ c.team = team_name
15
+ c.incoming_token = team_token
16
+ c.channel = team_channel
17
+ c.username = team_username
18
+ end
14
19
 
15
- before do
16
- PeertransferChat.configure do |c|
17
- c.team = team_name
18
- c.incoming_token = team_token
19
- c.channel = team_channel
20
- c.username = team_username
20
+ allow(Slackr).to receive(:connect).
21
+ with(team_name, team_token, opts).
22
+ and_return(slack_client)
21
23
  end
22
24
 
23
- allow(Slackr).to receive(:connect).
24
- with(team_name, team_token, opts).
25
- and_return(slack_client)
25
+ describe '.say' do
26
+ it 'speaks something to a channel' do
27
+ described_class.speak('hello')
28
+
29
+ expect(slack_client).to have_received(:say).with('hello')
30
+
31
+ PeertransferChat.reset!
32
+ end
33
+ end
26
34
  end
27
35
 
28
- describe '.say' do
29
- it 'speaks something to a channel' do
30
- expect(slack_client).to receive(:say).with('hello')
36
+ context 'with instance configuration' do
37
+ before do
38
+ allow(Slackr).to receive(:connect).
39
+ with(team_name, team_token, opts).
40
+ and_return(slack_client)
41
+ end
42
+
43
+ let(:client) do
44
+ PeertransferChat::Client.new do |c|
45
+ c.team = team_name
46
+ c.incoming_token = team_token
47
+ c.channel = team_channel
48
+ c.username = team_username
49
+ end
50
+ end
51
+
52
+ describe '.say' do
53
+ it 'speaks something to a channel' do
54
+ client.speak('hello')
31
55
 
32
- described_class.speak('hello')
56
+ expect(slack_client).to have_received(:say).with('hello')
57
+ end
33
58
  end
34
59
  end
35
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peertransfer_chat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - peerTransfer tech
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-27 00:00:00.000000000 Z
11
+ date: 2018-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slackr