codelocks 2.0.3 → 3.0.0.pre.beta

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: b56ca4d592d78151d6941c5113aa819fd48199f4
4
- data.tar.gz: 6a3e0cf5458c5dc17f98b90c9206ddca89c6f294
3
+ metadata.gz: d12d67e7bf9e7e0cb6597b6b551599635c426095
4
+ data.tar.gz: 0e7c79bf2018b276d820337d005f44ebfa4cc567
5
5
  SHA512:
6
- metadata.gz: d43e6324ed62dd083e100ccb991655faea32bf5e0080058bec8478c564c7673c678b2415091c536bd0929c970a76595dbe79a96f7a0219e325b9981984faaed6
7
- data.tar.gz: edd987ac627764721afd6556850b912b27c23467d371b68121ba04c5b32a9b939d8f791044ab047e7732bf8ab855641e0a1cd28836e924b94f0a66e3e5f3b871
6
+ metadata.gz: 63038db7974ae0fc0bc9137b98a2d4c056945d0ff825e48db06daaabaf44d6c4cb43ea2f8027bd69f17bcb75e8ef367b1f6e2d7354b1ec6467d5b73a8b4150ed
7
+ data.tar.gz: d0e3dcfca9d37e0c7df4741a9315cf7cb1563bd46ce0d275f01a5d67c41dd6a6203dd1fc99b02c144f7c38980ac4f2f319f4ec6cf05011106fb9034943c6ae5d
data/.env.test ADDED
@@ -0,0 +1,3 @@
1
+ CODELOCKS_BASE_URI=http://placeholder.com
2
+ CODELOCKS_API_KEY=placeholder_api_key
3
+ CODELOCKS_ACCESS_KEY=placeholder_access_key
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.2.3
1
+ ruby-2.4.1
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
- ruby '2.2.3'
2
+ ruby '2.4.1'
3
3
 
4
4
  # Specify your gem's dependencies in codelocks.gemspec
5
5
  gemspec
data/README.md CHANGED
@@ -45,6 +45,16 @@ Codelocks.access_key = "argh"
45
45
 
46
46
  API documentation with information on methods is [available on RubyDoc.info](http://www.rubydoc.info/github/kansohq/codelocks/master).
47
47
 
48
+ ## Tests
49
+
50
+ The test suite can be run locally using the following commands:
51
+
52
+ ```
53
+ $ cp .env.test .env
54
+ $ dotenv
55
+ $ bundle exec rspec
56
+ ```
57
+
48
58
  ## Contributing
49
59
 
50
60
  1. Fork it ( https://github.com/[my-github-username]/codelocks/fork )
data/codelocks.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "codelocks"
8
8
  spec.version = Codelocks::VERSION
9
9
  spec.authors = ["Robert May"]
10
- spec.email = ["robert@kanso.io"]
10
+ spec.email = ["rob@piratestudios.co.uk"]
11
11
  spec.summary = %q{A simple API wrapper for the CodeLocks API}
12
12
  spec.description = %q{A wrapper for the CodeLocks NetCode API used to generate lock codes.}
13
13
  spec.homepage = "http://www.codelocks.co.uk"
data/lib/codelocks.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  require "faraday"
2
2
 
3
3
  require "codelocks/version"
4
+ require "codelocks/client"
5
+ require "codelocks/collection_proxy"
6
+ require "codelocks/model"
4
7
  require "codelocks/request"
5
8
  require "codelocks/response"
6
9
  require "codelocks/lock"
@@ -8,45 +11,4 @@ require "codelocks/net_code"
8
11
 
9
12
  module Codelocks
10
13
  class CodelocksError < StandardError; end
11
-
12
- class << self
13
- attr_writer :base_uri, :api_key, :access_key
14
-
15
- # The base URI used for API request
16
- #
17
- # @return [String] the base URI
18
-
19
- def base_uri
20
- @base_uri || ENV['CODELOCKS_BASE_URI'] || (raise CodelocksError.new("No base URI specified"))
21
- end
22
-
23
- # Return the configured API key or raise an exception
24
- #
25
- # @return [String] the API key
26
-
27
- def api_key
28
- @api_key || ENV['CODELOCKS_API_KEY'] || (raise CodelocksError.new("No API key specified"))
29
- end
30
-
31
- # Return the access key. This is tied to the K3 Connect App.
32
- # This can be nil, as for certain models of locks you will provide a 6 digit ID instead.
33
- #
34
- # @return [String] the access key
35
-
36
- def access_key
37
- @access_key || ENV['CODELOCKS_ACCESS_KEY']
38
- end
39
-
40
- # Faraday connection object
41
- #
42
- # @return [Faraday]
43
-
44
- def connection
45
- @connection ||= Faraday.new(url: base_uri) do |faraday|
46
- faraday.request :url_encoded
47
- faraday.response :logger
48
- faraday.adapter Faraday.default_adapter
49
- end
50
- end
51
- end
52
14
  end
@@ -0,0 +1,82 @@
1
+ module Codelocks
2
+ class Client
3
+ attr_writer :base_uri, :api_key, :access_key
4
+
5
+ # The base URI used for API request
6
+ #
7
+ # @return [String] the base URI
8
+
9
+ def base_uri
10
+ @base_uri || ENV['CODELOCKS_BASE_URI'] || (raise CodelocksError.new("No base URI specified"))
11
+ end
12
+
13
+ # Return the configured API key or raise an exception
14
+ #
15
+ # @return [String] the API key
16
+
17
+ def api_key
18
+ @api_key || ENV['CODELOCKS_API_KEY'] || (raise CodelocksError.new("No API key specified"))
19
+ end
20
+
21
+ # Return the access key. This is tied to the K3 Connect App.
22
+ # This can be nil, as for certain models of locks you will provide a 6 digit ID instead.
23
+ #
24
+ # @return [String] the access key
25
+
26
+ def access_key
27
+ @access_key || ENV['CODELOCKS_ACCESS_KEY']
28
+ end
29
+
30
+ # Faraday connection object
31
+ #
32
+ # @return [Faraday]
33
+
34
+ def connection
35
+ @connection ||= Faraday.new(url: base_uri) do |faraday|
36
+ faraday.request :url_encoded
37
+ faraday.response :logger
38
+ faraday.adapter Faraday.default_adapter
39
+ end
40
+ end
41
+
42
+ # Set configuration variables on instantiation
43
+ #
44
+ # @return [Codelocks::Client]
45
+
46
+ def initialize(attributes = {})
47
+ attributes.each do |key, val|
48
+ setter = :"#{key}="
49
+
50
+ if respond_to?(setter)
51
+ send(setter, val)
52
+ end
53
+ end
54
+
55
+ self
56
+ end
57
+
58
+ # Proxy for the requests model
59
+ #
60
+ # @return [CollectionProxy]
61
+
62
+ def requests
63
+ @request_collection ||= CollectionProxy.new(model: Request, client: self)
64
+ end
65
+
66
+ # Proxy for the netcodes model
67
+ #
68
+ # @return [CollectionProxy]
69
+
70
+ def net_codes
71
+ @net_code_collection ||= CollectionProxy.new(model: NetCode, client: self)
72
+ end
73
+
74
+ # Proxy for the locks model
75
+ #
76
+ # @return [CollectionProxy]
77
+
78
+ def locks
79
+ @lock_collection ||= CollectionProxy.new(model: Lock, client: self)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,26 @@
1
+ module Codelocks
2
+ class CollectionProxy
3
+ extend Forwardable
4
+
5
+ # @return [Client]
6
+ attr_accessor :client
7
+
8
+ # @return [Lock, NetCode, Request]
9
+ attr_accessor :model
10
+
11
+ def_delegators :@model, :create, :all
12
+
13
+ # Set configuration variables on instantiation
14
+ #
15
+ # @return [Codelocks::CollectionProxy]
16
+
17
+ def initialize(client: nil, model: nil)
18
+ self.client = client
19
+ self.model = model
20
+
21
+ model.collection_proxy = self
22
+
23
+ self
24
+ end
25
+ end
26
+ end
@@ -1,17 +1,15 @@
1
1
  module Codelocks
2
- class Lock
2
+ class Lock < Model
3
3
  class << self
4
4
  # Fetch a list of locks. Requires the access key env var to be set
5
5
  #
6
6
  # @return [Codelocks::NetCode::Response]
7
7
 
8
8
  def all
9
- if !Codelocks.access_key
10
- raise CodelocksError.new("An access key must be provided")
11
- end
9
+ super
12
10
 
13
- Request.create("lock",
14
- "accesskey": Codelocks.access_key
11
+ client.requests.create("lock",
12
+ "accesskey": client.access_key
15
13
  )
16
14
  end
17
15
  end
@@ -0,0 +1,29 @@
1
+ module Codelocks
2
+ class Model
3
+ extend Forwardable
4
+
5
+ # @return [Client]
6
+
7
+ def client
8
+ self.class.client
9
+ end
10
+
11
+ class << self
12
+ extend Forwardable
13
+
14
+ # @return [CollectionProxy]
15
+ attr_accessor :collection_proxy
16
+
17
+ def_delegator :@collection_proxy, :client
18
+
19
+ def all
20
+ if !client.access_key
21
+ raise CodelocksError.new("An access key must be provided")
22
+ end
23
+ end
24
+
25
+ def create
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,5 +1,5 @@
1
1
  module Codelocks
2
- class NetCode
2
+ class NetCode < Model
3
3
  class << self
4
4
  # Predefined method for generating a new NetCode
5
5
  #
@@ -12,14 +12,14 @@ module Codelocks
12
12
  #
13
13
  # @return [Codelocks::NetCode::Response]
14
14
 
15
- def generate_netcode(opts = {})
15
+ def create(opts = {})
16
16
  netcode = new(opts)
17
17
 
18
18
  if !netcode.identifier
19
19
  raise CodelocksError.new("Either a lock identifier or an access key must be provided")
20
20
  end
21
21
 
22
- Request.create("netcode/#{netcode.lock_id}",
22
+ client.requests.create("netcode/#{netcode.lock_id}",
23
23
  "id": netcode.lock_id,
24
24
  "start": netcode.start_datetime,
25
25
  "duration": netcode.duration_id,
@@ -52,7 +52,7 @@ module Codelocks
52
52
  # @return [String]
53
53
 
54
54
  def identifier
55
- opts[:identifier] || Codelocks.access_key
55
+ opts[:identifier] || client.access_key
56
56
  end
57
57
 
58
58
  # String representing the start date in YYYY-MM-DD format
@@ -1,5 +1,5 @@
1
1
  module Codelocks
2
- class Request
2
+ class Request < Model
3
3
  class << self
4
4
  # Perform a request against the NetCode API
5
5
  #
@@ -9,14 +9,15 @@ module Codelocks
9
9
  # @return [Codelocks::NetCode::Response]
10
10
 
11
11
  def create(path, params = {})
12
- response = Codelocks.connection.get(path, default_params.merge(params)) do |req|
13
- req.headers['x-api-key'] = Codelocks.api_key
12
+ response = client.connection.get(path, default_params.merge(params)) do |req|
13
+ req.headers['x-api-key'] = client.api_key
14
14
  end
15
15
 
16
16
  Response.new(response)
17
17
  end
18
18
 
19
19
  private
20
+
20
21
  # The default params used in NetCode endpoint requests
21
22
  #
22
23
  # @return [Hash]
@@ -1,3 +1,3 @@
1
1
  module Codelocks
2
- VERSION = "2.0.3"
2
+ VERSION = "3.0.0-beta"
3
3
  end
@@ -0,0 +1,92 @@
1
+ require 'spec_helper'
2
+
3
+ describe Codelocks::Client do
4
+ subject(:client) do
5
+ Codelocks::Client.new(
6
+ base_uri: ENV["CODELOCKS_BASE_URI"] || "wibble",
7
+ api_key: ENV["CODELOCKS_API_KEY"] || "wobble"
8
+ )
9
+ end
10
+
11
+ describe "#base_uri" do
12
+ subject { client.base_uri }
13
+
14
+ before { allow(ENV).to receive(:[]) { nil } }
15
+
16
+ context "is present" do
17
+ before { client.base_uri = "test" }
18
+
19
+ it { is_expected.to eq("test") }
20
+ end
21
+
22
+ context "is not present" do
23
+ before { client.base_uri = nil }
24
+
25
+ it "raises an exception" do
26
+ expect { subject }.to raise_error(Codelocks::CodelocksError)
27
+ end
28
+ end
29
+ end
30
+
31
+ describe "#api_key" do
32
+ subject { client.api_key }
33
+
34
+ before { allow(ENV).to receive(:[]) { nil } }
35
+
36
+ context "is present" do
37
+ before { client.api_key = "test" }
38
+
39
+ it { is_expected.to eq("test") }
40
+ end
41
+
42
+ context "is not present" do
43
+ before { client.api_key = nil }
44
+
45
+ it "raises an exception" do
46
+ expect { subject }.to raise_error(Codelocks::CodelocksError)
47
+ end
48
+ end
49
+ end
50
+
51
+ describe "#access_key" do
52
+ subject { client.access_key }
53
+
54
+ before { allow(ENV).to receive(:[]) { nil } }
55
+
56
+ context "is present" do
57
+ before { client.access_key = "test" }
58
+
59
+ it { is_expected.to eq("test") }
60
+ end
61
+
62
+ context "is not present" do
63
+ before { client.access_key = nil }
64
+
65
+ it { is_expected.to eq(nil) }
66
+ end
67
+ end
68
+
69
+ describe "#connection" do
70
+ subject { client.connection }
71
+
72
+ it { is_expected.to be_a(Faraday::Connection) }
73
+ end
74
+
75
+ describe "#requests" do
76
+ subject { client.requests }
77
+
78
+ it { is_expected.to be_a(Codelocks::CollectionProxy) }
79
+ end
80
+
81
+ describe "#net_codes" do
82
+ subject { client.net_codes }
83
+
84
+ it { is_expected.to be_a(Codelocks::CollectionProxy) }
85
+ end
86
+
87
+ describe "#locks" do
88
+ subject { client.locks }
89
+
90
+ it { is_expected.to be_a(Codelocks::CollectionProxy) }
91
+ end
92
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe Codelocks::CollectionProxy do
4
+ subject(:proxy) { Codelocks::CollectionProxy.new(model: model, client: client) }
5
+ let(:client) { Codelocks::Client.new }
6
+ let(:model) { Codelocks::Model }
7
+
8
+ describe "attribute accessors" do
9
+ [:client, :model].each do |attr|
10
+ it { is_expected.to respond_to(attr) }
11
+ it { is_expected.to respond_to(:"#{attr}=") }
12
+ end
13
+ end
14
+
15
+ describe "#initialize" do
16
+ subject { proxy.send(:initialize, client: client, model: model) }
17
+
18
+ after { subject }
19
+
20
+ it "sets the client" do
21
+ expect(proxy).to receive(:client=).with(client)
22
+ end
23
+
24
+ it "sets the model" do
25
+ expect(proxy).to receive(:model=).with(model)
26
+ end
27
+
28
+ it "sets itself as the model's proxy" do
29
+ expect(model).to receive(:collection_proxy=).with(proxy)
30
+ end
31
+ end
32
+ end
@@ -1,17 +1,19 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Codelocks::Lock do
4
- describe ".all" do
5
- subject { Codelocks::Lock.all }
4
+ let(:client) do
5
+ Codelocks::Client.new(
6
+ base_uri: ENV["CODELOCKS_BASE_URI"] || "wibble",
7
+ api_key: ENV["CODELOCKS_API_KEY"] || "wobble"
8
+ )
9
+ end
6
10
 
7
- before do
8
- Codelocks.base_uri = ENV["CODELOCKS_BASE_URI"] || "wibble"
9
- Codelocks.api_key = ENV["CODELOCKS_API_KEY"] || "wobble"
10
- end
11
+ describe ".all" do
12
+ subject { client.locks.all }
11
13
 
12
14
  context "valid access key" do
13
15
  before do
14
- Codelocks.access_key = ENV["CODELOCKS_ACCESS_KEY"] || "wubble"
16
+ client.access_key = ENV["CODELOCKS_ACCESS_KEY"] || "wubble"
15
17
  end
16
18
 
17
19
  around(:each) do |example|
@@ -33,7 +35,7 @@ describe Codelocks::Lock do
33
35
 
34
36
  context "invalid access key" do
35
37
  before do
36
- Codelocks.access_key = "abracadabra"
38
+ client.access_key = "abracadabra"
37
39
  end
38
40
 
39
41
  around(:each) do |example|
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Codelocks::Model do
4
+ let(:client) { Codelocks::Client.new }
5
+ let(:proxy) { Codelocks::CollectionProxy.new(model: Codelocks::Model, client: client) }
6
+
7
+ before do
8
+ Codelocks::Model.collection_proxy = proxy
9
+ end
10
+
11
+ describe "instance methods" do
12
+ subject(:model) { Codelocks::Model.new }
13
+
14
+ describe "#client" do
15
+ subject { model.client }
16
+
17
+ it { is_expected.to eq(client) }
18
+ end
19
+ end
20
+
21
+ describe "class methods" do
22
+ subject { Codelocks::Model }
23
+
24
+ describe ".all" do
25
+ it { is_expected.to respond_to(:all) }
26
+
27
+ context "access key isn't set" do
28
+ before { allow(client).to receive(:access_key) { nil } }
29
+
30
+ it "raises an error" do
31
+ expect { subject.all }.to raise_error(Codelocks::CodelocksError)
32
+ end
33
+ end
34
+ end
35
+
36
+ describe ".create" do
37
+ it { is_expected.to respond_to(:create) }
38
+ end
39
+ end
40
+ end
@@ -1,18 +1,20 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Codelocks::NetCode do
4
- describe ".generate_netcode" do
4
+ let(:client) do
5
+ Codelocks::Client.new(
6
+ base_uri: ENV["CODELOCKS_BASE_URI"] || "wibble",
7
+ api_key: ENV["CODELOCKS_API_KEY"] || "wobble",
8
+ access_key: ENV["CODELOCKS_ACCESS_KEY"] || "wubble"
9
+ )
10
+ end
11
+
12
+ describe ".create" do
5
13
  let(:lock_id) { nil }
6
14
  let(:start_time) { Time.now }
7
15
  let(:duration) { 1 }
8
16
 
9
- subject { Codelocks::NetCode.generate_netcode(lock_id: lock_id, start_time: start_time, duration: duration) }
10
-
11
- before do
12
- Codelocks.base_uri = ENV["CODELOCKS_BASE_URI"] || "wibble"
13
- Codelocks.api_key = ENV["CODELOCKS_API_KEY"] || "wobble"
14
- Codelocks.access_key = ENV["CODELOCKS_ACCESS_KEY"] || "wubble"
15
- end
17
+ subject { client.net_codes.create(lock_id: lock_id, start_time: start_time, duration: duration) }
16
18
 
17
19
  context "valid lock ID" do
18
20
  let(:lock_id) { ENV["CODELOCKS_LOCK_ID"] || "valid" }
@@ -1,9 +1,11 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Codelocks::Request do
4
- before do
5
- Codelocks.base_uri = "http://wobble.com/"
6
- Codelocks.api_key = "wibble"
4
+ let(:client) do
5
+ Codelocks::Client.new(
6
+ base_uri: ENV["CODELOCKS_BASE_URI"] || "wibble",
7
+ api_key: ENV["CODELOCKS_API_KEY"] || "wobble"
8
+ )
7
9
  end
8
10
 
9
11
  describe "#create" do
@@ -21,19 +23,19 @@ describe Codelocks::Request do
21
23
  let(:path) { "netcode/#{params[:id]}" }
22
24
 
23
25
  before do
24
- allow(Codelocks.connection).to receive(:get) { response }
25
- allow(Codelocks::Request).to receive(:default_params) { default_params }
26
+ allow(client.connection).to receive(:get) { response }
27
+ allow(client.requests.model).to receive(:default_params) { default_params }
26
28
  end
27
29
 
28
30
 
29
31
  it "performs a get request" do
30
- expect(Codelocks.connection).to receive(:get).with(path, all_params)
31
- Codelocks::Request.create(path, params)
32
+ expect(client.connection).to receive(:get).with(path, all_params)
33
+ client.requests.create(path, params)
32
34
  end
33
35
 
34
36
  it "returns a response object" do
35
37
  expect(
36
- Codelocks::Request.create(path, params)
38
+ client.requests.create(path, params)
37
39
  ).to be_a(Codelocks::Response)
38
40
  end
39
41
  end
@@ -1,14 +1,16 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Codelocks::Response do
4
+ let(:client) do
5
+ Codelocks::Client.new(
6
+ base_uri: ENV["CODELOCKS_BASE_URI"] || "wibble",
7
+ api_key: ENV["CODELOCKS_API_KEY"] || "wobble"
8
+ )
9
+ end
10
+
4
11
  let(:response) { Codelocks::Response.new(faraday_response) }
5
12
  let(:faraday_response) { double('faraday_response', success?: true, body: '{"test": "thing"}') }
6
13
 
7
- before do
8
- Codelocks.base_uri = "http://wobble.com/"
9
- Codelocks.api_key = "wibble"
10
- end
11
-
12
14
  describe "#initialize" do
13
15
  it "sets the response instance variable" do
14
16
  expect(response.response).to eq(faraday_response)
@@ -1,68 +1,4 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Codelocks do
4
- describe "#base_uri" do
5
- subject { Codelocks.base_uri }
6
-
7
- before { allow(ENV).to receive(:[]) { nil } }
8
-
9
- context "is present" do
10
- before { Codelocks.base_uri = "test" }
11
-
12
- it { is_expected.to eq("test") }
13
- end
14
-
15
- context "is not present" do
16
- before { Codelocks.base_uri = nil }
17
-
18
- it "raises an exception" do
19
- expect { subject }.to raise_error(Codelocks::CodelocksError)
20
- end
21
- end
22
- end
23
-
24
- describe "#api_key" do
25
- subject { Codelocks.api_key }
26
-
27
- before { allow(ENV).to receive(:[]) { nil } }
28
-
29
- context "is present" do
30
- before { Codelocks.api_key = "test" }
31
-
32
- it { is_expected.to eq("test") }
33
- end
34
-
35
- context "is not present" do
36
- before { Codelocks.api_key = nil }
37
-
38
- it "raises an exception" do
39
- expect { subject }.to raise_error(Codelocks::CodelocksError)
40
- end
41
- end
42
- end
43
-
44
- describe "#access_key" do
45
- subject { Codelocks.access_key }
46
-
47
- before { allow(ENV).to receive(:[]) { nil } }
48
-
49
- context "is present" do
50
- before { Codelocks.access_key = "test" }
51
-
52
- it { is_expected.to eq("test") }
53
- end
54
-
55
- context "is not present" do
56
- before { Codelocks.access_key = nil }
57
-
58
- it { is_expected.to eq(nil) }
59
- end
60
- end
61
-
62
-
63
- describe "#connection" do
64
- subject { Codelocks.connection }
65
-
66
- it { is_expected.to be_a(Faraday::Connection) }
67
- end
68
4
  end
data/spec/spec_helper.rb CHANGED
@@ -8,8 +8,8 @@ require "pry"
8
8
  VCR.configure do |config|
9
9
  config.cassette_library_dir = "spec/fixtures/vcr_cassettes"
10
10
  config.hook_into :faraday
11
- config.filter_sensitive_data("<BASE_URI>") { Codelocks.base_uri }
12
- config.filter_sensitive_data("<API_KEY>") { Codelocks.api_key }
13
- config.filter_sensitive_data("<ACCESS_KEY>") { Codelocks.access_key }
11
+ config.filter_sensitive_data("<BASE_URI>") { ENV['CODELOCKS_BASE_URI'] }
12
+ config.filter_sensitive_data("<API_KEY>") { ENV['CODELOCKS_API_KEY'] }
13
+ config.filter_sensitive_data("<ACCESS_KEY>") { ENV['CODELOCKS_ACCESS_KEY'] }
14
14
  config.filter_sensitive_data("LOCK_ID") { ENV['CODELOCKS_LOCK_ID'] }
15
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codelocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 3.0.0.pre.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert May
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-17 00:00:00.000000000 Z
11
+ date: 2017-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -110,11 +110,12 @@ dependencies:
110
110
  version: '0.9'
111
111
  description: A wrapper for the CodeLocks NetCode API used to generate lock codes.
112
112
  email:
113
- - robert@kanso.io
113
+ - rob@piratestudios.co.uk
114
114
  executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
+ - ".env.test"
118
119
  - ".gitignore"
119
120
  - ".ruby-version"
120
121
  - Gemfile
@@ -123,12 +124,18 @@ files:
123
124
  - Rakefile
124
125
  - codelocks.gemspec
125
126
  - lib/codelocks.rb
127
+ - lib/codelocks/client.rb
128
+ - lib/codelocks/collection_proxy.rb
126
129
  - lib/codelocks/lock.rb
130
+ - lib/codelocks/model.rb
127
131
  - lib/codelocks/net_code.rb
128
132
  - lib/codelocks/request.rb
129
133
  - lib/codelocks/response.rb
130
134
  - lib/codelocks/version.rb
135
+ - spec/codelocks/client_spec.rb
136
+ - spec/codelocks/collection_proxy_spec.rb
131
137
  - spec/codelocks/lock_spec.rb
138
+ - spec/codelocks/model_spec.rb
132
139
  - spec/codelocks/net_code_spec.rb
133
140
  - spec/codelocks/request_spec.rb
134
141
  - spec/codelocks/response_spec.rb
@@ -153,17 +160,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
160
  version: '2.2'
154
161
  required_rubygems_version: !ruby/object:Gem::Requirement
155
162
  requirements:
156
- - - ">="
163
+ - - ">"
157
164
  - !ruby/object:Gem::Version
158
- version: '0'
165
+ version: 1.3.1
159
166
  requirements: []
160
167
  rubyforge_project:
161
- rubygems_version: 2.4.5.1
168
+ rubygems_version: 2.6.13
162
169
  signing_key:
163
170
  specification_version: 4
164
171
  summary: A simple API wrapper for the CodeLocks API
165
172
  test_files:
173
+ - spec/codelocks/client_spec.rb
174
+ - spec/codelocks/collection_proxy_spec.rb
166
175
  - spec/codelocks/lock_spec.rb
176
+ - spec/codelocks/model_spec.rb
167
177
  - spec/codelocks/net_code_spec.rb
168
178
  - spec/codelocks/request_spec.rb
169
179
  - spec/codelocks/response_spec.rb
@@ -173,4 +183,3 @@ test_files:
173
183
  - spec/fixtures/vcr_cassettes/valid_access_key.yml
174
184
  - spec/fixtures/vcr_cassettes/valid_lock_id.yml
175
185
  - spec/spec_helper.rb
176
- has_rdoc: