shelly 0.1.4.pre → 0.1.4.pre2
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.
- data/lib/shelly/app.rb +2 -2
- data/lib/shelly/cli/main.rb +14 -5
- data/lib/shelly/client.rb +4 -2
- data/lib/shelly/helpers.rb +6 -0
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/app_spec.rb +2 -2
- data/spec/shelly/cli/main_spec.rb +22 -26
- metadata +192 -195
data/lib/shelly/app.rb
CHANGED
data/lib/shelly/cli/main.rb
CHANGED
@@ -259,19 +259,28 @@ We have been notified about it. We will be adding new resources shortly}
|
|
259
259
|
|
260
260
|
desc "logs", "Show latest application logs"
|
261
261
|
method_option :cloud, :type => :string, :aliases => "-c", :desc => "Specify cloud"
|
262
|
+
method_option :limit, :type => :numeric, :aliases => "-n", :desc => "Amount of messages to show"
|
263
|
+
method_option :tail, :type => :boolean, :aliases => "-f", :desc => "Show new logs automatically"
|
262
264
|
def logs
|
263
265
|
cloud = options[:cloud]
|
264
266
|
app = multiple_clouds(cloud, "logs")
|
265
267
|
begin
|
266
|
-
logs = app.application_logs
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
268
|
+
logs = app.application_logs(:limit => options[:limit])
|
269
|
+
print_logs(logs)
|
270
|
+
|
271
|
+
if options[:tail]
|
272
|
+
loop do
|
273
|
+
logs = app.application_logs(:from => logs['range']['last'])
|
274
|
+
print_logs(logs)
|
275
|
+
sleep 1
|
276
|
+
end
|
271
277
|
end
|
272
278
|
rescue Client::NotFoundException => e
|
273
279
|
raise unless e.resource == :cloud
|
274
280
|
say_error "You have no access to '#{cloud || app}' cloud defined in Cloudfile"
|
281
|
+
rescue Client::APIException => e
|
282
|
+
raise e unless e.status_code == 416
|
283
|
+
say_error "You have requested too many log messages. Try a lower number."
|
275
284
|
end
|
276
285
|
end
|
277
286
|
|
data/lib/shelly/client.rb
CHANGED
@@ -137,8 +137,10 @@ module Shelly
|
|
137
137
|
get("/apps/#{cloud}/deployment_logs/#{log}")
|
138
138
|
end
|
139
139
|
|
140
|
-
def application_logs(cloud)
|
141
|
-
|
140
|
+
def application_logs(cloud, options = {})
|
141
|
+
query = "?" + options.map { |k, v|
|
142
|
+
URI.escape(k.to_s) + "=" + URI.escape(v.to_s) }.join("&")
|
143
|
+
get("/apps/#{cloud}/application_logs#{query}")
|
142
144
|
end
|
143
145
|
|
144
146
|
def database_backups(code_name)
|
data/lib/shelly/helpers.rb
CHANGED
data/lib/shelly/version.rb
CHANGED
data/spec/shelly/app_spec.rb
CHANGED
@@ -292,8 +292,8 @@ config
|
|
292
292
|
|
293
293
|
describe "#application_logs" do
|
294
294
|
it "should list application_logs" do
|
295
|
-
@client.should_receive(:application_logs).with("foo-staging").
|
296
|
-
and_return({"
|
295
|
+
@client.should_receive(:application_logs).with("foo-staging", {}).
|
296
|
+
and_return({"entries" => [["app1", "log1"], ["app2", "log2"]]})
|
297
297
|
@app.application_logs
|
298
298
|
end
|
299
299
|
end
|
@@ -56,18 +56,11 @@ OUT
|
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should display options in help for logs" do
|
59
|
-
expected = <<-OUT
|
60
|
-
Usage:
|
61
|
-
shelly logs
|
62
|
-
|
63
|
-
Options:
|
64
|
-
-c, [--cloud=CLOUD] # Specify cloud
|
65
|
-
[--debug] # Show debug information
|
66
|
-
|
67
|
-
Show latest application logs
|
68
|
-
OUT
|
69
59
|
out = IO.popen("bin/shelly help logs").read.strip
|
70
|
-
out.should
|
60
|
+
out.should include("-c, [--cloud=CLOUD] # Specify cloud")
|
61
|
+
out.should include("-n, [--limit=N] # Amount of messages to show")
|
62
|
+
out.should include("-f, [--tail] # Show new logs automatically")
|
63
|
+
out.should include("[--debug] # Show debug information")
|
71
64
|
end
|
72
65
|
end
|
73
66
|
|
@@ -1070,6 +1063,7 @@ We have been notified about it. We will be adding new resources shortly")
|
|
1070
1063
|
{"code_name" => "foo-staging"}])
|
1071
1064
|
@app = Shelly::App.new
|
1072
1065
|
Shelly::App.stub(:new).and_return(@app)
|
1066
|
+
@sample_logs = {"entries" => [['app1', 'log1'], ['app1', 'log2']]}
|
1073
1067
|
end
|
1074
1068
|
|
1075
1069
|
it "should ensure user has logged in" do
|
@@ -1078,7 +1072,7 @@ We have been notified about it. We will be adding new resources shortly")
|
|
1078
1072
|
|
1079
1073
|
# multiple_clouds is tested in main_spec.rb in describe "#start" block
|
1080
1074
|
it "should ensure multiple_clouds check" do
|
1081
|
-
@client.stub(:application_logs).and_return(
|
1075
|
+
@client.stub(:application_logs).and_return(@sample_logs)
|
1082
1076
|
@main.should_receive(:multiple_clouds).and_return(@app)
|
1083
1077
|
invoke(@main, :logs)
|
1084
1078
|
end
|
@@ -1091,24 +1085,26 @@ We have been notified about it. We will be adding new resources shortly")
|
|
1091
1085
|
lambda { invoke(@main, :logs) }.should raise_error(SystemExit)
|
1092
1086
|
end
|
1093
1087
|
|
1088
|
+
it "should exit if user requested too many log lines" do
|
1089
|
+
exception = Shelly::Client::APIException.new({}, 416)
|
1090
|
+
@client.stub(:application_logs).and_raise(exception)
|
1091
|
+
$stdout.should_receive(:puts).
|
1092
|
+
with(red "You have requested too many log messages. Try a lower number.")
|
1093
|
+
lambda { invoke(@main, :logs) }.should raise_error(SystemExit)
|
1094
|
+
end
|
1095
|
+
|
1094
1096
|
it "should show logs for the cloud" do
|
1095
|
-
@client.stub(:application_logs).and_return(
|
1096
|
-
$stdout.should_receive(:puts).with(
|
1097
|
-
$stdout.should_receive(:puts).with(
|
1098
|
-
$stdout.should_receive(:puts).with("log1")
|
1097
|
+
@client.stub(:application_logs).and_return(@sample_logs)
|
1098
|
+
$stdout.should_receive(:puts).with(" app1 | log1\n")
|
1099
|
+
$stdout.should_receive(:puts).with(" app1 | log2\n")
|
1099
1100
|
invoke(@main, :logs)
|
1100
1101
|
end
|
1101
1102
|
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
$stdout.should_receive(:puts).with("log1")
|
1108
|
-
$stdout.should_receive(:puts).with(green "Instance 2:")
|
1109
|
-
$stdout.should_receive(:puts).with("log2")
|
1110
|
-
invoke(@main, :logs)
|
1111
|
-
end
|
1103
|
+
it "should show requested amount of logs" do
|
1104
|
+
@client.should_receive(:application_logs).
|
1105
|
+
with("foo-production", {:limit => 2}).and_return(@sample_logs)
|
1106
|
+
@main.options = {:limit => 2}
|
1107
|
+
invoke(@main, :logs)
|
1112
1108
|
end
|
1113
1109
|
end
|
1114
1110
|
|
metadata
CHANGED
@@ -1,264 +1,250 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: -529809128
|
5
5
|
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 4
|
10
|
+
- pre
|
11
|
+
- 2
|
12
|
+
version: 0.1.4.pre2
|
6
13
|
platform: ruby
|
7
|
-
authors:
|
14
|
+
authors:
|
8
15
|
- Shelly Cloud team
|
9
16
|
autorequire:
|
10
17
|
bindir: bin
|
11
18
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
19
|
+
|
20
|
+
date: 2012-05-17 00:00:00 Z
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
15
23
|
name: rspec
|
16
|
-
|
24
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
25
|
none: false
|
18
|
-
requirements:
|
26
|
+
requirements:
|
19
27
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 47
|
30
|
+
segments:
|
31
|
+
- 2
|
32
|
+
- 8
|
33
|
+
- 0
|
21
34
|
version: 2.8.0
|
22
35
|
type: :development
|
23
36
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 2.8.0
|
30
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
requirement: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
31
39
|
name: rake
|
32
|
-
|
40
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
33
41
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
version: "0"
|
38
49
|
type: :development
|
39
50
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
51
|
+
requirement: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
47
53
|
name: guard
|
48
|
-
|
54
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
49
55
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
54
63
|
type: :development
|
55
64
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
65
|
+
requirement: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
63
67
|
name: guard-rspec
|
64
|
-
|
68
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
65
69
|
none: false
|
66
|
-
requirements:
|
67
|
-
- -
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
hash: 3
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
version: "0"
|
70
77
|
type: :development
|
71
78
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
requirement: *id004
|
80
|
+
- !ruby/object:Gem::Dependency
|
79
81
|
name: simplecov
|
80
|
-
|
82
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
81
83
|
none: false
|
82
|
-
requirements:
|
83
|
-
- -
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 3
|
88
|
+
segments:
|
89
|
+
- 0
|
90
|
+
version: "0"
|
86
91
|
type: :development
|
87
92
|
prerelease: false
|
88
|
-
|
89
|
-
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
93
|
+
requirement: *id005
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
95
|
name: ruby_gntp
|
96
|
-
|
96
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 3
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
version: "0"
|
102
105
|
type: :development
|
103
106
|
prerelease: false
|
104
|
-
|
105
|
-
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
107
|
+
requirement: *id006
|
108
|
+
- !ruby/object:Gem::Dependency
|
111
109
|
name: rb-fsevent
|
112
|
-
|
110
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
113
111
|
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 3
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
version: "0"
|
118
119
|
type: :development
|
119
120
|
prerelease: false
|
120
|
-
|
121
|
-
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
121
|
+
requirement: *id007
|
122
|
+
- !ruby/object:Gem::Dependency
|
127
123
|
name: fakefs
|
128
|
-
|
124
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
129
125
|
none: false
|
130
|
-
requirements:
|
131
|
-
- -
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
hash: 3
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
version: "0"
|
134
133
|
type: :development
|
135
134
|
prerelease: false
|
136
|
-
|
137
|
-
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
142
|
-
- !ruby/object:Gem::Dependency
|
135
|
+
requirement: *id008
|
136
|
+
- !ruby/object:Gem::Dependency
|
143
137
|
name: fakeweb
|
144
|
-
|
138
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
145
139
|
none: false
|
146
|
-
requirements:
|
147
|
-
- -
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
146
|
+
version: "0"
|
150
147
|
type: :development
|
151
148
|
prerelease: false
|
152
|
-
|
153
|
-
|
154
|
-
requirements:
|
155
|
-
- - ! '>='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '0'
|
158
|
-
- !ruby/object:Gem::Dependency
|
149
|
+
requirement: *id009
|
150
|
+
- !ruby/object:Gem::Dependency
|
159
151
|
name: wijet-thor
|
160
|
-
|
152
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
161
153
|
none: false
|
162
|
-
requirements:
|
154
|
+
requirements:
|
163
155
|
- - ~>
|
164
|
-
- !ruby/object:Gem::Version
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
hash: 41
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
- 14
|
161
|
+
- 7
|
165
162
|
version: 0.14.7
|
166
163
|
type: :runtime
|
167
164
|
prerelease: false
|
168
|
-
|
169
|
-
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.14.7
|
174
|
-
- !ruby/object:Gem::Dependency
|
165
|
+
requirement: *id010
|
166
|
+
- !ruby/object:Gem::Dependency
|
175
167
|
name: rest-client
|
176
|
-
|
168
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
177
169
|
none: false
|
178
|
-
requirements:
|
179
|
-
- -
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
176
|
+
version: "0"
|
182
177
|
type: :runtime
|
183
178
|
prerelease: false
|
184
|
-
|
185
|
-
|
186
|
-
requirements:
|
187
|
-
- - ! '>='
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '0'
|
190
|
-
- !ruby/object:Gem::Dependency
|
179
|
+
requirement: *id011
|
180
|
+
- !ruby/object:Gem::Dependency
|
191
181
|
name: json
|
192
|
-
|
182
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
193
183
|
none: false
|
194
|
-
requirements:
|
195
|
-
- -
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
hash: 3
|
188
|
+
segments:
|
189
|
+
- 0
|
190
|
+
version: "0"
|
198
191
|
type: :runtime
|
199
192
|
prerelease: false
|
200
|
-
|
201
|
-
|
202
|
-
requirements:
|
203
|
-
- - ! '>='
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: '0'
|
206
|
-
- !ruby/object:Gem::Dependency
|
193
|
+
requirement: *id012
|
194
|
+
- !ruby/object:Gem::Dependency
|
207
195
|
name: progressbar
|
208
|
-
|
196
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
209
197
|
none: false
|
210
|
-
requirements:
|
211
|
-
- -
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
hash: 3
|
202
|
+
segments:
|
203
|
+
- 0
|
204
|
+
version: "0"
|
214
205
|
type: :runtime
|
215
206
|
prerelease: false
|
216
|
-
|
217
|
-
|
218
|
-
requirements:
|
219
|
-
- - ! '>='
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '0'
|
222
|
-
- !ruby/object:Gem::Dependency
|
207
|
+
requirement: *id013
|
208
|
+
- !ruby/object:Gem::Dependency
|
223
209
|
name: launchy
|
224
|
-
|
210
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
225
211
|
none: false
|
226
|
-
requirements:
|
227
|
-
- -
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
hash: 3
|
216
|
+
segments:
|
217
|
+
- 0
|
218
|
+
version: "0"
|
230
219
|
type: :runtime
|
231
220
|
prerelease: false
|
232
|
-
|
233
|
-
|
234
|
-
requirements:
|
235
|
-
- - ! '>='
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
version: '0'
|
238
|
-
- !ruby/object:Gem::Dependency
|
221
|
+
requirement: *id014
|
222
|
+
- !ruby/object:Gem::Dependency
|
239
223
|
name: shelly-dependencies
|
240
|
-
|
224
|
+
version_requirements: &id015 !ruby/object:Gem::Requirement
|
241
225
|
none: false
|
242
|
-
requirements:
|
226
|
+
requirements:
|
243
227
|
- - ~>
|
244
|
-
- !ruby/object:Gem::Version
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
hash: 25
|
230
|
+
segments:
|
231
|
+
- 0
|
232
|
+
- 1
|
233
|
+
- 1
|
245
234
|
version: 0.1.1
|
246
235
|
type: :runtime
|
247
236
|
prerelease: false
|
248
|
-
|
249
|
-
none: false
|
250
|
-
requirements:
|
251
|
-
- - ~>
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
version: 0.1.1
|
237
|
+
requirement: *id015
|
254
238
|
description: Tool for managing applications and clouds at shellycloud.com
|
255
|
-
email:
|
239
|
+
email:
|
256
240
|
- support@shellycloud.com
|
257
|
-
executables:
|
241
|
+
executables:
|
258
242
|
- shelly
|
259
243
|
extensions: []
|
244
|
+
|
260
245
|
extra_rdoc_files: []
|
261
|
-
|
246
|
+
|
247
|
+
files:
|
262
248
|
- .gitignore
|
263
249
|
- .travis.yml
|
264
250
|
- Gemfile
|
@@ -311,29 +297,40 @@ files:
|
|
311
297
|
- spec/thor/options_spec.rb
|
312
298
|
homepage: http://shellycloud.com
|
313
299
|
licenses: []
|
300
|
+
|
314
301
|
post_install_message:
|
315
302
|
rdoc_options: []
|
316
|
-
|
303
|
+
|
304
|
+
require_paths:
|
317
305
|
- lib
|
318
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
306
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
319
307
|
none: false
|
320
|
-
requirements:
|
321
|
-
- -
|
322
|
-
- !ruby/object:Gem::Version
|
323
|
-
|
324
|
-
|
308
|
+
requirements:
|
309
|
+
- - ">="
|
310
|
+
- !ruby/object:Gem::Version
|
311
|
+
hash: 3
|
312
|
+
segments:
|
313
|
+
- 0
|
314
|
+
version: "0"
|
315
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
325
316
|
none: false
|
326
|
-
requirements:
|
327
|
-
- -
|
328
|
-
- !ruby/object:Gem::Version
|
317
|
+
requirements:
|
318
|
+
- - ">"
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
hash: 25
|
321
|
+
segments:
|
322
|
+
- 1
|
323
|
+
- 3
|
324
|
+
- 1
|
329
325
|
version: 1.3.1
|
330
326
|
requirements: []
|
327
|
+
|
331
328
|
rubyforge_project: shelly
|
332
|
-
rubygems_version: 1.8.
|
329
|
+
rubygems_version: 1.8.21
|
333
330
|
signing_key:
|
334
331
|
specification_version: 3
|
335
332
|
summary: Shelly Cloud command line tool
|
336
|
-
test_files:
|
333
|
+
test_files:
|
337
334
|
- spec/helpers.rb
|
338
335
|
- spec/input_faker.rb
|
339
336
|
- spec/shelly/app_spec.rb
|