firespring_dev_commands 2.1.31.pre.alpha.2 → 2.1.31.pre.alpha.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f8def75b65efe4ae6fa093c1454ebe33fab521fbf073d9de8aa95b240de76bd
4
- data.tar.gz: 44f8e25c71193439ae26d7c71bb7dd0beb3245a0727b79016322d753744e9e92
3
+ metadata.gz: 9e388b6e621433ccf04ef3976f1ed86b599876cda42273b75c443eeb5b2d4a4c
4
+ data.tar.gz: 9b63682ddb9b33e0215807037a01ea839491dba5512c8cb706da58507480eb23
5
5
  SHA512:
6
- metadata.gz: 710f2c34fc81e046453c53cd60474b0057f8f32ff073c7d8e54c1837d051307fa78bf8b2897f125ebffc476bde16f74c072222f3c034cd9095efa9df9a2557e3
7
- data.tar.gz: 56eb12f5c3fd36be619c8a9014a86a9a55fb868ba848ee5f25dff03436dee5f1070cebf95427be454ef86b1d85b1cc15319f2f51d0724be5b900a9428f74d8d5
6
+ metadata.gz: e9df2493a03611a7c4ad05f51cf3e2b432162704efbc97b8e451d7dfa7c3aec2c9dd5eb481d924fed1a9942ac1f5d24470efaadd0f4caf9f03eef88a1f29c14a
7
+ data.tar.gz: a6b85d0c59225c4877aa0de44ef4882aad7a02cd2dfdcfc0d9915bf29280deeb8efa715406f6ccffa56ccd4452064904fa391963af66b097c4b5e5ee90bef581
@@ -24,7 +24,7 @@ module Dev
24
24
  def parse_time(string)
25
25
  return nil unless string && !string.empty?
26
26
 
27
- Time.at(string.slice(6, 10).to_i)
27
+ ::Time.at(string.slice(6, 10).to_i)
28
28
  end
29
29
  end
30
30
  end
@@ -24,7 +24,7 @@ module Dev
24
24
  def parse_time(string)
25
25
  return nil unless string && !string.empty?
26
26
 
27
- Time.at(string.slice(6, 10).to_i)
27
+ ::Time.at(string.slice(6, 10).to_i)
28
28
  end
29
29
 
30
30
  # Calculate the cycle time as the amount of time the story was open
@@ -2,7 +2,13 @@ module Dev
2
2
  class TargetProcess
3
3
  # Class containing user information
4
4
  class User
5
- attr_accessor :data, :id, :type, :name, :login
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,11 @@ 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
+ def self.get(id)
23
+ new(TargetProcess.new.get("#{User::PATH}/#{id}", Query.new))
13
24
  end
14
25
  end
15
26
  end
@@ -37,7 +37,7 @@ module Dev
37
37
  def parse_time(string)
38
38
  return nil unless string && !string.empty?
39
39
 
40
- Time.at(string.slice(6, 10).to_i)
40
+ ::Time.at(string.slice(6, 10).to_i)
41
41
  end
42
42
 
43
43
  # Calculate the cycle time as the amount of time the story was open
@@ -38,7 +38,7 @@ module Dev
38
38
  def parse_time(string)
39
39
  return nil unless string && !string.empty?
40
40
 
41
- Time.at(string.slice(6, 10).to_i)
41
+ ::Time.at(string.slice(6, 10).to_i)
42
42
  end
43
43
  end
44
44
  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,17 +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?
111
112
  end
112
- ary.each(&)
113
113
  end
114
114
  end
115
115
 
116
+ # Perform a query to the time api path
117
+ # Call the given block (if present) with each time
118
+ # Return all times
116
119
  def times(query, &)
117
120
  [].tap do |ary|
118
121
  get(Time::PATH, query) do |result|
119
122
  ary << Time.new(result)
123
+ yield ary.last if block_given?
120
124
  end
121
- ary.each(&)
122
125
  end
123
126
  end
124
127
 
@@ -141,8 +144,11 @@ module Dev
141
144
  parsed_response['Items'].each(&)
142
145
 
143
146
  while parsed_response['Next']
144
- response = client.request_get(parsed_response['Next'], headers)
145
- raise "Error querying #{parsed_response['Next']} [#{query_string}]: #{response.inspect}" unless response.response.is_a?(Net::HTTPSuccess)
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)
146
152
 
147
153
  parsed_response = JSON.parse(response.body)
148
154
  return parsed_response unless parsed_response.key?('Items')
@@ -6,6 +6,6 @@ module Dev
6
6
  # Use 'v.v.v.pre.alpha.v' for pre-release vesions
7
7
  # Use 'v.v.v.beta.v for beta versions
8
8
  # Use semantic versioning for any releases (https://semver.org/)
9
- VERSION = '2.1.31.pre.alpha.2'.freeze
9
+ VERSION = '2.1.31.pre.alpha.3'.freeze
10
10
  end
11
11
  end
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.31.pre.alpha.2
4
+ version: 2.1.31.pre.alpha.3
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-12 00:00:00.000000000 Z
11
+ date: 2024-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport