ugc 0.9.2 → 0.9.3
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 +7 -0
- data/Gemfile.lock +5 -5
- data/README.md +10 -0
- data/bin/ugc +5 -1
- data/lib/ugc/commands/post.rb +9 -2
- data/lib/ugc/commands/put.rb +9 -2
- data/lib/ugc/helpers/rest.rb +17 -0
- data/lib/ugc/version.rb +1 -1
- metadata +20 -41
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 72d7b2c5c9b42a1e198c8bd6828a1c86822f8dbc
|
4
|
+
data.tar.gz: f866ba7a2730d4bc129b0e8490075ac90e80cdfa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c7492d652e1d709685c282a087b6b950a6c21b1e670db2f70145b5fb04a4e281bf6d4d843e4e13dc2436a7a5396dd438420b68e1eb9eaf6bd69abaab3390375f
|
7
|
+
data.tar.gz: 38e564db8b05ac4a97dbafc4d376393626b01d3663ca02e7cda8b5db5049dd81ae51e4455720415df50933e7ab53d5390ebb890a7162e495602304d895e2291b
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ugc (0.9.
|
4
|
+
ugc (0.9.3)
|
5
5
|
command_line_reporter
|
6
6
|
gli (= 2.5.0)
|
7
7
|
highline
|
@@ -30,10 +30,10 @@ GEM
|
|
30
30
|
gherkin (2.11.5)
|
31
31
|
json (>= 1.4.6)
|
32
32
|
gli (2.5.0)
|
33
|
-
highline (1.6.
|
33
|
+
highline (1.6.16)
|
34
34
|
json (1.7.6)
|
35
|
-
mime-types (1.
|
36
|
-
multi_json (1.
|
35
|
+
mime-types (1.21)
|
36
|
+
multi_json (1.7.2)
|
37
37
|
rake (10.0.3)
|
38
38
|
rdoc (3.12)
|
39
39
|
json (~> 1.4)
|
@@ -41,7 +41,7 @@ GEM
|
|
41
41
|
mime-types (>= 1.16)
|
42
42
|
rspec-expectations (2.12.1)
|
43
43
|
diff-lcs (~> 1.1.3)
|
44
|
-
usergrid_iron (0.0
|
44
|
+
usergrid_iron (0.9.0)
|
45
45
|
multi_json
|
46
46
|
rest-client
|
47
47
|
|
data/README.md
CHANGED
@@ -14,6 +14,7 @@ ugc enables convenient terminal access to Apigee's App Services (aka Usergrid).
|
|
14
14
|
* Ruby evaluation within data elements
|
15
15
|
* Can optionally emits raw output (--verbose switch)
|
16
16
|
* Extended SQL syntax (adds 'from' and 'limit' clauses to standard Usergrid syntax)
|
17
|
+
* File upload (-f or --file option) on PUT and POST
|
17
18
|
|
18
19
|
## Installation
|
19
20
|
|
@@ -152,6 +153,10 @@ Note synonym commands:
|
|
152
153
|
created 1357344269759
|
153
154
|
modified 1357344537483
|
154
155
|
breed Mixed
|
156
|
+
|
157
|
+
If you have more than ten dogs, it might be easier to target your specific dog when you update it:
|
158
|
+
|
159
|
+
```ugc update dogs/79dfb563-56cb-11e2-a6b8-14109fd49581 '{ "breed" : "Mixed" }'```
|
155
160
|
|
156
161
|
#### show off our latest dogs
|
157
162
|
|
@@ -172,6 +177,11 @@ If you specify column names in your query, you will be unable to reference the r
|
|
172
177
|
|
173
178
|
## Release notes
|
174
179
|
|
180
|
+
### 0.9.3
|
181
|
+
* New features
|
182
|
+
1. file upload function with -f (--file) switch
|
183
|
+
* eg. `$ ugc post something "property1Name: 'property1Value'" --file property2Name=/path/to/myfile`
|
184
|
+
|
175
185
|
### 0.9.2
|
176
186
|
* New features
|
177
187
|
1. access management functions with -m (--management) global switch
|
data/bin/ugc
CHANGED
@@ -69,7 +69,11 @@ end
|
|
69
69
|
on_error do |e|
|
70
70
|
# return false to skip default error handling
|
71
71
|
if e.is_a? RestClient::Exception
|
72
|
-
|
72
|
+
begin
|
73
|
+
puts e.response.data['error_description']
|
74
|
+
rescue MultiJson::DecodeError
|
75
|
+
puts e.response
|
76
|
+
end
|
73
77
|
false
|
74
78
|
else
|
75
79
|
true
|
data/lib/ugc/commands/post.rb
CHANGED
@@ -2,12 +2,19 @@ desc 'non-idempotent create or update (usually create)'
|
|
2
2
|
arg_name 'url [data]'
|
3
3
|
|
4
4
|
command :post,:create do |c|
|
5
|
-
c.flag [:d,:data]
|
5
|
+
c.flag [:d,:data], :desc => 'does nothing: for ease of conversion from curl'
|
6
|
+
c.flag [:f,:file], :must_match => /.*=.*/, :arg_name => 'field_name=file_name', :desc => 'will force multipart upload'
|
6
7
|
|
7
8
|
c.action do |global_options,options,args|
|
8
9
|
help_now! unless args[0]
|
9
10
|
|
10
|
-
|
11
|
+
resource = $context[args[0]]
|
12
|
+
payload = parse_data(options[:data] || args[1])
|
13
|
+
if options[:file]
|
14
|
+
format_response multipart_upload resource, payload, options[:file]
|
15
|
+
else
|
16
|
+
format_response resource.post payload
|
17
|
+
end
|
11
18
|
end
|
12
19
|
|
13
20
|
end
|
data/lib/ugc/commands/put.rb
CHANGED
@@ -2,12 +2,19 @@ desc 'idempotent create or update (usually an update)'
|
|
2
2
|
arg_name 'url [data]'
|
3
3
|
|
4
4
|
command :put,:update do |c|
|
5
|
-
c.flag [:d,:data]
|
5
|
+
c.flag [:d,:data], :desc => 'does nothing: for ease of conversion from curl'
|
6
|
+
c.flag [:f,:file], :must_match => /=/, :arg_name => 'field_name=file_name', :desc => 'will force multipart upload'
|
6
7
|
|
7
8
|
c.action do |global_options,options,args|
|
8
9
|
help_now! unless args[0]
|
9
10
|
|
10
|
-
|
11
|
+
resource = $context[args[0]]
|
12
|
+
payload = parse_data(options[:data] || args[1])
|
13
|
+
if options[:file]
|
14
|
+
format_response multipart_upload resource, payload, options[:file], :put
|
15
|
+
else
|
16
|
+
format_response resource.put payload
|
17
|
+
end
|
11
18
|
end
|
12
19
|
|
13
20
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
def multipart_upload(resource, payload, file, method=:post, additional_headers = {})
|
2
|
+
payload = payload.is_a?(Hash) ? payload : MultiJson.load(payload)
|
3
|
+
filename = 'file'
|
4
|
+
filename, file = file.split '=' if file.is_a?(String)
|
5
|
+
file = file[1..-1] if file.start_with? '@' # be kind to curl users
|
6
|
+
payload[filename] = file.is_a?(File) ? file : File.new(file, 'rb')
|
7
|
+
payload[:multipart] = true
|
8
|
+
headers = (resource.options[:headers] || {}).merge(additional_headers)
|
9
|
+
response = RestClient::Request.execute(resource.options.merge(
|
10
|
+
:method => method,
|
11
|
+
:url => resource.url,
|
12
|
+
:payload => payload,
|
13
|
+
:headers => headers))
|
14
|
+
resource.instance_variable_set :@response, response
|
15
|
+
response.resource = resource
|
16
|
+
response
|
17
|
+
end
|
data/lib/ugc/version.rb
CHANGED
metadata
CHANGED
@@ -1,68 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ugc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Scott Ganyo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-03-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rdoc
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: aruba
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: gli
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - '='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - '='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,49 +69,43 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: usergrid_iron
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 0.0.9
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 0.0.9
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: highline
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: command_line_reporter
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
description:
|
@@ -156,6 +141,7 @@ files:
|
|
156
141
|
- lib/ugc/helpers/format.rb
|
157
142
|
- lib/ugc/helpers/history.rb
|
158
143
|
- lib/ugc/helpers/parse.rb
|
144
|
+
- lib/ugc/helpers/rest.rb
|
159
145
|
- lib/ugc/management.rb
|
160
146
|
- lib/ugc/settings.rb
|
161
147
|
- lib/ugc/version.rb
|
@@ -165,6 +151,7 @@ files:
|
|
165
151
|
- ugc.rdoc
|
166
152
|
homepage: http://ganyo.com
|
167
153
|
licenses: []
|
154
|
+
metadata: {}
|
168
155
|
post_install_message:
|
169
156
|
rdoc_options:
|
170
157
|
- --title
|
@@ -176,27 +163,19 @@ require_paths:
|
|
176
163
|
- lib
|
177
164
|
- lib
|
178
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
179
|
-
none: false
|
180
166
|
requirements:
|
181
|
-
- -
|
167
|
+
- - '>='
|
182
168
|
- !ruby/object:Gem::Version
|
183
169
|
version: '0'
|
184
|
-
segments:
|
185
|
-
- 0
|
186
|
-
hash: -2746687193506333932
|
187
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
171
|
requirements:
|
190
|
-
- -
|
172
|
+
- - '>='
|
191
173
|
- !ruby/object:Gem::Version
|
192
174
|
version: '0'
|
193
|
-
segments:
|
194
|
-
- 0
|
195
|
-
hash: -2746687193506333932
|
196
175
|
requirements: []
|
197
176
|
rubyforge_project:
|
198
|
-
rubygems_version:
|
177
|
+
rubygems_version: 2.0.3
|
199
178
|
signing_key:
|
200
|
-
specification_version:
|
179
|
+
specification_version: 4
|
201
180
|
summary: Usergrid Command Line
|
202
181
|
test_files: []
|