flowthings 0.1.3 → 0.1.4
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 +4 -4
- data/lib/flowthings/client.rb +2 -2
- data/lib/flowthings/connection.rb +8 -6
- data/lib/flowthings/crud/base.rb +12 -1
- data/lib/flowthings/crud/extended_methods.rb +13 -6
- data/lib/flowthings/platform_objects/drop.rb +13 -5
- data/lib/flowthings/utils/crud_utils.rb +2 -2
- data/lib/flowthings/version.rb +1 -1
- data/spec/client_spec.rb +0 -14
- data/spec/platform_objects/drop_spec.rb +22 -1
- data/spec/platform_objects/flow_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bcb7b80d3fae39964b12d431b1402ad09fa1602
|
4
|
+
data.tar.gz: 43543caf9dcb122073d217cab8bdd854adb1eb08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b32768256a5b6d8c1de7f496a5902e461a3b7ef85eda3c13ba0720d17e88b5e1c56f95d139ed4cc3acbe8a99b8da021ebda65f29f5ac1159a77e8ca0f248fd15
|
7
|
+
data.tar.gz: 898beb5607198b7d81262a1d022ecff9000c5a75d9b527f4a9c0c0836429d41658b70fddcd77dfaa6c9578d9ad42a8bba4345ab3b025532fb419e880e379a099
|
data/lib/flowthings/client.rb
CHANGED
@@ -43,8 +43,8 @@ module Flowthings
|
|
43
43
|
|
44
44
|
if service_name == "drop"
|
45
45
|
instance_eval <<-EOS
|
46
|
-
def #{service_name}(
|
47
|
-
#{service}.new
|
46
|
+
def #{service_name}(flow_id=nil)
|
47
|
+
#{service}.new flow_id, connection, get_options
|
48
48
|
end
|
49
49
|
EOS
|
50
50
|
else
|
@@ -4,20 +4,22 @@ require 'flowthings/error'
|
|
4
4
|
|
5
5
|
module Flowthings
|
6
6
|
module Connection
|
7
|
-
|
8
7
|
private
|
8
|
+
|
9
9
|
def connection
|
10
10
|
url = @endpoint
|
11
11
|
if @secure
|
12
|
-
url =
|
12
|
+
url = 'https://' + url
|
13
13
|
else
|
14
|
-
url =
|
14
|
+
url = 'http://' + url
|
15
15
|
end
|
16
16
|
|
17
17
|
@connection = Excon.new(url,
|
18
|
-
headers: {
|
19
|
-
|
18
|
+
headers: {
|
19
|
+
'X-Auth-Token' => @account_token,
|
20
|
+
'Content-Type' => 'application/json',
|
21
|
+
'User-Agent' => @user_agent
|
22
|
+
})
|
20
23
|
end
|
21
|
-
|
22
24
|
end
|
23
25
|
end
|
data/lib/flowthings/crud/base.rb
CHANGED
@@ -13,7 +13,7 @@ module Flowthings
|
|
13
13
|
platform_post path, data=data, params=params
|
14
14
|
end
|
15
15
|
|
16
|
-
def read(id, params={})
|
16
|
+
def read(id=nil, params={})
|
17
17
|
path = mk_path id: id
|
18
18
|
params = mk_params params
|
19
19
|
|
@@ -35,6 +35,17 @@ module Flowthings
|
|
35
35
|
platform_delete path, params=params
|
36
36
|
end
|
37
37
|
|
38
|
+
def read_many(ids, params={})
|
39
|
+
# read many is essentially a neutered version of find.
|
40
|
+
# this is largely unimplemented
|
41
|
+
path = mk_path
|
42
|
+
params = mk_params params
|
43
|
+
|
44
|
+
raise "This is not yet implemented"
|
45
|
+
|
46
|
+
platform_get path, params=params
|
47
|
+
end
|
48
|
+
|
38
49
|
alias_method :delete, :destroy
|
39
50
|
end
|
40
51
|
end
|
@@ -4,7 +4,12 @@ module Flowthings
|
|
4
4
|
module Crud
|
5
5
|
module ExtendedMethods
|
6
6
|
include Flowthings::CrudUtils
|
7
|
-
|
7
|
+
|
8
|
+
def destroy_all(params={})
|
9
|
+
path = mk_path
|
10
|
+
params = mk_params params
|
11
|
+
|
12
|
+
platform_delete path, params=params
|
8
13
|
end
|
9
14
|
|
10
15
|
def find_many(filters={}, params={})
|
@@ -12,18 +17,20 @@ module Flowthings
|
|
12
17
|
params = mk_params params
|
13
18
|
data = []
|
14
19
|
|
15
|
-
@
|
16
|
-
if filters[
|
17
|
-
data << {"flowId" =>
|
18
|
-
"params" => filters[
|
20
|
+
@flow_ids.each do flow_id
|
21
|
+
if filters[flow_id]
|
22
|
+
data << {"flowId" => flow_id,
|
23
|
+
"params" => filters[flow_id]}
|
19
24
|
else
|
20
|
-
data << {"flowId" =>
|
25
|
+
data << {"flowId" => flow_id}
|
21
26
|
end
|
22
27
|
end
|
23
28
|
|
24
29
|
|
25
30
|
platform_mget path, data=data, params=params
|
26
31
|
end
|
32
|
+
|
33
|
+
alias_method :delete_all, :destroy_all
|
27
34
|
end
|
28
35
|
end
|
29
36
|
end
|
@@ -12,18 +12,26 @@ module Flowthings
|
|
12
12
|
include Flowthings::Crud::MemberUpdate
|
13
13
|
include Flowthings::Crud::Aggregate
|
14
14
|
|
15
|
-
attr_accessor :
|
15
|
+
attr_accessor :flow_id, :flow_ids
|
16
16
|
|
17
|
-
def initialize(
|
18
|
-
if
|
19
|
-
@
|
17
|
+
def initialize(flow_id, connection, options={})
|
18
|
+
if flow_id.kind_of? Array
|
19
|
+
@flow_ids = flow_id
|
20
20
|
else
|
21
|
-
@
|
21
|
+
@flow_id = flow_id
|
22
22
|
end
|
23
23
|
|
24
24
|
super connection, options
|
25
25
|
end
|
26
26
|
|
27
|
+
def create(data, params={})
|
28
|
+
if !data["path"] && !@flow_id
|
29
|
+
raise ArgumentError.new("You either need a path in the drop data, or the Drop instance needs a flow_id")
|
30
|
+
end
|
31
|
+
|
32
|
+
super data, params
|
33
|
+
end
|
34
|
+
|
27
35
|
end
|
28
36
|
|
29
37
|
end
|
data/lib/flowthings/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -28,20 +28,6 @@ describe Flowthings::Client do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
if service == 'drop'
|
32
|
-
it "should throw an error if it is called without an argument" do
|
33
|
-
expect { @api.send("#{service}") }.to raise_error
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should raise an argument error" do
|
37
|
-
expect { @api.send("#{service}") }.to raise_error(ArgumentError)
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should not throw an error if it is called with an argument" do
|
41
|
-
expect { @api.send("#{service}", "d") }.not_to raise_error
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
31
|
end # describe block
|
46
32
|
|
47
33
|
end # services loop
|
@@ -18,7 +18,7 @@ describe Flowthings::Drop do
|
|
18
18
|
describe ".get" do
|
19
19
|
it "should get the proper information from the platform" do
|
20
20
|
api = Flowthings::Client.new({account_name: "greg",
|
21
|
-
account_token: "
|
21
|
+
account_token: "3PxWefluMlQeMtFpy9WPGkeijU5G"})
|
22
22
|
|
23
23
|
result = {
|
24
24
|
"id" => "d551720070cf25d405fb1e495",
|
@@ -93,6 +93,27 @@ describe Flowthings::Drop do
|
|
93
93
|
expect(destroy_response.empty?).to be true
|
94
94
|
end
|
95
95
|
|
96
|
+
it "should create a flow with a path and no flow_id" do
|
97
|
+
@drop["path"] = @path
|
98
|
+
|
99
|
+
create_response = @api.drop.create @drop
|
100
|
+
expect(create_response.empty?).not_to be true
|
101
|
+
expect(create_response["flowId"]).to eq(@flowId)
|
102
|
+
expect(create_response["elems"]).to eq(@drop["elems"])
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should error if it does not have a path or a flow_id" do
|
106
|
+
expect {
|
107
|
+
@api.drop.create @drop
|
108
|
+
}.to raise_error
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should be an argument error" do
|
112
|
+
expect {
|
113
|
+
@api.drop.create @drop
|
114
|
+
}.to raise_error(ArgumentError)
|
115
|
+
end
|
116
|
+
|
96
117
|
end
|
97
118
|
|
98
119
|
describe ".aggregate" do
|
@@ -13,7 +13,7 @@ describe Flowthings::Flow do
|
|
13
13
|
describe ".read" do
|
14
14
|
it "should get the proper information from the platform" do
|
15
15
|
api = Flowthings::Client.new({account_name: 'greg',
|
16
|
-
account_token: "
|
16
|
+
account_token: "3PxWefluMlQeMtFpy9WPGkeijU5G"})
|
17
17
|
|
18
18
|
response = {"id" => "f55171ff90cf2ece6103ef410",
|
19
19
|
"capacity" => 1000,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flowthings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Meyer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|