ohmage 0.0.7 → 0.0.8

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: 59ab780b8079f500ce47352892b7decd6e1c0ef8
4
- data.tar.gz: f7055a09f90ef2c8643c6977a115dae2fbdc9f11
3
+ metadata.gz: b7ea98c99950eb34b5f6b3094e0a0ec13ef08093
4
+ data.tar.gz: 3af51ee5659c687a28ae39abbae831ba526915af
5
5
  SHA512:
6
- metadata.gz: df90c35418b29eeea0e4fb2a7ef80c0f11591e363204123fd214a2b5285ce8ce798026d9a66ff866df052363740199aa61e1faf2fc4460db55dac3e4b8d0b5b7
7
- data.tar.gz: ba6990e6bb8bb75fb477d405f63dbf85a8057a2be5dc95ce753ef0db4dd112e9d80027748cc7cca315883820ecdc3cf9ab4b7cc0d0be886b37ddade14c7bfbf2
6
+ metadata.gz: eb9c98a3daa3a036977e18f2bccb09dab46540dacecb7a482cf84fa2f15388d05159f635e3e3be94931b7288da6fb491ad71574080771dba9f2e56eb3c454884
7
+ data.tar.gz: 861c83f6a29ac44769f6ef7b8f7025ef08fb14bd90bfeafff5b6538fdd4890fa36d985e0de10a66d362be7df2be3a78f4c801e4163cd7ffc3ec3c8d1abfafa6d
data/lib/ohmage/cli.rb CHANGED
@@ -29,6 +29,21 @@ module Ohmage
29
29
  ls = Ohmage.user_read(user_list: username, username_search: options[:search])
30
30
  Ohmage::CliHelpers.format_output(ls, options[:table], [:username, :first_name, :last_name, :email_address, :enabled, :admin, :new_account], :username)
31
31
  end
32
+
33
+ desc 'ls document <options>', 'Lists documents that match criteria and parameters'
34
+ option :search, aliases: :s, desc: 'a search string to limit the returned user list'
35
+ option :campaign, desc: 'limit results to only documents attached to given urn list'
36
+ option :class, desc: 'limit results to only documents attached to given urn list'
37
+ option :description, aliases: :d, desc: 'limit results to those with this string in description'
38
+ option :personal, type: :boolean, desc: 'will return only documents explicitly related to user if true'
39
+ def document()
40
+ ls = Ohmage.document_read(document_name_search: options[:search],
41
+ document_description_search: options[:description],
42
+ campaign_urn_list: options[:campaign],
43
+ class_urn_list: options[:class],
44
+ personal_documents: options[:personal])
45
+ Ohmage::CliHelpers.format_output(ls, options[:table], [:urn, :name, :description, :privacy_state], :name)
46
+ end
32
47
  end
33
48
 
34
49
  class Create < Thor
@@ -57,6 +72,39 @@ module Ohmage
57
72
  Ohmage::CliHelpers.format_output(new_class, options[:table], [:urn, :name, :description], :urn)
58
73
  end
59
74
  map class: :clazz
75
+
76
+ desc 'create document <file> <options>', 'creates a new document with parameters'
77
+ option :description, aliases: :d, type: :string, desc: 'description of document'
78
+ option :name, aliases: :n, type: :string, desc: 'name of document (defaults to filename if not passed)'
79
+ option :share, type: :boolean, default: false, desc: 'is document private or shared?'
80
+ option :class_role, type: :string, desc: 'class_role param: like urn:class:public;reader'
81
+ option :campaign_role, type: :string, desc: 'campaign_role param: like urn:campaign:snack;reader'
82
+ def document(file)
83
+ case options[:share]
84
+ when false
85
+ privacy_state = 'private'
86
+ else
87
+ privacy_state = 'shared'
88
+ end
89
+ if options[:campaign_role].nil? && options[:class_role].nil?
90
+ puts 'must supply one of [--class_role, --campaign_role]'
91
+ elsif options[:name].nil?
92
+ new_document = Ohmage.document_create(file,
93
+ document_class_role_list: options[:class_role],
94
+ document_campaign_role_list: options[:campaign_role],
95
+ privacy_state: privacy_state,
96
+ description: options[:description])
97
+ else
98
+ new_document = Ohmage.document_create(file,
99
+ document_class_role_list: options[:class_role],
100
+ document_campaign_role_list: options[:campaign_role],
101
+ privacy_state: privacy_state,
102
+ description: options[:description],
103
+ document_name: options[:name])
104
+ end
105
+ Ohmage::CliHelpers.format_output(new_document, options[:table], [:urn, :name, :description, :privacy_state], :name)
106
+ end
107
+
60
108
  end
61
109
 
62
110
  class Delete < Thor
@@ -75,6 +123,11 @@ module Ohmage
75
123
  def campaign(urn)
76
124
  Ohmage.campaign_delete(campaign_urn: urn)
77
125
  end
126
+
127
+ desc 'delete document <document_id>', 'deletes an existing ohmage document'
128
+ def document(id)
129
+ Ohmage.document_delete(document_id: id)
130
+ end
78
131
  end
79
132
 
80
133
  class Update < Thor
@@ -23,6 +23,11 @@ module Ohmage
23
23
  request.perform
24
24
  document_read(document_name_search: params[:document_name])
25
25
  end
26
+
27
+ def document_delete(params = {})
28
+ request = Ohmage::Request.new(self, :post, 'document/delete', params)
29
+ request.perform
30
+ end
26
31
  end
27
32
  end
28
33
  end
@@ -14,7 +14,7 @@ module Ohmage
14
14
 
15
15
  # @return [Integer]
16
16
  def patch
17
- 7
17
+ 8
18
18
  end
19
19
 
20
20
  # @return [Integer, NilClass]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohmage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Nolen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-06 00:00:00.000000000 Z
11
+ date: 2015-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable