growviral-keystore 0.0.2 → 0.0.3

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: 6c52f9328dd5c6ea9d4026aac5ed918140166a96
4
- data.tar.gz: 1b3213c3a71df003e6c15d8a9f0d3970be95c3a1
3
+ metadata.gz: 1c3334ceb931b621425db81adc3a4f897b7564a7
4
+ data.tar.gz: 98a16717b048e043d236ae374cd60f862de5e388
5
5
  SHA512:
6
- metadata.gz: f44c85b6793800e3cbe69b364562307584b15df13c8654c6947d437ece0d14ee7e5f07e106ba2d00bbd172620fe2b8cd8cc43eeaf2e76dfe7af26e408da8f0a3
7
- data.tar.gz: 53b3cb5ffa268a9ddfa4b28a2cb9e3d5d87f5e34d10f46264ca3e46865954d2884d15ac24b8a0f38ea1a5903a15cdcf3e0f57090bce064d929deb279c034d0b1
6
+ metadata.gz: 53b9359f8306f37dfb88c8058c3fb4b2ff4f8a20de05164702835cafc6d2c41f481e3794c9b3ae5333644016d117e013f43247c0dea10680b96b461e36fe37c0
7
+ data.tar.gz: d4e848dfcdcb57278be0fafcfdce98d9de8f0162c5754335e14ddbb26ddef426cc05a26a2138ece9ff39e842cd8701ff4a0d3ecdeb0087e862506dbde67c2304
@@ -1,8 +1,9 @@
1
1
  module GrowViral
2
2
  module Keystore
3
- class TwitterAccount
4
- attr_reader :uid, :handle, :token, :secret
3
+ class Account
4
+ attr_reader :application_id, :uid, :handle, :token, :secret
5
5
  def initialize(data)
6
+ @application_id = data['application_id']
6
7
  @uid = data['uid']
7
8
  @handle = data['handle']
8
9
  @token = data['token']
@@ -1,12 +1,13 @@
1
1
  module GrowViral
2
2
  module Keystore
3
- class Setter
4
- def self.set(*args)
5
- new(*args).set
3
+ class AccountCreator
4
+ def self.create(*args)
5
+ new(*args).create
6
6
  end
7
7
 
8
- attr_reader :handle, :uid, :token, :secret, :config
9
- def initialize(handle, uid, token, secret, deps)
8
+ attr_reader :application_id, :handle, :uid, :token, :secret, :config
9
+ def initialize(application_id, handle, uid, token, secret, deps)
10
+ @application_id = application_id
10
11
  @handle = handle
11
12
  @uid = uid
12
13
  @token = token
@@ -14,13 +15,13 @@ module GrowViral
14
15
  @config = deps[:config]
15
16
  end
16
17
 
17
- def set
18
+ def create
18
19
  response = Net::HTTP.post_form(uri, form_data)
19
- TwitterAccount.new JSON.parse(response.body)
20
+ Account.new JSON.parse(response.body)
20
21
  end
21
22
 
22
23
  def uri
23
- @uri ||= URI.parse("#{config.host}/twitter_accounts/#{handle}")
24
+ @uri ||= URI.parse("#{config.host}/applications/#{application_id}/accounts/#{handle}")
24
25
  end
25
26
 
26
27
  def form_data
@@ -0,0 +1,25 @@
1
+ module GrowViral
2
+ module Keystore
3
+ class AccountFetcher
4
+ def self.fetch(*args)
5
+ new(*args).fetch
6
+ end
7
+
8
+ attr_reader :application_id, :handle, :config
9
+ def initialize(application_id, handle, deps)
10
+ @application_id = application_id
11
+ @handle = handle
12
+ @config = deps[:config]
13
+ end
14
+
15
+ def fetch
16
+ response = Net::HTTP.get_response(uri)
17
+ Account.new JSON.parse(response.body)
18
+ end
19
+
20
+ def uri
21
+ @uri ||= URI.parse("#{config.host}/applications/#{application_id}/accounts/#{handle}")
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ module GrowViral
2
+ module Keystore
3
+ class Application
4
+ attr_reader :id, :provider, :name, :token, :secret
5
+ def initialize(data)
6
+ @id = data['id']
7
+ @provider = data['provider']
8
+ @name = data['name']
9
+ @token = data['token']
10
+ @secret = data['secret']
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,26 @@
1
+ module GrowViral
2
+ module Keystore
3
+ class ApplicationFetcher
4
+ def self.fetch(*args)
5
+ new(*args).fetch
6
+ end
7
+
8
+ attr_reader :provider, :name, :config
9
+ def initialize(provider, name, deps)
10
+ @provider = provider
11
+ @name = name
12
+ @config = deps[:config]
13
+ end
14
+
15
+ def fetch
16
+ response = Net::HTTP.get_response(uri)
17
+ Application.new JSON.parse(response.body)
18
+ end
19
+
20
+ def uri
21
+ @uri ||= URI.parse("#{config.host}/applications/#{name}?provider=#{provider}")
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -7,12 +7,16 @@ module GrowViral
7
7
  @config = Configuration.new(env)
