ey-core 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/Rakefile +4 -1
  2. data/ey-core.gemspec +3 -0
  3. data/features/accounts.feature +13 -0
  4. data/features/applications.feature +29 -0
  5. data/features/current_user.feature +14 -0
  6. data/features/environments.feature +30 -0
  7. data/features/init.feature +6 -0
  8. data/features/login.feature +6 -0
  9. data/features/scp.feature +6 -0
  10. data/features/step_definitions/accounts_steps.rb +23 -0
  11. data/features/step_definitions/applications_steps.rb +46 -0
  12. data/features/step_definitions/current_user_steps.rb +11 -0
  13. data/features/step_definitions/deprecated_command_steps.rb +3 -0
  14. data/features/step_definitions/environments_steps.rb +37 -0
  15. data/features/step_definitions/version_steps.rb +3 -0
  16. data/features/support/account_helpers.rb +89 -0
  17. data/features/support/app_helpers.rb +19 -0
  18. data/features/support/aruba.rb +1 -0
  19. data/features/support/boilerplate.rb +1 -0
  20. data/features/support/client_helpers.rb +36 -0
  21. data/features/support/config_file_helpers.rb +42 -0
  22. data/features/support/core.rb +19 -0
  23. data/features/support/deployment_helpers.rb +19 -0
  24. data/features/support/env.rb +40 -0
  25. data/features/support/environment_helpers.rb +23 -0
  26. data/features/support/fake_kernel.rb +23 -0
  27. data/features/support/io.rb +5 -0
  28. data/features/support/mock_api.rb +21 -0
  29. data/features/support/output_helpers.rb +7 -0
  30. data/features/support/resource_helpers.rb +189 -0
  31. data/features/support/server_helpers.rb +27 -0
  32. data/features/version.feature +8 -0
  33. data/features/whoami.feature +14 -0
  34. data/lib/ey-core/version.rb +1 -1
  35. metadata +215 -56
  36. checksums.yaml +0 -7
