firespring_dev_commands 2.1.33.pre.alpha.1 → 2.1.34.pre.alpha.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.
- checksums.yaml +4 -4
- data/lib/firespring_dev_commands/eol/aws.rb +10 -2
- data/lib/firespring_dev_commands/target_process/release.rb +1 -1
- data/lib/firespring_dev_commands/target_process/team_assignment.rb +1 -1
- data/lib/firespring_dev_commands/target_process/time.rb +32 -0
- data/lib/firespring_dev_commands/target_process/user.rb +13 -1
- data/lib/firespring_dev_commands/target_process/user_story.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user_story_history.rb +1 -1
- data/lib/firespring_dev_commands/target_process.rb +21 -6
- data/lib/firespring_dev_commands/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1251774a637562a4014393d263701a1317968a8dba1bcbe28a0de22bdaf2a511
|
4
|
+
data.tar.gz: ff05d96253f15ce2f2929d56458b246898805668987157f1afcaac26c5bab506
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a26483191cfb4cd36b32e21df7bd0f8936859984de7cde12cb95f65a8d6131529d1f67800c00f681f6e4632c9b988e5929e6212349d8075d4dd276cb312faa93
|
7
|
+
data.tar.gz: a135d944fa18bef746dfd1f7be0123ed4971affea00189878425b184dcc00669bd284fd342dc22a8cd578724750a6f541b0048b1f6cfe4c5a93a42fe9be02f5d
|
@@ -72,19 +72,23 @@ module Dev
|
|
72
72
|
# Queries and returns product versions for rds instance products
|
73
73
|
def rds_instance_products
|
74
74
|
aws_engines = %w(mysql postgresql)
|
75
|
+
aws_sqlserver_engines = %w(sqlserver-ee sqlserver-ex sqlserver-se sqlserver-web)
|
75
76
|
client = ::Aws::RDS::Client.new
|
76
77
|
|
77
78
|
[].tap do |ary|
|
78
79
|
Dev::Aws.each_page(client, :describe_db_instances) do |response|
|
79
80
|
response.db_instances.each do |instance|
|
80
81
|
name = instance.db_instance_identifier
|
81
|
-
engine = instance.engine.
|
82
|
+
engine = instance.engine.gsub('aurora-', '')
|
82
83
|
product = if aws_engines.include?(engine)
|
83
84
|
"amazon-rds-#{engine}"
|
85
|
+
elsif aws_sqlserver_engines.include?(engine)
|
86
|
+
'mssqlserver'
|
84
87
|
else
|
85
88
|
engine
|
86
89
|
end
|
87
90
|
version = instance.engine_version.reverse.split('.')[-2..].join('.').reverse
|
91
|
+
version.chop! if version.end_with?('.00')
|
88
92
|
ary << Dev::EndOfLife::ProductVersion.new(product, version, name)
|
89
93
|
end
|
90
94
|
end
|
@@ -94,19 +98,23 @@ module Dev
|
|
94
98
|
# Queries and returns product versions for rds cluster products
|
95
99
|
def rds_cluster_products
|
96
100
|
aws_engines = %w(mysql postgresql)
|
101
|
+
aws_sqlserver_engines = %w(sqlserver-ee sqlserver-ex sqlserver-se sqlserver-web)
|
97
102
|
client = ::Aws::RDS::Client.new
|
98
103
|
|
99
104
|
[].tap do |ary|
|
100
105
|
Dev::Aws.each_page(client, :describe_db_clusters) do |response|
|
101
106
|
response.db_clusters.each do |cluster|
|
102
107
|
name = cluster.db_cluster_identifier
|
103
|
-
engine = cluster.engine.
|
108
|
+
engine = cluster.engine.gsub('aurora-', '')
|
104
109
|
product = if aws_engines.include?(engine)
|
105
110
|
"amazon-rds-#{engine}"
|
111
|
+
elsif aws_sqlserver_engines.include?(engine)
|
112
|
+
'mssqlserver'
|
106
113
|
else
|
107
114
|
engine
|
108
115
|
end
|
109
116
|
version = cluster.engine_version.reverse.split('.')[-2..].join('.').reverse
|
117
|
+
version.chop! if version.end_with?('.00')
|
110
118
|
ary << Dev::EndOfLife::ProductVersion.new(product, version, name)
|
111
119
|
end
|
112
120
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Dev
|
2
|
+
class TargetProcess
|
3
|
+
# The class to query time information from Target Process
|
4
|
+
class Time
|
5
|
+
# The resource type for the api endpoint
|
6
|
+
RESOURCE_TYPE = 'Time'.freeze
|
7
|
+
|
8
|
+
# The api path for time requests
|
9
|
+
PATH = '/Time'.freeze
|
10
|
+
|
11
|
+
attr_accessor :data, :id, :type, :description, :hours, :date, :story, :user
|
12
|
+
|
13
|
+
def initialize(data)
|
14
|
+
@data = data
|
15
|
+
@id = data['Id']
|
16
|
+
@type = data['ResourceType']
|
17
|
+
@description = data['Description']
|
18
|
+
@hours = data['Spent']
|
19
|
+
@date = parse_time(data['Date'])
|
20
|
+
@story = UserStory.new(data['Assignable']) if data['Assignable']
|
21
|
+
@user = User.new(data['User']) if data['User']
|
22
|
+
end
|
23
|
+
|
24
|
+
# Parse the dot net time representation into something that ruby can use
|
25
|
+
def parse_time(string)
|
26
|
+
return nil unless string && !string.empty?
|
27
|
+
|
28
|
+
::Time.at(string.slice(6, 10).to_i)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -2,7 +2,13 @@ module Dev
|
|
2
2
|
class TargetProcess
|
3
3
|
# Class containing user information
|
4
4
|
class User
|
5
|
-
|
5
|
+
# The resource type for the api endpoint
|
6
|
+
RESOURCE_TYPE = 'User'.freeze
|
7
|
+
|
8
|
+
# The api path for user requests
|
9
|
+
PATH = '/User'.freeze
|
10
|
+
|
11
|
+
attr_accessor :data, :id, :type, :name, :login, :email
|
6
12
|
|
7
13
|
def initialize(data)
|
8
14
|
@data = data
|
@@ -10,6 +16,12 @@ module Dev
|
|
10
16
|
@type = data['ResourceType']
|
11
17
|
@name = data['FullName']
|
12
18
|
@login = data['Login']
|
19
|
+
@email = data['Email']
|
20
|
+
end
|
21
|
+
|
22
|
+
# Get the user with the given id and return that object
|
23
|
+
def self.get(id)
|
24
|
+
new(TargetProcess.new.get("#{User::PATH}/#{id}", Query.new))
|
13
25
|
end
|
14
26
|
end
|
15
27
|
end
|
@@ -72,8 +72,8 @@ module Dev
|
|
72
72
|
[].tap do |ary|
|
73
73
|
get(Release::PATH, query) do |result|
|
74
74
|
ary << Release.new(result)
|
75
|
+
yield ary.last if block_given?
|
75
76
|
end
|
76
|
-
ary.each(&)
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -84,8 +84,8 @@ module Dev
|
|
84
84
|
[].tap do |ary|
|
85
85
|
get(UserStory::PATH, query) do |result|
|
86
86
|
ary << UserStory.new(result)
|
87
|
+
yield ary.last if block_given?
|
87
88
|
end
|
88
|
-
ary.each(&)
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
@@ -96,8 +96,8 @@ module Dev
|
|
96
96
|
[].tap do |ary|
|
97
97
|
get(UserStoryHistory::PATH, query) do |result|
|
98
98
|
ary << UserStoryHistory.new(result)
|
99
|
+
yield ary.last if block_given?
|
99
100
|
end
|
100
|
-
ary.each(&)
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
@@ -108,8 +108,20 @@ module Dev
|
|
108
108
|
[].tap do |ary|
|
109
109
|
get(TeamAssignment::PATH, query) do |result|
|
110
110
|
ary << TeamAssignment.new(result)
|
111
|
+
yield ary.last if block_given?
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
# Perform a query to the time api path
|
117
|
+
# Call the given block (if present) with each time
|
118
|
+
# Return all times
|
119
|
+
def times(query, &)
|
120
|
+
[].tap do |ary|
|
121
|
+
get(Time::PATH, query) do |result|
|
122
|
+
ary << Time.new(result)
|
123
|
+
yield ary.last if block_given?
|
111
124
|
end
|
112
|
-
ary.each(&)
|
113
125
|
end
|
114
126
|
end
|
115
127
|
|
@@ -132,8 +144,11 @@ module Dev
|
|
132
144
|
parsed_response['Items'].each(&)
|
133
145
|
|
134
146
|
while parsed_response['Next']
|
135
|
-
|
136
|
-
|
147
|
+
next_query_string = URI(parsed_response['Next']).query
|
148
|
+
next_url = "/api/v1/#{path}"
|
149
|
+
next_url << "?#{next_query_string}" unless query_string.empty?
|
150
|
+
response = client.request_get(next_url, headers)
|
151
|
+
raise "Error querying #{next_url} [#{next_query_string}]: #{response.inspect}" unless response.response.is_a?(Net::HTTPSuccess)
|
137
152
|
|
138
153
|
parsed_response = JSON.parse(response.body)
|
139
154
|
return parsed_response unless parsed_response.key?('Items')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: firespring_dev_commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.34.pre.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Firespring
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -380,6 +380,7 @@ files:
|
|
380
380
|
- lib/firespring_dev_commands/target_process/release.rb
|
381
381
|
- lib/firespring_dev_commands/target_process/team.rb
|
382
382
|
- lib/firespring_dev_commands/target_process/team_assignment.rb
|
383
|
+
- lib/firespring_dev_commands/target_process/time.rb
|
383
384
|
- lib/firespring_dev_commands/target_process/user.rb
|
384
385
|
- lib/firespring_dev_commands/target_process/user_story.rb
|
385
386
|
- lib/firespring_dev_commands/target_process/user_story_history.rb
|