ohmage 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ohmage.rb +1 -0
- data/lib/ohmage/api.rb +2 -0
- data/lib/ohmage/cli.rb +3 -3
- data/lib/ohmage/document.rb +28 -0
- data/lib/ohmage/entity/document.rb +16 -0
- data/lib/ohmage/request.rb +8 -1
- data/lib/ohmage/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59ab780b8079f500ce47352892b7decd6e1c0ef8
|
4
|
+
data.tar.gz: f7055a09f90ef2c8643c6977a115dae2fbdc9f11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df90c35418b29eeea0e4fb2a7ef80c0f11591e363204123fd214a2b5285ce8ce798026d9a66ff866df052363740199aa61e1faf2fc4460db55dac3e4b8d0b5b7
|
7
|
+
data.tar.gz: ba6990e6bb8bb75fb477d405f63dbf85a8057a2be5dc95ce753ef0db4dd112e9d80027748cc7cca315883820ecdc3cf9ab4b7cc0d0be886b37ddade14c7bfbf2
|
data/lib/ohmage.rb
CHANGED
data/lib/ohmage/api.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'ohmage/user'
|
2
2
|
require 'ohmage/campaign'
|
3
3
|
require 'ohmage/clazz'
|
4
|
+
require 'ohmage/document'
|
4
5
|
|
5
6
|
module Ohmage
|
6
7
|
module API
|
7
8
|
include Ohmage::API::User
|
8
9
|
include Ohmage::API::Clazz
|
9
10
|
include Ohmage::API::Campaign
|
11
|
+
include Ohmage::API::Document
|
10
12
|
end
|
11
13
|
end
|
data/lib/ohmage/cli.rb
CHANGED
@@ -21,7 +21,7 @@ module Ohmage
|
|
21
21
|
ls = Ohmage.class_read(class_urn_list: urn_list)
|
22
22
|
Ohmage::CliHelpers.format_output(ls, options[:table], [:name, :urn, :description, :role, :users], :urn)
|
23
23
|
end
|
24
|
-
map :
|
24
|
+
map class: :clazz
|
25
25
|
|
26
26
|
desc 'ls user <options>', 'Lists users that match criteria of search, all viewable if no search'
|
27
27
|
option :search, aliases: :s, desc: 'a search string to limit the returned user list'
|
@@ -56,7 +56,7 @@ module Ohmage
|
|
56
56
|
description: options[:description])
|
57
57
|
Ohmage::CliHelpers.format_output(new_class, options[:table], [:urn, :name, :description], :urn)
|
58
58
|
end
|
59
|
-
map :
|
59
|
+
map class: :clazz
|
60
60
|
end
|
61
61
|
|
62
62
|
class Delete < Thor
|
@@ -64,7 +64,7 @@ module Ohmage
|
|
64
64
|
def clazz(urn)
|
65
65
|
Ohmage.class_delete(class_urn: urn)
|
66
66
|
end
|
67
|
-
map :
|
67
|
+
map class: :clazz
|
68
68
|
|
69
69
|
desc 'delete user <username>', 'deletes an existing ohmage user'
|
70
70
|
def user(username)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Ohmage
|
2
|
+
module API
|
3
|
+
module Document
|
4
|
+
#
|
5
|
+
# ohmage document/read call
|
6
|
+
# @see https://github.com/ohmage/server/wiki/Document-Manipulation#document-information-read
|
7
|
+
# @returns [Array: Ohmage::Document objects] matching criteria and output format
|
8
|
+
def document_read(params = {})
|
9
|
+
request = Ohmage::Request.new(self, :post, 'document/read', params)
|
10
|
+
# TODO: make a utility to abstract creation of array of base objects
|
11
|
+
t = []
|
12
|
+
request.perform[:data].each do |k, v|
|
13
|
+
t << Ohmage::Document.new(k => v)
|
14
|
+
end
|
15
|
+
t
|
16
|
+
end
|
17
|
+
|
18
|
+
def document_create(file, params = {})
|
19
|
+
params[:document] = HTTP::FormData::File.new(file)
|
20
|
+
# catch lack of document_name param, since we can just append the filename we have!
|
21
|
+
params[:document_name] = File.basename(file) unless params.key?(:document_name)
|
22
|
+
request = Ohmage::Request.new(self, :post, 'document/create', params)
|
23
|
+
request.perform
|
24
|
+
document_read(document_name_search: params[:document_name])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Ohmage
|
2
|
+
class Document
|
3
|
+
# @return [String]
|
4
|
+
attr_reader :urn, :name, :size, :user_max_role, :user_role, :privacy_state, :last_modified, :description
|
5
|
+
alias_method :id, :urn
|
6
|
+
# @return [Hash]
|
7
|
+
attr_reader :campaign_role, :class_role
|
8
|
+
|
9
|
+
def initialize(attrs = {})
|
10
|
+
@urn = attrs.keys[0].to_s
|
11
|
+
attrs.values[0].each do |k, v|
|
12
|
+
instance_variable_set("@#{k}", v)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/ohmage/request.rb
CHANGED
@@ -14,9 +14,16 @@ module Ohmage
|
|
14
14
|
end
|
15
15
|
|
16
16
|
@request_method = request_method
|
17
|
+
# some create/upload apis require content to be sent as multipart form. catch that here
|
18
|
+
case api
|
19
|
+
when 'document/create', 'survey/upload'
|
20
|
+
@params = {form: @options}
|
21
|
+
else
|
22
|
+
@params = {params: @options}
|
23
|
+
end
|
17
24
|
end
|
18
25
|
def perform # rubocop:disable all
|
19
|
-
response = HTTP.public_send(@request_method, @uri.to_s, params
|
26
|
+
response = HTTP.public_send(@request_method, @uri.to_s, @params)
|
20
27
|
response_body = symbolize_keys!(response.parse)
|
21
28
|
response_headers = response.headers
|
22
29
|
begin
|
data/lib/ohmage/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ohmage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Nolen
|
@@ -83,8 +83,10 @@ files:
|
|
83
83
|
- lib/ohmage/cli.rb
|
84
84
|
- lib/ohmage/cli_helpers.rb
|
85
85
|
- lib/ohmage/client.rb
|
86
|
+
- lib/ohmage/document.rb
|
86
87
|
- lib/ohmage/entity/campaign.rb
|
87
88
|
- lib/ohmage/entity/clazz.rb
|
89
|
+
- lib/ohmage/entity/document.rb
|
88
90
|
- lib/ohmage/entity/user.rb
|
89
91
|
- lib/ohmage/error.rb
|
90
92
|
- lib/ohmage/request.rb
|