@@ -0,0 +1,19 @@
1
+ module CoreHelpers
2
+ def client
3
+ begin
4
+ recall_fact(:client)
5
+ rescue
6
+ memorize_fact(:client, create_client)
7
+ end
8
+ end
9
+
10
+ def current_user
11
+ client.users.current
12
+ end
13
+
14
+ def current_user_hash
15
+ client.current_user
16
+ end
17
+ end
18
+
19
+ World(CoreHelpers)
@@ -0,0 +1,19 @@
1
+ module DeploymentHelpers
2
+ def known_deployments
3
+ begin
4
+ recall_fact(:known_deployments)
5
+ rescue
6
+ memorize_fact(:known_deployments, [])
7
+ end
8
+ end
9
+
10
+ def first_deployment
11
+ known_deployments.first.reload
12
+ end
13
+
14
+ def last_deployment
15
+ known_deployments.last.reload
16
+ end
17
+ end
18
+
19
+ World(DeploymentHelpers)
@@ -0,0 +1,40 @@
1
+ #require 'simplecov'
2
+ #SimpleCov.coverage_dir 'coverage/features'
3
+ #SimpleCov.minimum_coverage 95
4
+ #SimpleCov.start do
5
+ #add_filter '/spec/'
6
+ #add_filter '/features/'
7
+ #add_filter '/mock/'
8
+ #add_group 'Libraries', 'lib'
9
+ #add_group 'CLI', 'lib/ey-core/cli/'
10
+ #add_group 'CLI Helpers', 'lib/ey-core/cli/helpers'
11
+ #end
12
+
13
+ require 'aruba/cucumber'
14
+ require 'factis/cucumber'
15
+ require 'ey-core'
16
+ require 'ey-core/version'
17
+ require 'ey-core/cli/main'
18
+
19
+ EXE_DIR = File.expand_path(File.join(File.dirname(__FILE__), '/../../exe'))
20
+ LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
21
+
22
+ Aruba.configure do |config|
23
+ config.command_search_paths = config.command_search_paths << EXE_DIR
24
+ config.home_directory = File.join(config.root_directory, config.working_directory)
25
+ config.command_launcher = :in_process
26
+ config.main_class = Ey::Core::Cli::Main
27
+ end
28
+
29
+ Before do
30
+ # Using "announce" causes massive warnings on 1.9.2
31
+ @puts = true
32
+ @original_rubylib = ENV['RUBYLIB']
33
+ ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
34
+ #ENV['CORE_URL'] ||= "http://api-development.localdev.engineyard.com:9292"
35
+ end
36
+
37
+ After do
38
+ ENV['RUBYLIB'] = @original_rubylib
39
+ #ENV.delete('CORE_URL')
40
+ end
@@ -0,0 +1,23 @@
1
+ module EnvironmentHelpers
2
+ def environment_named(name)
3
+ client.environments.first(name: name)
4
+ end
5
+
6
+ def known_environments
7
+ begin
8
+ recall_fact(:known_environments)
9
+ rescue
10
+ memorize_fact(:known_environments, [])
11
+ end
12
+ end
13
+
14
+ def first_environment
15
+ known_environments.first.reload
16
+ end
17
+
18
+ def last_environment
19
+ known_environments.last.reload
20
+ end
21
+ end
22
+
23
+ World(EnvironmentHelpers)
@@ -0,0 +1,23 @@
1
+ require 'aruba/processes/in_process'
2
+
3
+ module Aruba
4
+ module Processes
5
+ class InProcess < BasicProcess
6
+ attr_reader :kernel
7
+
8
+ class FakeKernel
9
+ def system(*args)
10
+ system_commands.push(args.join(' '))
11
+ end
12
+
13
+ def system_commands
14
+ @system_commands ||= []
15
+ end
16
+
17
+ def abort(msg)
18
+ exit(false)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,5 @@
1
+ After do
2
+ $stdout = STDOUT
3
+ $stdin = STDIN
4
+ $stderr = STDERR
5
+ end
@@ -0,0 +1,21 @@
1
+ require 'cucumber/rspec/doubles'
2
+
3
+ # Set up the mocks. Ookla would approve.
4
+ Cistern.formatter = Cistern::Formatter::AwesomePrint
5
+ Ey::Core::Client.mock!
6
+ Ey::Core::Client::Mock.timeout = 0.1
7
+ Ey::Core::Client::Mock.poll_interval = 0
8
+ Ey::Core::Client::Real.timeout = 3
9
+ Ey::Core::Client::Real.poll_interval = 0
10
+
11
+ Before do
12
+ # Reset the mocked API before every scenario
13
+ Ey::Core::Client::Mock.reset!
14
+
15
+ # Stub out `#core_client` on all subcommands to ensure that they're using
16
+ # the mocked client. Otherwise, everything turns to calamity, because the
17
+ # mocked API is silly.
18
+ allow_any_instance_of(Ey::Core::Cli::Subcommand).
19
+ to receive(:core_client).
20
+ and_return(client)
21
+ end
@@ -0,0 +1,7 @@
1
+ module OutputHelpers
2
+ def output_text
3
+ last_command_started.output
4
+ end
5
+ end
6
+
7
+ World(OutputHelpers)
@@ -0,0 +1,189 @@
1
+ module ResourceHelpers
2
+ def load_blueprint(options={})
3
+ application = create_application(account: account)
4
+ database_service = create_database_service(provider: account.providers.first)
5
+ environment = create_environment(account: account, application: application, database_service: database_service, environment: {name: "environment#{SecureRandom.hex(4)}"})
6
+
7
+ [database_service, environment]
8
+ end
9
+
10
+ def create_application(options={})
11
+ account = options.delete(:account) || create_account(options)
12
+ options = Cistern::Hash.stringify_keys(options)
13
+
14
+ options["name"] ||= "application#{SecureRandom.hex(4)}"
15
+ options["repository"] ||= "git://github.com/engineyard/todo.git"
16
+ options["type"] ||= "rails4"
17
+
18
+ account.applications.create!(options)
19
+ end
20
+
21
+ def create_server(client, options={})
22
+ options = Cistern::Hash.stringify_keys(options)
23
+
24
+ request = environment.servers.create(
25
+ "flavor" => "m3.medium",
26
+ "role" => "util",
27
+ )
28
+
29
+ request.resource!
30
+ end
31
+
32
+ def create_cost(client, options={})
33
+ account = options[:account] || create_account(client: client)
34
+ level = options[:level] || "summarized"
35
+ finality = options[:finality] || "estimated"
36
+ related_resource_type = options[:related_resource_type] || "account"
37
+ category = options[:category] || "non-server"
38
+ description = options[:description] || "AWS Other Services"
39
+ value = options[:value] || "1763"
40
+ environment = options[:environment] || nil
41
+
42
+ client.data[:costs] << {
43
+ billing_month: "2015-07",
44
+ data_type: "cost",
45
+ level: level,
46
+ finality: finality,
47
+ related_resource_type: related_resource_type,
48
+ category: category,
49
+ units: "USD cents",
50
+ description: description,
51
+ value: value,
52
+ account: client.url_for("accounts/#{account.identity}"),
53
+ environment: environment
54
+ }
55
+ end
56
+
57
+ def create_account_referral(client, options={})
58
+ referred = options.delete(:referred) || create_account(client: client)
59
+ referrer = options.delete(:referrer) || create_account(client: client)
60
+
61
+ account_referral_id = SecureRandom.uuid
62
+ referral = client.data[:account_referrals][account_referral_id] = {
63
+ "id" => account_referral_id,
64
+ "referrer" => client.url_for("accounts/#{referrer.identity}"),
65
+ "referred" => client.url_for("accounts/#{referred.identity}"),
66
+ }
67
+
68
+ client.account_referrals.new(referral)
69
+ end
70
+
71
+ def create_firewall(client, options={})
72
+ provider = options.fetch(:provider) { create_provider(client: client) }
73
+
74
+ firewall_params = options[:firewall] || {}
75
+ name = firewall_params.delete(:name) || SecureRandom.hex(6)
76
+ location = firewall_params.delete(:location) || "us-west-2"
77
+
78
+ client.firewalls.create!(
79
+ :name => name,
80
+ :location => location,
81
+ :provider => provider,
82
+ ).resource!
83
+ end
84
+
85
+ def create_database_service(options={})
86
+ provider = options[:provider] || create_provider(options.merge(client: client))
87
+
88
+ database_service_params = Hashie::Mash.new(
89
+ :name => Faker::Name.first_name,
90
+ :provider => provider,
91
+ ).merge(options.fetch(:database_service, {}))
92
+
93
+ database_server_params = Hashie::Mash.new(
94
+ :location => "us-west-2c",
95
+ :flavor => "db.m3.large",
96
+ :engine => "postgres",
97
+ :version => "9.3.5",
98
+ ).merge(options.fetch(:database_server, {}))
99
+
100
+ client.database_services.create!(database_service_params.merge(database_server: database_server_params)).resource!
101
+ end
102
+
103
+ def create_environment(options={})
104
+ account = options[:account] || create_account(options)
105
+
106
+ unless account.providers.first || options[:provider]
107
+ create_provider(account: account)
108
+ end
109
+
110
+ environment = options[:environment] || {}
111
+ application = options[:application] || create_application(account: account)
112
+ database_service = options[:database_service]
113
+ configuration = Cistern::Hash.stringify_keys(options[:configuration] || {})
114
+ configuration["type"] = "production-cluster" if configuration["type"] == "production"
115
+ configuration["type"] ||= "solo"
116
+ environment[:name] ||= options.fetch(:name, SecureRandom.hex(3))
117
+ environment[:region] ||= "us-west-2"
118
+
119
+ environment.merge!(application_id: application.id, account: account)
120
+ environment.merge!(database_service: database_service) if database_service
121
+ environment = client.environments.create!(environment)
122
+
123
+ unless options[:boot] == false
124
+ request = environment.boot(configuration: configuration, application_id: application.id)
125
+ request.ready!
126
+ end
127
+ environment
128
+ end
129
+
130
+ def create_provider_location(client, attributes={})
131
+ attributes = Cistern::Hash.stringify_keys(attributes)
132
+
133
+ if provider = attributes.delete("provider")
134
+ attributes["provider"] = client.url_for("/providers/#{provider.id}")
135
+ end
136
+
137
+ attributes["id"] ||= client.uuid
138
+ client.data[:provider_locations][attributes["id"]] = attributes
139
+
140
+ client.provider_locations.new(attributes)
141
+ end
142
+
143
+ def create_server_event(client, attributes={})
144
+ attributes = Cistern::Hash.stringify_keys(attributes)
145
+
146
+ attributes.fetch("type")
147
+
148
+ if server = attributes.delete("server")
149
+ attributes["server"] = client.url_for("/servers/#{server.id}")
150
+ end
151
+
152
+ event_id = attributes["id"] ||= SecureRandom.uuid
153
+
154
+ client.server_events.new(
155
+ client.data[:server_events][event_id] = attributes
156
+ )
157
+ end
158
+
159
+ def create_logical_database(options={})
160
+ database_service = options.fetch(:database_service) { create_database_service(options) }
161
+
162
+ database_service.databases.create!(
163
+ :name => SecureRandom.hex(6),
164
+ :username => "ey#{SecureRandom.hex(6)}",
165
+ :password => SecureRandom.hex(8),
166
+ ).resource!
167
+ end
168
+
169
+ def create_untracked_server(options={})
170
+ provider = options.fetch(:provider) { create_provider(options) }
171
+
172
+ untracked_server = options[:untracked_server] || {}
173
+
174
+ provisioner_id = untracked_server[:provisioner_id] || SecureRandom.uuid
175
+ location = untracked_server[:location] || "us-west-2b"
176
+ provisioned_id = untracked_server[:provisioned_id] || "i-#{SecureRandom.hex(4)}"
177
+ state = untracked_server[:state] || "found"
178
+
179
+ client.untracked_servers.create(
180
+ :location => location,
181
+ :provider => provider,
182
+ :provisioned_id => provisioned_id,
183
+ :provisioner_id => provisioner_id,
184
+ :state => state,
185
+ )
186
+ end
187
+ end
188
+
189
+ World(ResourceHelpers)
@@ -0,0 +1,27 @@
1
+ module ServerHelpers
2
+ def known_servers
3
+ begin
4
+ recall_fact(:known_servers)
5
+ rescue
6
+ memorize_fact(:known_servers, [])
7
+ end
8
+ end
9
+
10
+ def seen_servers
11
+ begin
12
+ recall_fact(:seen_servers)
13
+ rescue
14
+ memorize_fact(:seen_servers, [])
15
+ end
16
+ end
17
+
18
+ def first_server
19
+ known_servers.first
20
+ end
21
+
22
+ def last_server
23
+ known_servers.last
24
+ end
25
+ end
26
+
27
+ World(ServerHelpers)
@@ -0,0 +1,8 @@
1
+ Feature: Version
2
+ In order to determine if I'm working with the most recent goodness
3
+ As a User
4
+ I want to know what version of ey-core I'm using
5
+
6
+ Scenario: Displaying the version
7
+ When I run `ey-core version`
8
+ Then I see the current ey-core version
@@ -0,0 +1,14 @@
1
+ Feature: Whoami
2
+ In order to ensure that I'm logged into the right account
3
+ As a User
4
+ I want to be able to see my user information
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+
10
+ Scenario: Getting the current user information
11
+ When I run `ey-core whoami`
12
+ Then I should see my user ID
13
+ And I should see my email address
14
+ And I should see my name
@@ -1,5 +1,5 @@
1
1
  module Ey
