factor-connector-trello 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,59 @@
1
+ require 'factor-connector-api'
2
+ require 'trello'
3
+
4
+ Factor::Connector.service 'trello_boards' do
5
+ action 'create_board' do |params|
6
+
7
+ name = params['name']
8
+ api_key = params['api_key']
9
+ auth_token = params['auth_token']
10
+
11
+ fail 'A board name is required' unless name
12
+
13
+ info 'Initializing connection to Trello'
14
+ begin
15
+ Trello.configure do |config|
16
+ config.developer_public_key = api_key
17
+ config.member_token = auth_token
18
+ end
19
+ rescue
20
+ fail 'Authentication invalid'
21
+ end
22
+
23
+ info 'Creating new board'
24
+ begin
25
+ board = Trello::Board.create(name)
26
+ rescue
27
+ 'Failed to create board'
28
+ end
29
+
30
+ action_callback board
31
+ end
32
+ action 'find_board' do |params|
33
+
34
+ board_id = params['board_id']
35
+ api_key = params['api_key']
36
+ auth_token = params['auth_token']
37
+
38
+ fail 'A board board ID is required' unless board_id
39
+
40
+ info 'Initializing connection to Trello'
41
+ begin
42
+ Trello.configure do |config|
43
+ config.developer_public_key = api_key
44
+ config.member_token = auth_token
45
+ end
46
+ rescue
47
+ fail 'Authentication invalid'
48
+ end
49
+
50
+ info 'Finding board'
51
+ begin
52
+ board = Trello::Board.find(board_id)
53
+ rescue
54
+ 'Failed to find board'
55
+ end
56
+
57
+ action_callback board
58
+ end
59
+ end
@@ -0,0 +1,141 @@
1
+ require 'factor-connector-api'
2
+ require 'trello'
3
+
4
+ Factor::Connector.service 'trello_cards' do
5
+ action 'create_card' do |params|
6
+
7
+ list_id = params['list_id']
8
+ name = params['name']
9
+ api_key = params['api_key']
10
+ auth_token = params['auth_token']
11
+
12
+ fail 'List identification is required' unless list_id
13
+ fail 'A card name is required' unless name
14
+
15
+ content = {
16
+ list_id: list_id,
17
+ name: name
18
+ }
19
+
20
+ info 'Initializing connection to Trello'
21
+ begin
22
+ Trello.configure do |config|
23
+ config.developer_public_key = api_key
24
+ config.member_token = auth_token
25
+ end
26
+ rescue
27
+ fail 'Authentication invalid'
28
+ end
29
+
30
+ info 'Creating new card'
31
+ begin
32
+ card = Trello::Card.create(content)
33
+ rescue
34
+ 'Failed to create card'
35
+ end
36
+
37
+ action_callback card
38
+ end
39
+
40
+ action 'find_card' do |params|
41
+
42
+ card_id = params['card_id']
43
+ list_id = params['list_id']
44
+ board_id = params['board_id']
45
+ member_id = params['member_id']
46
+ api_key = params['api_key']
47
+ auth_token = params['auth_token']
48
+
49
+ fail 'Card, list, board or member identification is required' unless card_id || list_id || board_id || member_id
50
+
51
+ info 'Initializing connection to Trello'
52
+ begin
53
+ Trello.configure do |config|
54
+ config.developer_public_key = api_key
55
+ config.member_token = auth_token
56
+ end
57
+ rescue
58
+ fail 'Authentication invalid'
59
+ end
60
+
61
+ info 'Finding card'
62
+ begin
63
+ cards = if card_id
64
+ Trello::Card.find(card_id)
65
+ elsif list_id
66
+ list = Trello::List.find(list_id)
67
+ list.cards
68
+ elsif board_id
69
+ board = Trello::Board.find(board_id)
70
+ board.cards
71
+ elsif member_id
72
+ member = Trello::Member.find(member_id)
73
+ member.cards
74
+ end
75
+ rescue
76
+ fail 'Failed to find specified card'
77
+ end
78
+
79
+ action_callback cards
80
+ end
81
+
82
+ action 'move_card' do |params|
83
+
84
+ card_id = params['card_id']
85
+ list_two_id = params['list_two_id']
86
+ api_key = params['api_key']
87
+ auth_token = params['auth_token']
88
+
89
+ fail 'Card identification is required' unless card_id
90
+ fail 'List identification is required' unless list_two_id
91
+
92
+ info 'Initializing connection to Trello'
93
+ begin
94
+ Trello.configure do |config|
95
+ config.developer_public_key = api_key
96
+ config.member_token = auth_token
97
+ end
98
+ rescue
99
+ fail 'Authentication invalid'
100
+ end
101
+
102
+ info 'Moving card'
103
+ begin
104
+ card = Trello::Card.find(card_id)
105
+ moved_card = card.move_to_list(list_two_id)
106
+ rescue
107
+ fail 'Failed to move card'
108
+ end
109
+
110
+ action_callback moved_card
111
+ end
112
+
113
+ action 'delete_card' do |params|
114
+
115
+ card_id = params['card_id']
116
+ api_key = params['api_key']
117
+ auth_token = params['auth_token']
118
+
119
+ fail 'Card identification is required' unless card_id
120
+
121
+ info 'Initializing connection to Trello'
122
+ begin
123
+ Trello.configure do |config|
124
+ config.developer_public_key = api_key
125
+ config.member_token = auth_token
126
+ end
127
+ rescue
128
+ fail 'Authentication invalid'
129
+ end
130
+
131
+ info 'Deleting card'
132
+ begin
133
+ card = Trello::Card.find(card_id)
134
+ response = card.delete
135
+ rescue
136
+ fail 'Failed to delete card'
137
+ end
138
+
139
+ action_callback response
140
+ end
141
+ end
@@ -0,0 +1,67 @@
1
+ require 'factor-connector-api'
2
+ require 'trello'
3
+
4
+ Factor::Connector.service 'trello_lists' do
5
+ action 'create_list' do |params|
6
+
7
+ board_id = params['board_id']
8
+ name = params['name']
9
+ api_key = params['api_key']
10
+ auth_token = params['auth_token']
11
+
12
+ fail 'Board identification is required' unless board_id
13
+ fail 'A list name is required' unless name
14
+
15
+ content = {
16
+ board_id: board_id,
17
+ name: name
18
+ }
19
+
20
+ info 'Initializing connection to Trello'
21
+ begin
22
+ Trello.configure do |config|
23
+ config.developer_public_key = api_key
24
+ config.member_token = auth_token
25
+ end
26
+ rescue
27
+ fail 'Authentication invalid'
28
+ end
29
+
30
+ info 'Creating new list'
31
+ begin
32
+ list = Trello::List.create(content)
33
+ rescue
34
+ 'Failed to create list'
35
+ end
36
+
37
+ action_callback list
38
+ end
39
+
40
+ action 'find_list' do |params|
41
+
42
+ list_id = params['list_id']
43
+ api_key = params['api_key']
44
+ auth_token = params['auth_token']
45
+
46
+ fail 'List identification is required' unless list_id
47
+
48
+ info 'Initializing connection to Trello'
49
+ begin
50
+ Trello.configure do |config|
51
+ config.developer_public_key = api_key
52
+ config.member_token = auth_token
53
+ end
54
+ rescue
55
+ fail 'Authentication invalid'
56
+ end
57
+
58
+ info 'Retrieving list information'
59
+ begin
60
+ list = Trello::List.find(list_id)
61
+ rescue
62
+ fail 'Failed to find specified list'
63
+ end
64
+
65
+ action_callback list
66
+ end
67
+ end
@@ -0,0 +1,79 @@
1
+ require 'factor-connector-api'
2
+ require 'trello'
3
+
4
+ Factor::Connector.service 'trello_members' do
5
+ action 'find_member' do |params|
6
+
7
+ member_id = params['member_id'] # username or ID
8
+ board_id = params['board_id'] # link ID or ID
9
+ card_id = params['card_id']
10
+ api_key = params['api_key']
11
+ auth_token = params['auth_token']
12
+
13
+ fail 'A member ID, card ID or board ID is required' unless member_id || card_id || board_id
14
+
15
+ info 'Initializing connection to Trello'
16
+ begin
17
+ Trello.configure do |config|
18
+ config.developer_public_key = api_key
19
+ config.member_token = auth_token
20
+ end
21
+ rescue
22
+ fail 'Authentication invalid'
23
+ end
24
+
25
+ info 'Finding member'
26
+ begin
27
+ members = if member_id
28
+ Trello::Member.find(member_id)
29
+ elsif board_id
30
+ board = Trello::Board.find(board_id)
31
+ board.members
32
+ elsif card_id
33
+ card = Trello::Card.find(card_id)
34
+ card.members
35
+ end
36
+ rescue
37
+ fail 'Failed to find member'
38
+ end
39
+
40
+ action_callback members
41
+ end
42
+ action 'add_member' do |params|
43
+
44
+ member_id = params['member_id'] # username or ID
45
+ card_id = params['card_id']
46
+ api_key = params['api_key']
47
+ auth_token = params['auth_token']
48
+
49
+ fail 'A member ID is required' unless member_id
50
+ fail 'A card ID is required' unless card_id
51
+
52
+ info 'Initializing connection to Trello'
53
+ begin
54
+ Trello.configure do |config|
55
+ config.developer_public_key = api_key
56
+ config.member_token = auth_token
57
+ end
58
+ rescue
59
+ fail 'Authentication invalid'
60
+ end
61
+
62
+ info 'Adding member to card'
63
+ begin
64
+ card = Trello::Card.find(card_id)
65
+ board = card.board
66
+ member = Trello::Member.find(member_id)
67
+ update = if board.members.include? member
68
+ card.add_member(member)
69
+ else
70
+ board.add_member(member)
71
+ card.add_member(member)
72
+ end
73
+ rescue
74
+ fail 'Failed to add member'
75
+ end
76
+
77
+ action_callback update
78
+ end
79
+ end
metadata ADDED
@@ -0,0 +1,147 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: factor-connector-trello
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Josie Wright
9
+ - Andrew Akers
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2014-10-15 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: factor-connector-api
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 0.0.13
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 0.0.13
31
+ - !ruby/object:Gem::Dependency
32
+ name: codeclimate-test-reporter
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 0.4.1
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 0.4.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 3.1.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: 10.3.2
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 10.3.2
79
+ - !ruby/object:Gem::Dependency
80
+ name: wrong
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 0.7.1
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: 0.7.1
95
+ - !ruby/object:Gem::Dependency
96
+ name: ruby-trello
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: 1.1.1
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 1.1.1
111
+ description:
112
+ email:
113
+ - jozwright@gmail.com
114
+ - andrewrdakers@gmail.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - lib/factor/connector/trello_boards.rb
120
+ - lib/factor/connector/trello_cards.rb
121
+ - lib/factor/connector/trello_lists.rb
122
+ - lib/factor/connector/trello_members.rb
123
+ homepage: https://factor.io
124
+ licenses: []
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ requirements: []
142
+ rubyforge_project:
143
+ rubygems_version: 1.8.25
144
+ signing_key:
145
+ specification_version: 3
146
+ summary: Trello Factor.io Connector
147
+ test_files: []