ohmage 0.0.7 → 0.0.8

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