2
2
  module Core
3
- VERSION = "3.4.0"
3
+ VERSION = "3.4.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ey-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Engine Yard Engineering
@@ -13,325 +14,419 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: addressable
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ">="
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ">="
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: awesome_print
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - ">="
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - ">="
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: belafonte
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - ">="
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - ">="
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: cistern
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - "~>"
67
+ - - ~>
60
68
  - !ruby/object:Gem::Version
61
69
  version: 0.12.3
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - "~>"
75
+ - - ~>
67
76
  - !ruby/object:Gem::Version
68
77
  version: 0.12.3
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: colorize
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - ">="
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :runtime
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - ">="
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: ey-hmac
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - "~>"
99
+ - - ~>
88
100
  - !ruby/object:Gem::Version
89
101
  version: '2.0'
90
102
  type: :runtime
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - "~>"
107
+ - - ~>
95
108
  - !ruby/object:Gem::Version
96
109
  version: '2.0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: escape
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - ">="
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - ">="
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: faraday
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - "~>"
131
+ - - ~>
116
132
  - !ruby/object:Gem::Version
117
133
  version: '0.9'
118
134
  type: :runtime
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - "~>"
139
+ - - ~>
123
140
  - !ruby/object:Gem::Version
124
141
  version: '0.9'
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: faraday_middleware
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
- - - "~>"
147
+ - - ~>
130
148
  - !ruby/object:Gem::Version
