ey-core 3.4.0 → 3.4.1

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.
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: