ruby_spark 0.0.5 → 1.0.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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTRiOWYxYTZlNTUyNGUzZWIyYmZjMGY3ZjA5ZjAxNTQ2ZTdmNGI0Yw==
5
- data.tar.gz: !binary |-
6
- NjFkMjAzNmY1NzIzMTVjMTIwYWRiYjc2NThhOWZkOTIwMDRmMDVlMg==
2
+ SHA1:
3
+ metadata.gz: 7f147c684f6fb7473b04b4f6aac6089f93bef71b
4
+ data.tar.gz: 62ac1c2b712e27e5d4b79c559dd13612113247ba
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NzE1NzVlMzQwZDJmYjFhMjU0ZGNhYmZhNTU2MzM4ZjA0MGU2ODIzMzQ5N2I2
10
- Mzg1M2M5Y2YzNWNiMDRhNzM2ZjFjMDAyYjYzYWNhMDcwNzg5MDhhMTg0OGQy
11
- ODM1OWQ1NDQ4NWZiMzBlYWEwNTQ0OTIzMzIzYTZiZjM3OTQ0OTI=
12
- data.tar.gz: !binary |-
13
- YzI0MzA3YzI3NjRjZGEzNWQ3NWQyODMwZTUwMDRiNmVmNGJmYjFkNzUwODA0
14
- ZmQ1MTM5ZTk2NTkwODUzMTA3Y2EwZmQ4NzE0MWQ1NzYwYzllYzJhNmFiYjc4
15
- NTVlZDU2NDY5NjRhYmJlNDMxZDliZDgyNmMwMTViYWRkYWEyYTQ=
6
+ metadata.gz: 4903c3db3b4d4ca770f6c717f05a03d3a1102d24111b079c4fec85a2020979677acb2e2dc366787fa19cf9d03e6fca1dda2450f6b5d69c9608d8d6be8f10c25c
7
+ data.tar.gz: 9146be81e0c787d70fb4cb57b336d04e0a10d3d2e502bc67c761e7ad54cb46b91c2f9bfd6b7267d44c8a9f9aa252ae5ba8897ff4737dfc14a1728af478cc8398
data/README.md CHANGED
@@ -33,6 +33,7 @@ Configure:
33
33
 
34
34
  RubySpark.configuration do |config|
35
35
  config.access_token = "spark_api_access_token"
36
+ config.timeout = 10.seconds # defaults to 30 seconds
36
37
  end
37
38
  ```
38
39
 
@@ -37,14 +37,14 @@ module RubySpark
37
37
  url = base_url + action
38
38
  body = access_params.merge(params)
39
39
 
40
- HTTParty.post(url, :body => body).parsed_response
40
+ HTTParty.post(url, :body => body, :timeout => timeout).parsed_response
41
41
  end
42
42
 
43
43
  def get(action, params = {})
44
44
  url = base_url + action
45
45
  query = access_params.merge(params)
46
46
 
47
- HTTParty.get(url, :query => query).parsed_response
47
+ HTTParty.get(url, :query => query, :timeout => timeout).parsed_response
48
48
  end
49
49
 
50
50
  def handle(response, &block)
@@ -70,6 +70,10 @@ module RubySpark
70
70
  def access_params
71
71
  {:access_token => @access_token}
72
72
  end
73
+
74
+ def timeout
75
+ RubySpark.timeout
76
+ end
73
77
  end
74
78
 
75
79
  end
@@ -0,0 +1,33 @@
1
+ module RubySpark
2
+ module Configuration
3
+
4
+ def self.included(base)
5
+ base.extend ClassMethods
6
+ end
7
+
8
+ module ClassMethods
9
+ def configuration
10
+ yield self
11
+ end
12
+
13
+ def define_setting(name, default = nil)
14
+ class_variable_set("@@#{name}", default)
15
+
16
+ define_class_method "#{name}=" do |value|
17
+ class_variable_set("@@#{name}", value)
18
+ end
19
+
20
+ define_class_method name do
21
+ class_variable_get("@@#{name}")
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def define_class_method(name, &block)
28
+ (class << self; self; end).instance_eval { define_method name, &block }
29
+ end
30
+ end
31
+
32
+ end
33
+ end
@@ -1,3 +1,3 @@
1
1
  module RubySpark
2
- VERSION = "0.0.5"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/ruby_spark.rb CHANGED
@@ -3,16 +3,13 @@ require 'httparty'
3
3
  require 'ruby_spark/version'
4
4
  require 'ruby_spark/core'
5
5
  require 'ruby_spark/tinker'
6
+ require 'ruby_spark/helpers/configuration'
6
7
 
7
8
  module RubySpark
8
9
  class ConfigurationError < StandardError; end
9
10
 
10
- class << self
11
- attr_accessor :access_token
12
-
13
- def configuration
14
- yield self
15
- end
16
- end
11
+ include Configuration
17
12
 
13
+ define_setting :access_token
14
+ define_setting :timeout, 30
18
15
  end
data/ruby_spark.gemspec CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^spec/})
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.3"
21
- spec.add_development_dependency "rake"
22
- spec.add_development_dependency "rspec"
23
- spec.add_development_dependency "vcr"
24
- spec.add_development_dependency "webmock"
25
- spec.add_development_dependency "pry"
21
+ spec.add_development_dependency "rake", "~> 10.1"
22
+ spec.add_development_dependency "rspec", "~> 2.14"
23
+ spec.add_development_dependency "vcr", "~> 2.5"
24
+ spec.add_development_dependency "webmock", "~> 1.11"
25
+ spec.add_development_dependency "pry", "~> 0.9"
26
26
 
27
- spec.add_dependency "httparty"
27
+ spec.add_dependency "httparty", "~> 0.13"
28
28
  end
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  http_interactions:
3
3
  - request:
4
- method: post
5
- uri: https://api.spark.io/v1/devices/bad_core_id/digitalwrite
4
+ method: get
5
+ uri: https://api.spark.io/v1/devices/bad_core_id/?access_token=good_access_token
6
6
  body:
7
- encoding: UTF-8
8
- string: access_token=good_access_token&params=D7%2CHIGH
7
+ encoding: US-ASCII
8
+ string: ''
9
9
  headers: {}
10
10
  response:
11
11
  status:
@@ -13,11 +13,11 @@ http_interactions:
13
13
  message: Forbidden
14
14
  headers:
15
15
  Access-Control-Allow-Origin:
16
- - '*'
16
+ - ! '*'
17
17
  Content-Type:
18
18
  - application/json; charset=utf-8
19
19
  Date:
20
- - Wed, 25 Dec 2013 06:18:27 GMT
20
+ - Thu, 20 Feb 2014 21:50:42 GMT
21
21
  Server:
22
22
  - nginx/1.4.2
23
23
  X-Powered-By:
@@ -27,11 +27,8 @@ http_interactions:
27
27
  Connection:
28
28
  - keep-alive
29
29
  body:
30
- encoding: UTF-8
31
- string: |-
32
- {
33
- "error": "Permission Denied"
34
- }
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"error\": \"Permission Denied\"\n}"
35
32
  http_version:
36
- recorded_at: Wed, 25 Dec 2013 06:18:27 GMT
33
+ recorded_at: Thu, 20 Feb 2014 21:50:42 GMT
37
34
  recorded_with: VCR 2.5.0
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  http_interactions:
3
3
  - request:
4
- method: post
5
- uri: https://api.spark.io/v1/devices/good_core_id/digitalwrite
4
+ method: get
5
+ uri: https://api.spark.io/v1/devices/good_core_id/?access_token=bad_token
6
6
  body:
7
- encoding: UTF-8
8
- string: access_token=bad_token&params=D7%2CHIGH
7
+ encoding: US-ASCII
8
+ string: ''
9
9
  headers: {}
10
10
  response:
11
11
  status:
@@ -13,11 +13,11 @@ http_interactions:
13
13
  message: Bad Request
14
14
  headers:
15
15
  Access-Control-Allow-Origin:
16
- - '*'
16
+ - ! '*'
17
17
  Content-Type:
18
18
  - application/json; charset=utf-8
19
19
  Date:
20
- - Wed, 25 Dec 2013 06:15:59 GMT
20
+ - Thu, 20 Feb 2014 21:47:57 GMT
21
21
  Server:
22
22
  - nginx/1.4.2
23
23
  X-Powered-By:
@@ -27,13 +27,9 @@ http_interactions:
27
27
  Connection:
28
28
  - keep-alive
29
29
  body:
30
- encoding: UTF-8
31
- string: |-
32
- {
33
- "code": 400,
34
- "error": "invalid_grant",
35
- "error_description": "The access token provided is invalid."
36
- }
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"code\": 400,\n \"error\": \"invalid_grant\",\n \"error_description\":
32
+ \"The access token provided is invalid.\"\n}"
37
33
  http_version:
38
- recorded_at: Wed, 25 Dec 2013 06:15:59 GMT
34
+ recorded_at: Thu, 20 Feb 2014 21:47:57 GMT
39
35
  recorded_with: VCR 2.5.0
@@ -0,0 +1,35 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.spark.io/v1/devices/good_core_id/readTemp
6
+ body:
7
+ encoding: US-ASCII
8
+ string: access_token=good_access_token&params=outside
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Access-Control-Allow-Origin:
16
+ - ! '*'
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Thu, 20 Feb 2014 21:45:09 GMT
21
+ Server:
22
+ - nginx/1.4.2
23
+ X-Powered-By:
24
+ - Express
25
+ Content-Length:
26
+ - '121'
27
+ Connection:
28
+ - keep-alive
29
+ body:
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"id\": \"good_core_id\",\n \"name\": \"chippy\",\n
32
+ \ \"last_app\": null,\n \"connected\": true,\n \"return_value\": 72\n}"
33
+ http_version:
34
+ recorded_at: Thu, 20 Feb 2014 21:45:09 GMT
35
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,36 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spark.io/v1/devices/good_core_id/?access_token=good_access_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Access-Control-Allow-Origin:
16
+ - ! '*'
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Thu, 20 Feb 2014 21:43:08 GMT
21
+ Server:
22
+ - nginx/1.4.2
23
+ X-Powered-By:
24
+ - Express
25
+ Content-Length:
26
+ - '144'
27
+ Connection:
28
+ - keep-alive
29
+ body:
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"id\": \"good_core_id\",\n \"name\": \"chippy\",\n
32
+ \ \"variables\": {\n \"temperature\": \"int32\"\n },\n \"functions\":
33
+ [\n \"readTemp\"\n ]\n}"
34
+ http_version:
35
+ recorded_at: Thu, 20 Feb 2014 21:43:07 GMT
36
+ recorded_with: VCR 2.5.0
@@ -1,37 +1,34 @@
1
1
  ---
2
2
  http_interactions:
3
3
  - request:
4
- method: post
5
- uri: https://api.spark.io/v1/devices/good_core_id/digitalwrite
4
+ method: get
5
+ uri: https://api.spark.io/v1/devices/good_core_id/?access_token=good_access_token
6
6
  body:
7
- encoding: UTF-8
8
- string: access_token=good_access_token&params=D7%2CHIGH
7
+ encoding: US-ASCII
8
+ string: ''
9
9
  headers: {}
10
10
  response:
11
11
  status:
12
- code: 200
13
- message: OK
12
+ code: 403
13
+ message: Forbidden
14
14
  headers:
15
15
  Access-Control-Allow-Origin:
16
- - '*'
16
+ - ! '*'
17
17
  Content-Type:
18
18
  - application/json; charset=utf-8
19
19
  Date:
20
- - Wed, 25 Dec 2013 06:19:10 GMT
20
+ - Thu, 20 Feb 2014 21:50:42 GMT
21
21
  Server:
22
22
  - nginx/1.4.2
23
23
  X-Powered-By:
24
24
  - Express
25
25
  Content-Length:
26
- - '27'
26
+ - '34'
27
27
  Connection:
28
28
  - keep-alive
29
29
  body:
30
- encoding: UTF-8
31
- string: |-
32
- {
33
- "error": "Timed out."
34
- }
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"error\": \"Timed out.\"\n}"
35
32
  http_version:
36
- recorded_at: Wed, 25 Dec 2013 06:19:10 GMT
33
+ recorded_at: Thu, 20 Feb 2014 21:50:42 GMT
37
34
  recorded_with: VCR 2.5.0
@@ -0,0 +1,37 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spark.io/v1/devices/good_core_id/temperature?access_token=good_access_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Access-Control-Allow-Origin:
16
+ - ! '*'
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Thu, 20 Feb 2014 21:44:49 GMT
21
+ Server:
22
+ - nginx/1.4.2
23
+ X-Powered-By:
24
+ - Express
25
+ Content-Length:
26
+ - '218'
27
+ Connection:
28
+ - keep-alive
29
+ body:
30
+ encoding: US-ASCII
31
+ string: ! "{\n \"cmd\": \"VarReturn\",\n \"name\": \"temperature\",\n \"result\":
32
+ 70,\n \"coreInfo\": {\n \"last_app\": \"\",\n \"last_heard\": \"2014-02-20T21:44:49.566Z\",\n
33
+ \ \"connected\": true,\n \"deviceID\": \"good_core_id\"\n
34
+ \ }\n}"
35
+ http_version:
36
+ recorded_at: Thu, 20 Feb 2014 21:44:49 GMT
37
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+ require 'pry'
3
+
4
+ describe RubySpark::Core do
5
+
6
+ context "when things go right" do
7
+ before { RubySpark.access_token = "good_access_token" }
8
+ subject { described_class.new("good_core_id") }
9
+
10
+ describe "#info" do
11
+ it "succeeds when Access Token and Core ID are correct" do
12
+ VCR.use_cassette("info") do
13
+ info = subject.info
14
+
15
+ info.should be_a Hash
16
+ info.keys.should =~ ["id", "name", "variables", "functions"]
17
+ end
18
+ end
19
+ end
20
+
21
+ describe "#variable" do
22
+ it "succeeds when Access Token and Core ID are correct" do
23
+ VCR.use_cassette("variable") do
24
+ subject.variable("temperature").should == 70
25
+ end
26
+ end
27
+ end
28
+
29
+ describe "#function" do
30
+ it "succeeds when Access Token and Core ID are correct" do
31
+ VCR.use_cassette("function") do
32
+ subject.function("readTemp", "outside").should == 72
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ context "when things go wrong" do
39
+ it "returns the appropriate error when Access Token is bad" do
40
+ RubySpark.access_token = "bad_token"
41
+ subject = described_class.new("good_core_id")
42
+
43
+ VCR.use_cassette("bad_token") do
44
+ expect {
45
+ subject.info
46
+ }.to raise_error(RubySpark::Core::ApiError)
47
+ end
48
+
49
+ VCR.use_cassette("bad_token") do
50
+ begin
51
+ subject.info
52
+ rescue => e
53
+ e.message.should == "invalid_grant: The access token provided is invalid."
54
+ end
55
+ end
56
+ end
57
+
58
+ it "returns proper error if Access Token is not defined" do
59
+ RubySpark.access_token = nil
60
+
61
+ expect {
62
+ subject = described_class.new("good_core_id")
63
+ }.to raise_error(RubySpark::ConfigurationError)
64
+ end
65
+
66
+ it "returns the appropriate error when Core ID is bad" do
67
+ RubySpark.access_token = "good_access_token"
68
+ subject = described_class.new("bad_core_id")
69
+
70
+ VCR.use_cassette("bad_core_id") do
71
+ expect {
72
+ subject.info
73
+ }.to raise_error(RubySpark::Core::ApiError)
74
+ end
75
+
76
+ VCR.use_cassette("bad_core_id") do
77
+ begin
78
+ subject.info
79
+ rescue => e
80
+ e.message.should == "Permission Denied: Invalid Core ID"
81
+ end
82
+ end
83
+ end
84
+
85
+ it "returns the appropriate error when the Spark API times out" do
86
+ RubySpark.access_token = "good_access_token"
87
+ subject = described_class.new("good_core_id")
88
+
89
+ VCR.use_cassette("spark_timeout") do
90
+ expect {
91
+ subject.info
92
+ }.to raise_error(RubySpark::Core::ApiError)
93
+ end
94
+
95
+ VCR.use_cassette("spark_timeout") do
96
+ begin
97
+ subject.info
98
+ rescue => e
99
+ e.message.should == "Timed out."
100
+ end
101
+ end
102
+ end
103
+ end
104
+
105
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_spark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eli Fatsi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,86 +28,86 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '10.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '10.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: vcr
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2.5'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '2.5'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1.11'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1.11'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '0.9'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '0.9'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: httparty
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '0.13'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '0.13'
111
111
  description: Ruby Gem to make API calls to the Spark Cloud
112
112
  email:
113
113
  - eli.fatsi@viget.com
@@ -124,6 +124,7 @@ files:
124
124
  - examples/tinker_example.rb
125
125
  - lib/ruby_spark.rb
126
126
  - lib/ruby_spark/core.rb
127
+ - lib/ruby_spark/helpers/configuration.rb
127
128
  - lib/ruby_spark/tinker.rb
128
129
  - lib/ruby_spark/version.rb
129
130
  - ruby_spark.gemspec
@@ -133,8 +134,11 @@ files:
133
134
  - spec/fixtures/vcr_cassettes/bad_token.yml
134
135
  - spec/fixtures/vcr_cassettes/digital_read.yml
135
136
  - spec/fixtures/vcr_cassettes/digital_write.yml
136
- - spec/fixtures/vcr_cassettes/no_token.yml
137
+ - spec/fixtures/vcr_cassettes/function.yml
138
+ - spec/fixtures/vcr_cassettes/info.yml
137
139
  - spec/fixtures/vcr_cassettes/spark_timeout.yml
140
+ - spec/fixtures/vcr_cassettes/variable.yml
141
+ - spec/spark/core_spec.rb
138
142
  - spec/spark/tinker_spec.rb
139
143
  - spec/spec_helper.rb
140
144
  homepage: http://github.com/efatsi/ruby_spark
@@ -147,17 +151,17 @@ require_paths:
147
151
  - lib
148
152
  required_ruby_version: !ruby/object:Gem::Requirement
149
153
  requirements:
150
- - - ! '>='
154
+ - - '>='
151
155
  - !ruby/object:Gem::Version
152
156
  version: '0'
153
157
  required_rubygems_version: !ruby/object:Gem::Requirement
154
158
  requirements:
155
- - - ! '>='
159
+ - - '>='
156
160
  - !ruby/object:Gem::Version
157
161
  version: '0'
158
162
  requirements: []
159
163
  rubyforge_project:
160
- rubygems_version: 2.2.2
164
+ rubygems_version: 2.4.1
161
165
  signing_key:
162
166
  specification_version: 4
163
167
  summary: Ruby Gem to make API calls to the Spark Cloud
@@ -168,7 +172,10 @@ test_files:
168
172
  - spec/fixtures/vcr_cassettes/bad_token.yml
169
173
  - spec/fixtures/vcr_cassettes/digital_read.yml
170
174
  - spec/fixtures/vcr_cassettes/digital_write.yml
171
- - spec/fixtures/vcr_cassettes/no_token.yml
175
+ - spec/fixtures/vcr_cassettes/function.yml
176
+ - spec/fixtures/vcr_cassettes/info.yml
172
177
  - spec/fixtures/vcr_cassettes/spark_timeout.yml
178
+ - spec/fixtures/vcr_cassettes/variable.yml
179
+ - spec/spark/core_spec.rb
173
180
  - spec/spark/tinker_spec.rb
174
181
  - spec/spec_helper.rb
@@ -1,39 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://api.spark.io/v1/devices/good_core_id/digitalread
6
- body:
7
- encoding: UTF-8
8
- string: access_token=good_access_token&params=D6
9
- headers: {}
10
- response:
11
- status:
12
- code: 400
13
- message: Bad Request
14
- headers:
15
- Access-Control-Allow-Origin:
16
- - '*'
17
- Content-Type:
18
- - application/json; charset=utf-8
19
- Date:
20
- - Thu, 26 Dec 2013 17:04:34 GMT
21
- Server:
22
- - nginx/1.4.2
23
- X-Powered-By:
24
- - Express
25
- Content-Length:
26
- - '109'
27
- Connection:
28
- - keep-alive
29
- body:
30
- encoding: UTF-8
31
- string: |-
32
- {
33
- "code": 400,
34
- "error": "invalid_grant",
35
- "error_description": "The access token provided is invalid."
36
- }
37
- http_version:
38
- recorded_at: Thu, 26 Dec 2013 17:04:34 GMT
39
- recorded_with: VCR 2.5.0