131
149
  version: '0.9'
132
150
  type: :runtime
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
- - - "~>"
155
+ - - ~>
137
156
  - !ruby/object:Gem::Version
138
157
  version: '0.9'
139
158
  - !ruby/object:Gem::Dependency
140
159
  name: rack
141
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
142
162
  requirements:
143
- - - ">="
163
+ - - ! '>='
144
164
  - !ruby/object:Gem::Version
145
165
  version: '0'
146
166
  type: :runtime
147
167
  prerelease: false
148
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
149
170
  requirements:
150
- - - ">="
171
+ - - ! '>='
151
172
  - !ruby/object:Gem::Version
152
173
  version: '0'
153
174
  - !ruby/object:Gem::Dependency
154
175
  name: faye
155
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
156
178
  requirements:
157
- - - ">="
179
+ - - ! '>='
158
180
  - !ruby/object:Gem::Version
159
181
  version: '0'
160
182
  type: :runtime
161
183
  prerelease: false
162
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
163
186
  requirements:
164
- - - ">="
187
+ - - ! '>='
165
188
  - !ruby/object:Gem::Version
166
189
  version: '0'
167
190
  - !ruby/object:Gem::Dependency
168
191
  name: highline
169
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
170
194
  requirements:
171
- - - ">="
195
+ - - ! '>='
172
196
  - !ruby/object:Gem::Version
173
197
  version: '0'
174
198
  type: :runtime
175
199
  prerelease: false
176
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
177
202
  requirements:
178
- - - ">="
203
+ - - ! '>='
179
204
  - !ruby/object:Gem::Version
180
205
  version: '0'
181
206
  - !ruby/object:Gem::Dependency
182
207
  name: json
183
208
  requirement: !ruby/object:Gem::Requirement
209
+ none: false
184
210
  requirements:
185
- - - "<"
211
+ - - <
186
212
  - !ruby/object:Gem::Version
187
213
  version: '2.0'
188
214
  type: :runtime
189
215
  prerelease: false
190
216
  version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
191
218
  requirements:
192
- - - "<"
219
+ - - <
193
220
  - !ruby/object:Gem::Version
194
221
  version: '2.0'
195
222
  - !ruby/object:Gem::Dependency
196
223
  name: mime-types
197
224
  requirement: !ruby/object:Gem::Requirement
225
+ none: false
198
226
  requirements:
199
- - - ">="
227
+ - - ! '>='
200
228
  - !ruby/object:Gem::Version
201
229
  version: '0'
202
230
  type: :runtime
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
205
234
  requirements:
206
- - - ">="
235
+ - - ! '>='
207
236
  - !ruby/object:Gem::Version
208
237
  version: '0'
209
238
  - !ruby/object:Gem::Dependency
210
239
  name: oj
211
240
  requirement: !ruby/object:Gem::Requirement
