codelocks 2.0.3 → 3.0.0.pre.beta

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: 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: