clubhouse2 1.0.8 → 1.0.10
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/VERSION +1 -1
- data/lib/clubhouse2.rb +4 -1
- data/lib/clubhouse2/branch.rb +7 -0
- data/lib/clubhouse2/client.rb +3 -3
- data/lib/clubhouse2/clubhouse_resource.rb +2 -2
- data/lib/clubhouse2/commit.rb +7 -0
- data/lib/clubhouse2/pull_request.rb +7 -0
- data/lib/clubhouse2/story.rb +29 -5
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd670ee7b3ffc956dd48aa6c646e2dbe905b72c0
|
4
|
+
data.tar.gz: 6f795a61c79142106135e72cd978228d91fb1278
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 278a0f5d415e63413657dbe6518724ddcc2edc86061ebce1a0732b79875beecd15121f0a08eca41cbe89eb6d54552e815536d76b94e5d507ce8bb65dc688200a
|
7
|
+
data.tar.gz: 9862293188fff7c1b7b7001dd92ececcf94d025f6c4ad39707c907fd7a0a34c049d3d617530333e26ffe348e5c87a97c4639558b1b8d357a7aaabc3aaf2fc869
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.10
|
data/lib/clubhouse2.rb
CHANGED
@@ -18,6 +18,9 @@ require 'clubhouse2/team.rb'
|
|
18
18
|
require 'clubhouse2/file.rb'
|
19
19
|
require 'clubhouse2/task.rb'
|
20
20
|
require 'clubhouse2/epic.rb'
|
21
|
+
require 'clubhouse2/branch.rb'
|
22
|
+
require 'clubhouse2/pull_request.rb'
|
23
|
+
require 'clubhouse2/commit.rb'
|
21
24
|
|
22
25
|
module Clubhouse
|
23
|
-
end
|
26
|
+
end
|
data/lib/clubhouse2/client.rb
CHANGED
@@ -3,7 +3,7 @@ require 'uri'
|
|
3
3
|
require 'json'
|
4
4
|
|
5
5
|
module Clubhouse
|
6
|
-
class Client
|
6
|
+
class Client
|
7
7
|
def initialize(api_key:, base_url: 'https://api.clubhouse.io/api/v2/')
|
8
8
|
@api_key = api_key
|
9
9
|
@base_url = base_url
|
@@ -52,7 +52,7 @@ module Clubhouse
|
|
52
52
|
new_params = args.compact.reject { |k, v| this_class.property_filter_create.include? k.to_sym }
|
53
53
|
response = api_request(:post, url(this_class.api_url), :json => new_params)
|
54
54
|
JSON.parse(response.to_s)
|
55
|
-
end
|
55
|
+
end
|
56
56
|
|
57
57
|
def get_objects(resource_class, args = {})
|
58
58
|
this_class = Clubhouse::ClubhouseResource.subclass(resource_class)
|
@@ -97,7 +97,7 @@ module Clubhouse
|
|
97
97
|
def create_member(**args); create_object(:member, args); end
|
98
98
|
def members(**args); get_objects(:member, args); end
|
99
99
|
def member(**args); get_object(:member, args); end
|
100
|
-
|
100
|
+
|
101
101
|
def create_team(**args); create_object(:team, args); end
|
102
102
|
def teams(**args); get_objects(:team, args); end
|
103
103
|
def team(**args); get_object(:team, args); end
|
@@ -58,7 +58,7 @@ module Clubhouse
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def value_format(key, value)
|
61
|
-
|
61
|
+
DateTime.strptime(value+'+0000', '%Y-%m-%dT%H:%M:%SZ%z') rescue value
|
62
62
|
end
|
63
63
|
|
64
64
|
# Empties resource cache
|
@@ -82,4 +82,4 @@ module Clubhouse
|
|
82
82
|
Hash[ (self.class.properties - self.class.property_filter_create).map { |name| [ name, instance_variable_get('@' + name.to_s) ] } ].compact
|
83
83
|
end
|
84
84
|
end
|
85
|
-
end
|
85
|
+
end
|
data/lib/clubhouse2/story.rb
CHANGED
@@ -2,7 +2,7 @@ module Clubhouse
|
|
2
2
|
class Story < ClubhouseResource
|
3
3
|
def self.properties
|
4
4
|
[
|
5
|
-
:archived, :blocker, :
|
5
|
+
:archived, :blocker, :blocked, :comment_ids, :completed, :completed_at, :completed_at_override, :created_at,
|
6
6
|
:deadline, :entity_type, :epic_id, :estimate, :external_id, :file_ids, :follower_ids, :id,
|
7
7
|
:linked_file_ids, :moved_at, :name, :owner_ids, :position, :project_id, :requested_by_id, :started,
|
8
8
|
:started_at, :started_at_override, :story_type, :task_ids, :updated_at, :workflow_state_id,
|
@@ -14,10 +14,10 @@ module Clubhouse
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def validate(**args)
|
17
|
-
raise NoSuchEpic.new(args[:epic_id]) unless @client.epic(id: args[:epic_id]) if args[:epic_id]
|
18
|
-
raise NoSuchProject.new(args[:project_id]) unless @client.project(id: args[:project_id]) if args[:project_id]
|
19
|
-
raise NoSuchMember.new(args[:requested_by_id]) unless @client.member(id: args[:requested_by_id]) if args[:requested_by_id]
|
20
|
-
|
17
|
+
raise NoSuchEpic.new(args[:epic_id]) unless @client.epic(id: args[:epic_id]) if args[:epic_id]
|
18
|
+
raise NoSuchProject.new(args[:project_id]) unless @client.project(id: args[:project_id]) if args[:project_id]
|
19
|
+
raise NoSuchMember.new(args[:requested_by_id]) unless @client.member(id: args[:requested_by_id]) if args[:requested_by_id]
|
20
|
+
|
21
21
|
(args[:follower_ids] || []).each do |this_member|
|
22
22
|
raise NoSuchMember.new(this_member) unless @client.member(id: this_member)
|
23
23
|
end
|
@@ -102,9 +102,33 @@ module Clubhouse
|
|
102
102
|
files: [ *files ].collect(&:to_h),
|
103
103
|
story_links: [ *story_links ].collect(&:to_h),
|
104
104
|
labels: [ *labels ].collect(&:to_h),
|
105
|
+
branches: [ *branches ].collect(&:to_h),
|
106
|
+
commits: [ *commits ].collect(&:to_h),
|
105
107
|
})
|
106
108
|
end
|
107
109
|
|
110
|
+
def full_story(**args)
|
111
|
+
@full_story ||= begin
|
112
|
+
JSON.parse(@client.api_request(:get, @client.url("#{Story.api_url}/#{id}")))
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def commits(**args)
|
117
|
+
@commits ||= begin
|
118
|
+
full_story['commits'].collect do |commit_data|
|
119
|
+
Commit.new(client: @client, object: commit_data)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def branches(**args)
|
125
|
+
@branches ||= begin
|
126
|
+
full_story['branches'].collect do |branch_data|
|
127
|
+
Branch.new(client: @client, object: branch_data)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
108
132
|
def create_comment(**args)
|
109
133
|
Task.validate(**args)
|
110
134
|
@comments = nil
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clubhouse2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Denness
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -64,9 +64,11 @@ files:
|
|
64
64
|
- VERSION
|
65
65
|
- clubhouse2.gemspec
|
66
66
|
- lib/clubhouse2.rb
|
67
|
+
- lib/clubhouse2/branch.rb
|
67
68
|
- lib/clubhouse2/category.rb
|
68
69
|
- lib/clubhouse2/client.rb
|
69
70
|
- lib/clubhouse2/clubhouse_resource.rb
|
71
|
+
- lib/clubhouse2/commit.rb
|
70
72
|
- lib/clubhouse2/epic.rb
|
71
73
|
- lib/clubhouse2/epic_comment.rb
|
72
74
|
- lib/clubhouse2/exceptions.rb
|
@@ -77,6 +79,7 @@ files:
|
|
77
79
|
- lib/clubhouse2/milestone.rb
|
78
80
|
- lib/clubhouse2/profile.rb
|
79
81
|
- lib/clubhouse2/project.rb
|
82
|
+
- lib/clubhouse2/pull_request.rb
|
80
83
|
- lib/clubhouse2/repository.rb
|
81
84
|
- lib/clubhouse2/state.rb
|
82
85
|
- lib/clubhouse2/story.rb
|