leif 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 +4 -4
- data/README.md +56 -20
- data/lib/leif/cli.rb +24 -34
- data/lib/leif/collection_json.rb +6 -0
- data/lib/leif/version.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: 9d21327777d65dd1e53077d2ee7f800dac2c93a6
|
4
|
+
data.tar.gz: ed6d1bf362b4eaa69bc2ddcc416f9164e7d5022d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f8e3aa4056db2da381cb4cad711ed3cc63868457b0cfc3fec1bdc93b98f730632d1a305d1d2868bdb21a769486e9d35c9ec9e1f5b12cfbe485283ec2e6393fc
|
7
|
+
data.tar.gz: 04cb8df37f9aa1cf0410ad4695fde9b601cbb841a4e7574cc639338eab634b2849fac3df64bf616fa5002a67030f3857dee7fcdb2e9ead4f5a4d1a66df3159cd
|
data/README.md
CHANGED
@@ -22,6 +22,8 @@ $ gem install gem-man
|
|
22
22
|
$ gem man leif
|
23
23
|
```
|
24
24
|
|
25
|
+
[manpage]: http://cloudapp.github.io/leif
|
26
|
+
|
25
27
|
## Interactive Commands
|
26
28
|
|
27
29
|
- `root`:
|
@@ -79,35 +81,69 @@ $ gem man leif
|
|
79
81
|
The UI is weak at this point and not very intuitive. To get started, here's a
|
80
82
|
sample workflow. It should give you a general overview of what's possible.
|
81
83
|
|
84
|
+
$ leif
|
85
|
+
...
|
86
|
+
|
87
|
+
-- Links --
|
88
|
+
account, authorization
|
89
|
+
|
82
90
|
> follow authorization
|
91
|
+
...
|
83
92
|
|
84
93
|
> basic arthur@dent.com
|
85
94
|
Password: *****
|
95
|
+
...
|
96
|
+
{
|
97
|
+
"name": "token",
|
98
|
+
"value": "2c2p2B2Y0U3y3c2c"
|
99
|
+
},
|
100
|
+
...
|
86
101
|
|
87
|
-
> token
|
102
|
+
> token 2c2p2B2Y0U3y3c2c
|
103
|
+
...
|
104
|
+
|
105
|
+
-- Links --
|
106
|
+
drops, drops-template, stream, store
|
88
107
|
|
89
108
|
> follow drops
|
90
|
-
|
91
|
-
> follow first
|
109
|
+
...
|
92
110
|
|
93
111
|
> create
|
112
|
+
...
|
113
|
+
Fill the template to create a new item.
|
114
|
+
name [null]: New Drop
|
115
|
+
private [null]: false
|
116
|
+
trash [false]:
|
117
|
+
bookmark_url [null]: http://getcloudapp.com
|
118
|
+
file_size [null]:
|
119
|
+
...
|
120
|
+
|
121
|
+
> items
|
122
|
+
...
|
123
|
+
Select this item [y,n]? y
|
124
|
+
|
125
|
+
-- Links --
|
126
|
+
collection, canonical, icon
|
127
|
+
|
128
|
+
> follow collection
|
129
|
+
...
|
130
|
+
|
131
|
+
> items
|
132
|
+
...
|
133
|
+
Select this item [y,n]? y
|
134
|
+
...
|
94
135
|
|
95
|
-
Name (empty to submit): name
|
96
|
-
Value: CloudApp
|
97
|
-
|
98
|
-
Name (empty to submit): bookmark_url
|
99
|
-
Value: http://getcloudapp.com
|
100
|
-
|
101
|
-
Name (empty to submit):
|
102
|
-
|
103
|
-
> root
|
104
|
-
> follow drops
|
105
136
|
> update
|
137
|
+
...
|
138
|
+
Fill the template to update the item.
|
139
|
+
name ["New Drop"]: Updated Drop
|
140
|
+
private [false]:
|
141
|
+
trash [false]:
|
142
|
+
bookmark_url [null]:
|
143
|
+
file_size [null]:
|
144
|
+
...
|
106
145
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
[manpage]: http://cloudapp.github.io/leif
|
146
|
+
> root
|
147
|
+
...
|
148
|
+
-- Links --
|
149
|
+
drops, drops-template, account, stream
|
data/lib/leif/cli.rb
CHANGED
@@ -76,38 +76,29 @@ module Leif
|
|
76
76
|
make_request subject.link_href(relation)
|
77
77
|
end
|
78
78
|
|
79
|
-
def
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
template = template.fill_field name, value
|
79
|
+
def fill_and_submit_template(template, label)
|
80
|
+
print_template template
|
81
|
+
puts
|
82
|
+
puts label
|
83
|
+
template.each do |name, value|
|
84
|
+
printed_value = value.inspect
|
85
|
+
printed_value = 'null' if printed_value == 'nil'
|
86
|
+
new_value = ask("#{name} [#{printed_value}]: ")
|
87
|
+
new_value = new_value.empty? ? value : convert_to_primitive(new_value)
|
88
|
+
template = template.fill_field name, new_value
|
91
89
|
end
|
92
90
|
|
93
91
|
make_request template.href, template.convert_to_json, template.method
|
94
92
|
end
|
95
93
|
|
96
|
-
def
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
print_template template, 'Update Item'
|
101
|
-
puts
|
102
|
-
puts 'Fill the template to update the item.'
|
103
|
-
name = ask('Name (empty to submit): ')
|
104
|
-
break if name.empty?
|
105
|
-
value = ask_for_primitive('Value: ')
|
106
|
-
|
107
|
-
template = template.fill_field name, value
|
108
|
-
end
|
94
|
+
def create_item
|
95
|
+
fill_and_submit_template collection.template,
|
96
|
+
'Fill the template to create a new item.'
|
97
|
+
end
|
109
98
|
|
110
|
-
|
99
|
+
def update(item)
|
100
|
+
fill_and_submit_template collection.item_template(item),
|
101
|
+
'Fill the template to update the item.'
|
111
102
|
end
|
112
103
|
|
113
104
|
def print_request
|
@@ -147,8 +138,8 @@ module Leif
|
|
147
138
|
end
|
148
139
|
end
|
149
140
|
|
150
|
-
def print_template(template = collection.template
|
151
|
-
banner
|
141
|
+
def print_template(template = collection.template)
|
142
|
+
banner 'Template' do |out|
|
152
143
|
out.print JSON.pretty_generate(template).lines
|
153
144
|
end
|
154
145
|
end
|
@@ -270,7 +261,6 @@ EOS
|
|
270
261
|
when 'r', 'root' then get_root
|
271
262
|
when 'f', 'follow' then follow_link(collection, *args)
|
272
263
|
when 'create' then create_item
|
273
|
-
when 'update' then update_item
|
274
264
|
|
275
265
|
when 'request' then print_request; get_next_action
|
276
266
|
when 'response' then print_response; get_next_action
|
@@ -301,12 +291,12 @@ EOS
|
|
301
291
|
[ input.first, input[1..-1] ]
|
302
292
|
end
|
303
293
|
|
304
|
-
def
|
305
|
-
value = ask(message)
|
294
|
+
def convert_to_primitive(value)
|
306
295
|
case value
|
307
|
-
when 'null', 'nil' then nil
|
308
|
-
when '"null"'
|
309
|
-
when '"nil"'
|
296
|
+
when 'null', 'nil', '' then nil
|
297
|
+
when '"null"' then 'null'
|
298
|
+
when '"nil"' then 'nil'
|
299
|
+
when '""' then ''
|
310
300
|
|
311
301
|
when 'true' then true
|
312
302
|
when 'false' then false
|
data/lib/leif/collection_json.rb
CHANGED
@@ -47,6 +47,8 @@ module Leif
|
|
47
47
|
end
|
48
48
|
|
49
49
|
class Template < SimpleDelegator
|
50
|
+
include Enumerable
|
51
|
+
|
50
52
|
attr_accessor :href, :method
|
51
53
|
|
52
54
|
def initialize(template, href, method)
|
@@ -55,6 +57,10 @@ module Leif
|
|
55
57
|
super template
|
56
58
|
end
|
57
59
|
|
60
|
+
def each(&block)
|
61
|
+
convert_to_json.each(&block)
|
62
|
+
end
|
63
|
+
|
58
64
|
def convert_to_json
|
59
65
|
fetch('data').each_with_object({}) do |datum, json|
|
60
66
|
json[datum['name']] = datum['value']
|
data/lib/leif/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: leif
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Larry Marburger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|