8
8
  end
9
9
 
10
- def get(handle)
11
- Getter.get(handle, config: config)
10
+ def fetch_application(provider, name)
11
+ ApplicationFetcher.fetch(provider, name, config: config)
12
12
  end
13
13
 
14
- def set(handle, uid, token, secret)
15
- Setter.set(handle, uid, token, secret, config: config)
14
+ def fetch_account(app_id, handle)
15
+ AccountFetcher.fetch(app_id, handle, config: config)
16
+ end
17
+
18
+ def create_account(app_id, handle, uid, token, secret)
19
+ AccountCreator.create(app_id, handle, uid, token, secret, config: config)
16
20
  end
17
21
  end
18
22
  end
@@ -1,5 +1,5 @@
1
1
  module GrowViral
2
2
  module Keystore
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -5,9 +5,13 @@ require 'json'
5
5
  require "growviral/keystore/version"
6
6
  require "growviral/client"
7
7
  require "growviral/configuration"
8
- require "growviral/twitter_account"
9
- require "growviral/getter"
10
- require "growviral/setter"
8
+
9
+ require "growviral/application"
10
+ require "growviral/application_fetcher"
11
+
12
+ require "growviral/account"
13
+ require "growviral/account_fetcher"
14
+ require "growviral/account_creator"
11
15
 
12
16
  module GrowViral
13
17
  module Keystore
@@ -1,7 +1,8 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- class SetterTest < Minitest::Test
3
+ class AccountCreatorTest < Minitest::Test
4
4
  def test_response_is_correct
5
+ application_id = 532
5
6
  uid = 1231212
6
7
  handle = "foobar"
7
8
  token = "asdasda"
@@ -15,18 +16,20 @@ class SetterTest < Minitest::Test
15
16
  }
16
17
 
17
18
  output = {
19
+ "application_id" => application_id,
18
20
  "handle" => handle,
19
21
  "uid" => uid,
20
22
  "token" => token,
21
23
  "secret" => secret
22
24
  }
23
25
 
24
- uri = URI.parse("http://localhost:3000/twitter_accounts/#{handle}")
26
+ uri = URI.parse("http://localhost:3000/applications/#{application_id}/accounts/#{handle}")
25
27
  Net::HTTP.expects(:post_form).with(uri, input).returns(mock(body: output.to_json))
26
28
 
27
29
  client = GrowViral::Keystore::Client.new(:development)
28
- account = client.set(handle, uid, token, secret)
30
+ account = client.create_account(application_id, handle, uid, token, secret)
29
31
 
32
+ assert_equal application_id, account.application_id
30
33
  assert_equal uid, account.uid
31
34
  assert_equal handle, account.handle
32
35
  assert_equal token, account.token
@@ -1,25 +1,28 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- class GetterTest < Minitest::Test
3
+ class AccountFetcherTest < Minitest::Test
4
4
  def test_response_is_correct
5
+ application_id = 43
5
6
  uid = 1231212
6
7
  handle = "foobar"
7
8
  token = "asdasda"
8
9
  secret = "2349966adasds"
9
10
 
10
- data = {
11
+ output = {
12
+ "application_id" => application_id,
11
13
  "handle" => handle,
12
14
  "uid" => uid,
13
15
  "token" => token,
14
16
  "secret" => secret
15
17
  }
16
18
 
17
- uri = URI.parse("http://localhost:3000/twitter_accounts/#{handle}")
18
- Net::HTTP.expects(:get_response).with(uri).returns(mock(body: data.to_json))
19
+ uri = URI.parse("http://localhost:3000/applications/#{application_id}/accounts/#{handle}")
20
+ Net::HTTP.expects(:get_response).with(uri).returns(mock(body: output.to_json))
19
21
 
20
22
  client = GrowViral::Keystore::Client.new(:development)
21
- account = client.get(handle)
23
+ account = client.fetch_account(application_id, handle)
22
24
 
25
+ assert_equal application_id, account.application_id
23
26
  assert_equal uid, account.uid
24
27
  assert_equal handle, account.handle
25
28
  assert_equal token, account.token
@@ -2,7 +2,7 @@ require_relative 'test_helper'
2
2
 
3
3
  module GrowViral
4
4
  module Keystore
5
- class TwitterAccountTest < Minitest::Test
5
+ class AccountTest < Minitest::Test
6
6
  def test_initializes_corectly
7
7
  uid = 1231212
8
8
  handle = "foobar"
@@ -16,7 +16,7 @@ module GrowViral
16
16
  "secret" => secret
17
17
  }
18
18
 
19
- account = TwitterAccount.new(data)
19
+ account = Account.new(data)
20
20
  assert_equal uid, account.uid
21
21
  assert_equal handle, account.handle
22
22
  assert_equal token, account.token
@@ -0,0 +1,32 @@
1
+ require_relative 'test_helper'
2
+
3
+ class ApplicationFetcherTest < Minitest::Test
4
+ def test_response_is_correct
5
+ id = 74
6
+ provider = 'twitter'
7
+ name = "growviral"
8
+ token = "asdasda"
9
+ secret = "2349966adasds"
10
+
11
+ output = {
12
+ "id" => id,
13
+ "provider" => provider,
14
+ "name" => name,
15
+ "token" => token,
16
+ "secret" => secret
17
+ }
18
+
19
+ uri = URI.parse("http://localhost:3000/applications/#{name}?provider=#{provider}")
20
+ Net::HTTP.expects(:get_response).with(uri).returns(mock(body: output.to_json))
21
+
22
+ client = GrowViral::Keystore::Client.new(:development)
23
+ application = client.fetch_application(provider, name)
24
+
25
+ assert_equal id, application.id
26
+ assert_equal provider, application.provider
27
+ assert_equal name, application.name
28
+ assert_equal token, application.token
29
+ assert_equal secret, application.secret
30
+ end
31
+ end
32
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: growviral-keystore
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
  - Jeremy Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2014-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,17 +80,20 @@ files:
80
80
  - README.md
81
81
  - Rakefile
82
82
  - growviral-keystore.gemspec
83
+ - lib/growviral/account.rb
84
+ - lib/growviral/account_creator.rb
85
+ - lib/growviral/account_fetcher.rb
86
+ - lib/growviral/application.rb
87
+ - lib/growviral/application_fetcher.rb
83
88
  - lib/growviral/client.rb
84
89
  - lib/growviral/configuration.rb
85
- - lib/growviral/getter.rb
86
90
  - lib/growviral/keystore.rb
87
91
  - lib/growviral/keystore/version.rb
88
- - lib/growviral/setter.rb
89
- - lib/growviral/twitter_account.rb
90
- - test/getter_test.rb
91
- - test/setter_test.rb
92
+ - test/account_creator_test.rb
93
+ - test/account_fetcher_test.rb
94
+ - test/account_test.rb
95
+ - test/application_fetcher_test.rb
92
96
  - test/test_helper.rb
93
- - test/twitter_account_test.rb
94
97
  homepage: ''
95
98
  licenses:
96
99
  - MIT
@@ -116,8 +119,9 @@ signing_key:
116
119
  specification_version: 4
117
120
  summary: A wrapper for the GrowViral keystore functionality.
118
121
  test_files:
119
- - test/getter_test.rb
120
- - test/setter_test.rb
122
+ - test/account_creator_test.rb
123
+ - test/account_fetcher_test.rb
124
+ - test/account_test.rb
125
+ - test/application_fetcher_test.rb
121
126
  - test/test_helper.rb
122
- - test/twitter_account_test.rb
123
127
  has_rdoc:
@@ -1,24 +0,0 @@
1
- module GrowViral
2
- module Keystore
3
- class Getter
4
- def self.get(*args)
5
- new(*args).get
6
- end
7
-
8
- attr_reader :handle, :config
9
- def initialize(handle, deps)
10
- @handle = handle
11
- @config = deps[:config]
12
- end
13
-
14
- def get
15
- response = Net::HTTP.get_response(uri)
16
- TwitterAccount.new JSON.parse(response.body)
17
- end
18
-
19
- def uri
20
- @uri ||= URI.parse("#{config.host}/twitter_accounts/#{handle}")
21
- end
22
- end
23
- end
24
- end