241
+ none: false
212
242
  requirements:
213
- - - ">="
243
+ - - ! '>='
214
244
  - !ruby/object:Gem::Version
215
245
  version: '0'
216
246
  type: :runtime
217
247
  prerelease: false
218
248
  version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
219
250
  requirements:
220
- - - ">="
251
+ - - ! '>='
221
252
  - !ruby/object:Gem::Version
222
253
  version: '0'
223
254
  - !ruby/object:Gem::Dependency
224
255
  name: oj_mimic_json
225
256
  requirement: !ruby/object:Gem::Requirement
257
+ none: false
226
258
  requirements:
227
- - - ">="
259
+ - - ! '>='
228
260
  - !ruby/object:Gem::Version
229
261
  version: '0'
230
262
  type: :runtime
231
263
  prerelease: false
232
264
  version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
233
266
  requirements:
234
- - - ">="
267
+ - - ! '>='
235
268
  - !ruby/object:Gem::Version
236
269
  version: '0'
237
270
  - !ruby/object:Gem::Dependency
238
271
  name: pry
239
272
  requirement: !ruby/object:Gem::Requirement
273
+ none: false
240
274
  requirements:
241
- - - ">="
275
+ - - ! '>='
242
276
  - !ruby/object:Gem::Version
243
277
  version: '0'
244
278
  type: :runtime
245
279
  prerelease: false
246
280
  version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
247
282
  requirements:
248
- - - ">="
283
+ - - ! '>='
249
284
  - !ruby/object:Gem::Version
250
285
  version: '0'
251
286
  - !ruby/object:Gem::Dependency
252
287
  name: sshkey
253
288
  requirement: !ruby/object:Gem::Requirement
289
+ none: false
254
290
  requirements:
255
- - - "~>"
291
+ - - ~>
256
292
  - !ruby/object:Gem::Version
257
293
  version: '1.6'
258
294
  type: :runtime
259
295
  prerelease: false
260
296
  version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
261
298
  requirements:
262
- - - "~>"
299
+ - - ~>
263
300
  - !ruby/object:Gem::Version
264
301
  version: '1.6'
265
302
  - !ruby/object:Gem::Dependency
266
303
  name: table_print
267
304
  requirement: !ruby/object:Gem::Requirement
305
+ none: false
268
306
  requirements:
269
- - - ">="
307
+ - - ! '>='
270
308
  - !ruby/object:Gem::Version
271
309
  version: '0'
272
310
  type: :runtime
273
311
  prerelease: false
274
312
  version_requirements: !ruby/object:Gem::Requirement
313
+ none: false
275
314
  requirements:
276
- - - ">="
315
+ - - ! '>='
277
316
  - !ruby/object:Gem::Version
278
317
  version: '0'
279
318
  - !ruby/object:Gem::Dependency
280
319
  name: pry-nav
281
320
  requirement: !ruby/object:Gem::Requirement
321
+ none: false
282
322
  requirements:
283
- - - ">="
323
+ - - ! '>='
284
324
  - !ruby/object:Gem::Version
285
325
  version: '0'
286
326
  type: :development
287
327
  prerelease: false
288
328
  version_requirements: !ruby/object:Gem::Requirement
329
+ none: false
289
330
  requirements:
290
- - - ">="
331
+ - - ! '>='
291
332
  - !ruby/object:Gem::Version
292
333
  version: '0'
293
334
  - !ruby/object:Gem::Dependency
294
335
  name: rspec
295
336
  requirement: !ruby/object:Gem::Requirement
337
+ none: false
296
338
  requirements:
297
- - - "~>"
339
+ - - ~>
298
340
  - !ruby/object:Gem::Version
299
341
  version: '3.0'
300
342
  type: :development
301
343
  prerelease: false
302
344
  version_requirements: !ruby/object:Gem::Requirement
345
+ none: false
303
346
  requirements:
304
- - - "~>"
347
+ - - ~>
305
348
  - !ruby/object:Gem::Version
306
349
  version: '3.0'
