shelly 0.0.34 → 0.0.36
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 +6 -6
- data/lib/shelly/cli/config.rb +22 -19
- data/lib/shelly/client.rb +7 -6
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/cli/config_spec.rb +4 -7
- metadata +123 -181
data/lib/shelly/app.rb
CHANGED
@@ -115,20 +115,20 @@ module Shelly
|
|
115
115
|
configs.find_all { |config| config["created_by_user"] == false }
|
116
116
|
end
|
117
117
|
|
118
|
-
def config(
|
119
|
-
shelly.app_config(code_name,
|
118
|
+
def config(path)
|
119
|
+
shelly.app_config(code_name, path)
|
120
120
|
end
|
121
121
|
|
122
122
|
def create_config(path, content)
|
123
123
|
shelly.app_create_config(code_name, path, content)
|
124
124
|
end
|
125
125
|
|
126
|
-
def update_config(
|
127
|
-
shelly.app_update_config(code_name,
|
126
|
+
def update_config(path, content)
|
127
|
+
shelly.app_update_config(code_name, path, content)
|
128
128
|
end
|
129
129
|
|
130
|
-
def delete_config(
|
131
|
-
shelly.app_delete_config(code_name,
|
130
|
+
def delete_config(path)
|
131
|
+
shelly.app_delete_config(code_name, path)
|
132
132
|
end
|
133
133
|
|
134
134
|
def open_billing_page
|
data/lib/shelly/cli/config.rb
CHANGED
@@ -44,15 +44,19 @@ module Shelly
|
|
44
44
|
|
45
45
|
method_option :cloud, :type => :string, :aliases => "-c",
|
46
46
|
:desc => "Specify which cloud to show configuration file for"
|
47
|
-
desc "show
|
48
|
-
def show(
|
47
|
+
desc "show PATH", "View configuration file"
|
48
|
+
def show(path = nil)
|
49
49
|
logged_in?
|
50
50
|
say_error "No Cloudfile found" unless Cloudfile.present?
|
51
|
-
say_error "No configuration file specified" unless
|
52
|
-
multiple_clouds(options[:cloud], "show #{
|
53
|
-
config = @app.config(
|
51
|
+
say_error "No configuration file specified" unless path
|
52
|
+
multiple_clouds(options[:cloud], "show #{path}", "Specify cloud using:")
|
53
|
+
config = @app.config(path)
|
54
54
|
say "Content of #{config["path"]}:", :green
|
55
55
|
say config["content"]
|
56
|
+
rescue Client::APIError => e
|
57
|
+
if e.unauthorized?
|
58
|
+
say_error "You have no access to '#{@app.code_name}' cloud defined in Cloudfile"
|
59
|
+
end
|
56
60
|
end
|
57
61
|
|
58
62
|
map "new" => :create
|
@@ -81,15 +85,15 @@ module Shelly
|
|
81
85
|
map "update" => :edit
|
82
86
|
method_option :cloud, :type => :string, :aliases => "-c",
|
83
87
|
:desc => "Specify for which cloud edit configuration file"
|
84
|
-
desc "edit
|
85
|
-
def edit(
|
88
|
+
desc "edit PATH", "Edit configuration file"
|
89
|
+
def edit(path = nil)
|
86
90
|
logged_in?
|
87
91
|
say_error "No Cloudfile found" unless Cloudfile.present?
|
88
|
-
say_error "No configuration file specified" unless
|
89
|
-
multiple_clouds(options[:cloud], "edit #{
|
90
|
-
config = @app.config(
|
92
|
+
say_error "No configuration file specified" unless path
|
93
|
+
multiple_clouds(options[:cloud], "edit #{path}", "Specify cloud using:")
|
94
|
+
config = @app.config(path)
|
91
95
|
content = open_editor(config["path"], config["content"])
|
92
|
-
@app.update_config(
|
96
|
+
@app.update_config(path, content)
|
93
97
|
say "File '#{config["path"]}' updated, it will be used after next code deploy", :green
|
94
98
|
rescue Client::APIError => e
|
95
99
|
if e.unauthorized?
|
@@ -104,16 +108,15 @@ module Shelly
|
|
104
108
|
|
105
109
|
method_option :cloud, :type => :string, :aliases => "-c",
|
106
110
|
:desc => "Specify for which cloud delete configuration file"
|
107
|
-
desc "delete
|
108
|
-
def delete(
|
111
|
+
desc "delete PATH", "Delete configuration file"
|
112
|
+
def delete(path = nil)
|
109
113
|
logged_in?
|
110
114
|
say_error "No Cloudfile found" unless Cloudfile.present?
|
111
|
-
say_error "No configuration file specified" unless
|
112
|
-
multiple_clouds(options[:cloud], "delete #{
|
113
|
-
|
114
|
-
answer = ask("Are you sure you want to delete '#{config["path"]}' [y/n]: ")
|
115
|
+
say_error "No configuration file specified" unless path
|
116
|
+
multiple_clouds(options[:cloud], "delete #{path}", "Specify cloud using:")
|
117
|
+
answer = ask("Are you sure you want to delete 'path' [y/n]: ")
|
115
118
|
if answer =~ /yes|YES|y|Y/
|
116
|
-
@app.delete_config(
|
119
|
+
@app.delete_config(path)
|
117
120
|
say "File deleted, redeploy your cloud to make changes", :green
|
118
121
|
else
|
119
122
|
say "File not deleted"
|
@@ -132,7 +135,7 @@ module Shelly
|
|
132
135
|
no_tasks do
|
133
136
|
def print_configs(configs)
|
134
137
|
print_table(configs.map { |config|
|
135
|
-
[" * ", config["
|
138
|
+
[" * ", config["path"]] })
|
136
139
|
end
|
137
140
|
|
138
141
|
def open_editor(path, output = "")
|
data/lib/shelly/client.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "rest_client"
|
2
2
|
require "json"
|
3
|
+
require "cgi"
|
3
4
|
|
4
5
|
module Shelly
|
5
6
|
class Client
|
@@ -71,20 +72,20 @@ module Shelly
|
|
71
72
|
get("/apps/#{cloud}/configs")
|
72
73
|
end
|
73
74
|
|
74
|
-
def app_config(cloud,
|
75
|
-
get("/apps/#{cloud}/configs/#{
|
75
|
+
def app_config(cloud, path)
|
76
|
+
get("/apps/#{cloud}/configs/#{CGI.escape(path)}")
|
76
77
|
end
|
77
78
|
|
78
79
|
def app_create_config(cloud, path, content)
|
79
80
|
post("/apps/#{cloud}/configs", :config => {:path => path, :content => content})
|
80
81
|
end
|
81
82
|
|
82
|
-
def app_update_config(cloud,
|
83
|
-
put("/apps/#{cloud}/configs/#{
|
83
|
+
def app_update_config(cloud, path, content)
|
84
|
+
put("/apps/#{cloud}/configs/#{CGI.escape(path)}", :config => {:content => content})
|
84
85
|
end
|
85
86
|
|
86
|
-
def app_delete_config(cloud,
|
87
|
-
delete("/apps/#{cloud}/configs/#{
|
87
|
+
def app_delete_config(cloud, path)
|
88
|
+
delete("/apps/#{cloud}/configs/#{CGI.escape(path)}")
|
88
89
|
end
|
89
90
|
|
90
91
|
def send_invitation(cloud, email)
|
data/lib/shelly/version.rb
CHANGED
@@ -41,15 +41,15 @@ describe Shelly::CLI::Config do
|
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should list available configuration files for clouds" do
|
44
|
-
@client.should_receive(:app_configs).with("foo-staging").and_return([{"
|
45
|
-
@client.should_receive(:app_configs).with("foo-production").and_return([{"
|
44
|
+
@client.should_receive(:app_configs).with("foo-staging").and_return([{"created_by_user" => true, "path" => "config/settings.yml"}])
|
45
|
+
@client.should_receive(:app_configs).with("foo-production").and_return([{"created_by_user" => false, "path" => "config/app.yml"}])
|
46
46
|
$stdout.should_receive(:puts).with(green "Configuration files for foo-production")
|
47
47
|
$stdout.should_receive(:puts).with("You have no custom configuration files.")
|
48
48
|
$stdout.should_receive(:puts).with("Following files are created by Shelly Cloud:")
|
49
|
-
$stdout.should_receive(:puts).with(/ *
|
49
|
+
$stdout.should_receive(:puts).with(/ * \s+config\/app.yml/)
|
50
50
|
$stdout.should_receive(:puts).with(green "Configuration files for foo-staging")
|
51
51
|
$stdout.should_receive(:puts).with("Custom configuration files:")
|
52
|
-
$stdout.should_receive(:puts).with(/ *
|
52
|
+
$stdout.should_receive(:puts).with(/ * \s+config\/settings.yml/)
|
53
53
|
|
54
54
|
@config.list
|
55
55
|
end
|
@@ -200,7 +200,6 @@ describe Shelly::CLI::Config do
|
|
200
200
|
end
|
201
201
|
|
202
202
|
it "should delete configuration file" do
|
203
|
-
@client.should_receive(:app_config).with("foo-staging", 1).and_return({"path" => "test.rb", "content" => "example content"})
|
204
203
|
@client.should_receive(:app_delete_config).with("foo-staging", 1).and_return({})
|
205
204
|
$stdout.should_receive(:puts).with(green "File deleted, redeploy your cloud to make changes")
|
206
205
|
fake_stdin(["y"]) do
|
@@ -209,7 +208,6 @@ describe Shelly::CLI::Config do
|
|
209
208
|
end
|
210
209
|
|
211
210
|
it "should not delete file if user answered other than yes/y" do
|
212
|
-
@client.should_receive(:app_config).with("foo-staging", 1).and_return({"path" => "test.rb", "content" => "example content"})
|
213
211
|
@client.should_not_receive(:app_delete_config)
|
214
212
|
$stdout.should_receive(:puts).with("File not deleted")
|
215
213
|
fake_stdin(["n"]) do
|
@@ -228,7 +226,6 @@ describe Shelly::CLI::Config do
|
|
228
226
|
end
|
229
227
|
|
230
228
|
it "should use cloud specified by parameter" do
|
231
|
-
@client.should_receive(:app_config).with("foo-production", 1).and_return({"path" => "test.rb", "content" => "example content"})
|
232
229
|
@client.should_receive(:app_delete_config).with("foo-production", 1).and_return({})
|
233
230
|
$stdout.should_receive(:puts).with(green "File deleted, redeploy your cloud to make changes")
|
234
231
|
@config.options = {:cloud => "foo-production"}
|
metadata
CHANGED
@@ -1,216 +1,167 @@
|
|
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
|
+
version: 0.0.36
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 34
|
10
|
-
version: 0.0.34
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Shelly Cloud team
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-12-27 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rspec
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70232388827320 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: rake
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: *70232388827320
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &70232388826900 !ruby/object:Gem::Requirement
|
38
28
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
46
33
|
type: :development
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: guard
|
50
34
|
prerelease: false
|
51
|
-
|
35
|
+
version_requirements: *70232388826900
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: guard
|
38
|
+
requirement: &70232388826480 !ruby/object:Gem::Requirement
|
52
39
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
58
|
-
- 0
|
59
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
60
44
|
type: :development
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: guard-rspec
|
64
45
|
prerelease: false
|
65
|
-
|
46
|
+
version_requirements: *70232388826480
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: guard-rspec
|
49
|
+
requirement: &70232388826060 !ruby/object:Gem::Requirement
|
66
50
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
version: "0"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
74
55
|
type: :development
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: growl_notify
|
78
56
|
prerelease: false
|
79
|
-
|
57
|
+
version_requirements: *70232388826060
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: growl_notify
|
60
|
+
requirement: &70232388825540 !ruby/object:Gem::Requirement
|
80
61
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
segments:
|
86
|
-
- 0
|
87
|
-
version: "0"
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
88
66
|
type: :development
|
89
|
-
version_requirements: *id005
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: rb-fsevent
|
92
67
|
prerelease: false
|
93
|
-
|
68
|
+
version_requirements: *70232388825540
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rb-fsevent
|
71
|
+
requirement: &70232388825120 !ruby/object:Gem::Requirement
|
94
72
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
segments:
|
100
|
-
- 0
|
101
|
-
version: "0"
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
102
77
|
type: :development
|
103
|
-
version_requirements: *id006
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: fakefs
|
106
78
|
prerelease: false
|
107
|
-
|
79
|
+
version_requirements: *70232388825120
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: fakefs
|
82
|
+
requirement: &70232388824600 !ruby/object:Gem::Requirement
|
108
83
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
116
88
|
type: :development
|
117
|
-
version_requirements: *id007
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: fakeweb
|
120
89
|
prerelease: false
|
121
|
-
|
90
|
+
version_requirements: *70232388824600
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: fakeweb
|
93
|
+
requirement: &70232388824140 !ruby/object:Gem::Requirement
|
122
94
|
none: false
|
123
|
-
requirements:
|
124
|
-
- -
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
version: "0"
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
130
99
|
type: :development
|
131
|
-
version_requirements: *id008
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: wijet-thor
|
134
100
|
prerelease: false
|
135
|
-
|
101
|
+
version_requirements: *70232388824140
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: wijet-thor
|
104
|
+
requirement: &70232388823400 !ruby/object:Gem::Requirement
|
136
105
|
none: false
|
137
|
-
requirements:
|
106
|
+
requirements:
|
138
107
|
- - ~>
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
hash: 41
|
141
|
-
segments:
|
142
|
-
- 0
|
143
|
-
- 14
|
144
|
-
- 7
|
108
|
+
- !ruby/object:Gem::Version
|
145
109
|
version: 0.14.7
|
146
110
|
type: :runtime
|
147
|
-
version_requirements: *id009
|
148
|
-
- !ruby/object:Gem::Dependency
|
149
|
-
name: rest-client
|
150
111
|
prerelease: false
|
151
|
-
|
112
|
+
version_requirements: *70232388823400
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: rest-client
|
115
|
+
requirement: &70232388821260 !ruby/object:Gem::Requirement
|
152
116
|
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
|
157
|
-
segments:
|
158
|
-
- 0
|
159
|
-
version: "0"
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
160
121
|
type: :runtime
|
161
|
-
version_requirements: *id010
|
162
|
-
- !ruby/object:Gem::Dependency
|
163
|
-
name: json
|
164
122
|
prerelease: false
|
165
|
-
|
123
|
+
version_requirements: *70232388821260
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: json
|
126
|
+
requirement: &70232388820800 !ruby/object:Gem::Requirement
|
166
127
|
none: false
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
version: "0"
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
174
132
|
type: :runtime
|
175
|
-
version_requirements: *id011
|
176
|
-
- !ruby/object:Gem::Dependency
|
177
|
-
name: wijet-launchy
|
178
133
|
prerelease: false
|
179
|
-
|
134
|
+
version_requirements: *70232388820800
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: wijet-launchy
|
137
|
+
requirement: &70232388820380 !ruby/object:Gem::Requirement
|
180
138
|
none: false
|
181
|
-
requirements:
|
182
|
-
- -
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
segments:
|
186
|
-
- 0
|
187
|
-
version: "0"
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
188
143
|
type: :runtime
|
189
|
-
version_requirements: *id012
|
190
|
-
- !ruby/object:Gem::Dependency
|
191
|
-
name: progressbar
|
192
144
|
prerelease: false
|
193
|
-
|
145
|
+
version_requirements: *70232388820380
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: progressbar
|
148
|
+
requirement: &70232388808000 !ruby/object:Gem::Requirement
|
194
149
|
none: false
|
195
|
-
requirements:
|
196
|
-
- -
|
197
|
-
- !ruby/object:Gem::Version
|
198
|
-
|
199
|
-
segments:
|
200
|
-
- 0
|
201
|
-
version: "0"
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
202
154
|
type: :runtime
|
203
|
-
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *70232388808000
|
204
157
|
description: Tool for managing applications and clouds at shellycloud.com
|
205
|
-
email:
|
158
|
+
email:
|
206
159
|
- support@shellycloud.com
|
207
|
-
executables:
|
160
|
+
executables:
|
208
161
|
- shelly
|
209
162
|
extensions: []
|
210
|
-
|
211
163
|
extra_rdoc_files: []
|
212
|
-
|
213
|
-
files:
|
164
|
+
files:
|
214
165
|
- .gitignore
|
215
166
|
- .travis.yml
|
216
167
|
- Gemfile
|
@@ -261,38 +212,29 @@ files:
|
|
261
212
|
- spec/thor/options_spec.rb
|
262
213
|
homepage: http://shellycloud.com
|
263
214
|
licenses: []
|
264
|
-
|
265
215
|
post_install_message:
|
266
216
|
rdoc_options: []
|
267
|
-
|
268
|
-
require_paths:
|
217
|
+
require_paths:
|
269
218
|
- lib
|
270
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
219
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
271
220
|
none: false
|
272
|
-
requirements:
|
273
|
-
- -
|
274
|
-
- !ruby/object:Gem::Version
|
275
|
-
|
276
|
-
|
277
|
-
- 0
|
278
|
-
version: "0"
|
279
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
|
+
requirements:
|
222
|
+
- - ! '>='
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: '0'
|
225
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
226
|
none: false
|
281
|
-
requirements:
|
282
|
-
- -
|
283
|
-
- !ruby/object:Gem::Version
|
284
|
-
|
285
|
-
segments:
|
286
|
-
- 0
|
287
|
-
version: "0"
|
227
|
+
requirements:
|
228
|
+
- - ! '>='
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '0'
|
288
231
|
requirements: []
|
289
|
-
|
290
232
|
rubyforge_project: shelly
|
291
233
|
rubygems_version: 1.8.10
|
292
234
|
signing_key:
|
293
235
|
specification_version: 3
|
294
236
|
summary: Shelly Cloud command line tool
|
295
|
-
test_files:
|
237
|
+
test_files:
|
296
238
|
- spec/helpers.rb
|
297
239
|
- spec/input_faker.rb
|
298
240
|
- spec/shelly/app_spec.rb
|