307
350
  - !ruby/object:Gem::Dependency
308
351
  name: ffaker
309
352
  requirement: !ruby/object:Gem::Requirement
353
+ none: false
310
354
  requirements:
311
- - - ">="
355
+ - - ! '>='
312
356
  - !ruby/object:Gem::Version
313
357
  version: '0'
314
358
  type: :development
315
359
  prerelease: false
316
360
  version_requirements: !ruby/object:Gem::Requirement
361
+ none: false
317
362
  requirements:
318
- - - ">="
363
+ - - ! '>='
319
364
  - !ruby/object:Gem::Version
320
365
  version: '0'
321
366
  - !ruby/object:Gem::Dependency
322
367
  name: rake
323
368
  requirement: !ruby/object:Gem::Requirement
369
+ none: false
324
370
  requirements:
325
- - - ">="
371
+ - - ! '>='
326
372
  - !ruby/object:Gem::Version
327
373
  version: '0'
328
374
  type: :development
329
375
  prerelease: false
330
376
  version_requirements: !ruby/object:Gem::Requirement
377
+ none: false
331
378
  requirements:
332
- - - ">="
379
+ - - ! '>='
333
380
  - !ruby/object:Gem::Version
334
381
  version: '0'
382
+ - !ruby/object:Gem::Dependency
383
+ name: aruba
384
+ requirement: !ruby/object:Gem::Requirement
385
+ none: false
386
+ requirements:
387
+ - - ~>
388
+ - !ruby/object:Gem::Version
389
+ version: '0.11'
390
+ type: :development
391
+ prerelease: false
392
+ version_requirements: !ruby/object:Gem::Requirement
393
+ none: false
394
+ requirements:
395
+ - - ~>
396
+ - !ruby/object:Gem::Version
397
+ version: '0.11'
398
+ - !ruby/object:Gem::Dependency
399
+ name: cucumber
400
+ requirement: !ruby/object:Gem::Requirement
401
+ none: false
402
+ requirements:
403
+ - - ~>
404
+ - !ruby/object:Gem::Version
405
+ version: '2.1'
406
+ type: :development
407
+ prerelease: false
408
+ version_requirements: !ruby/object:Gem::Requirement
409
+ none: false
410
+ requirements:
411
+ - - ~>
412
+ - !ruby/object:Gem::Version
413
+ version: '2.1'
414
+ - !ruby/object:Gem::Dependency
415
+ name: factis
416
+ requirement: !ruby/object:Gem::Requirement
417
+ none: false
418
+ requirements:
419
+ - - ~>
420
+ - !ruby/object:Gem::Version
421
+ version: '1.0'
422
+ type: :development
423
+ prerelease: false
424
+ version_requirements: !ruby/object:Gem::Requirement
425
+ none: false
426
+ requirements:
427
+ - - ~>
428
+ - !ruby/object:Gem::Version
429
+ version: '1.0'
335
430
  description: Engine Yard Core API Ruby Client
336
431
  email:
337
432
  - engineering@engineyard.com
@@ -340,10 +435,10 @@ executables:
340
435
  extensions: []
341
436
  extra_rdoc_files: []
342
437
  files:
343
- - ".gitignore"
344
- - ".ruby-gemset"
345
- - ".ruby-version"
346
- - ".travis.yml"
438
+ - .gitignore
439
+ - .ruby-gemset
440
+ - .ruby-version
441
+ - .travis.yml
347
442
  - CHANGELOG.md
348
443
  - Gemfile
349
444
  - Guardfile
@@ -358,6 +453,37 @@ files:
358
453
  - examples/stop_env.rb
359
454
  - examples/terminate_instance.rb
360
455
  - ey-core.gemspec
456
+ - features/accounts.feature
457
+ - features/applications.feature
458
+ - features/current_user.feature
459
+ - features/environments.feature
460
+ - features/init.feature
461
+ - features/login.feature
462
+ - features/scp.feature
463
+ - features/step_definitions/accounts_steps.rb
464
+ - features/step_definitions/applications_steps.rb
465
+ - features/step_definitions/current_user_steps.rb
466
+ - features/step_definitions/deprecated_command_steps.rb
467
+ - features/step_definitions/environments_steps.rb
468
+ - features/step_definitions/version_steps.rb
469
+ - features/support/account_helpers.rb
470
+ - features/support/app_helpers.rb
471
+ - features/support/aruba.rb
472
+ - features/support/boilerplate.rb
473
+ - features/support/client_helpers.rb
474
+ - features/support/config_file_helpers.rb
475
+ - features/support/core.rb
476
+ - features/support/deployment_helpers.rb
477
+ - features/support/env.rb
478
+ - features/support/environment_helpers.rb
479
+ - features/support/fake_kernel.rb
480
+ - features/support/io.rb
481
+ - features/support/mock_api.rb
482
+ - features/support/output_helpers.rb
483
+ - features/support/resource_helpers.rb
484
+ - features/support/server_helpers.rb
485
+ - features/version.feature
486
+ - features/whoami.feature
361
487
  - lib/ey-core.rb
362
488
  - lib/ey-core/associations.rb
363
489
  - lib/ey-core/cli.rb
@@ -803,29 +929,61 @@ files:
803
929
  homepage: ''
804
930
  licenses:
805
931
  - MIT
806
- metadata: {}
807
932
  post_install_message:
808
933
  rdoc_options: []
809
934
  require_paths:
810
935
  - lib
811
936
  required_ruby_version: !ruby/object:Gem::Requirement
937
+ none: false
812
938
  requirements:
813
- - - ">="
939
+ - - ! '>='
814
940
  - !ruby/object:Gem::Version
815
941
  version: 2.2.2
816
942
  required_rubygems_version: !ruby/object:Gem::Requirement
943
+ none: false
817
944
  requirements:
818
- - - ">="
945
+ - - ! '>='
819
946
  - !ruby/object:Gem::Version
820
947
  version: '0'
821
948
  requirements: []
822
949
  rubyforge_project:
823
- rubygems_version: 2.5.2
950
+ rubygems_version: 1.8.23.2
824
951
  signing_key:
825
- specification_version: 4
952
+ specification_version: 3
826
953
  summary: Client library providing real and mock functionality for accessing Engine
827
954
  Yard's Core API
828
955
  test_files:
956
+ - features/accounts.feature
957
+ - features/applications.feature
958
+ - features/current_user.feature
959
+ - features/environments.feature
960
+ - features/init.feature
961
+ - features/login.feature
962
+ - features/scp.feature
963
+ - features/step_definitions/accounts_steps.rb
964
+ - features/step_definitions/applications_steps.rb
965
+ - features/step_definitions/current_user_steps.rb
966
+ - features/step_definitions/deprecated_command_steps.rb
967
+ - features/step_definitions/environments_steps.rb
968
+ - features/step_definitions/version_steps.rb
969
+ - features/support/account_helpers.rb
970
+ - features/support/app_helpers.rb
971
+ - features/support/aruba.rb
972
+ - features/support/boilerplate.rb
973
+ - features/support/client_helpers.rb
974
+ - features/support/config_file_helpers.rb
975
+ - features/support/core.rb
976
+ - features/support/deployment_helpers.rb
977
+ - features/support/env.rb
978
+ - features/support/environment_helpers.rb
979
+ - features/support/fake_kernel.rb
980
+ - features/support/io.rb
981
+ - features/support/mock_api.rb
982
+ - features/support/output_helpers.rb
983
+ - features/support/resource_helpers.rb
984
+ - features/support/server_helpers.rb
985
+ - features/version.feature
986
+ - features/whoami.feature
829
987
  - spec/account_spec.rb
830
988
  - spec/account_trial_spec.rb
831
989
  - spec/accounts_referrals_spec.rb
@@ -889,3 +1047,4 @@ test_files:
889
1047
  - spec/tokens_spec.rb
890
1048
  - spec/untracked_servers_spec.rb
891
1049
  - spec/users_spec.rb
1050
+ has_rdoc: