startling_trello 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +126 -0
- data/Rakefile +6 -0
- data/bin/console +10 -0
- data/bin/setup +6 -0
- data/exe/startling_trello_boards +13 -0
- data/exe/startling_trello_lists +15 -0
- data/lib/generators/startling_trello/configuration_generator.rb +38 -0
- data/lib/startling_trello/api.rb +54 -0
- data/lib/startling_trello/commands/trello_start.rb +52 -0
- data/lib/startling_trello/story.rb +19 -0
- data/lib/startling_trello/version.rb +3 -0
- data/lib/startling_trello.rb +43 -0
- data/startling_trello.gemspec +30 -0
- metadata +176 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eb3f7e3dcffb2eb4913b791e4b69b07a31016879
|
4
|
+
data.tar.gz: deaea5d16da37f195586103bbf40d4d33fbf386f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 04119943e8f92d86ddf8be689e8b5b3b8d510998e9bffc34619ee586d282ce52485b72f3d7cecd6ec09378662b42b853ff13b1281868f824357977590fac17be
|
7
|
+
data.tar.gz: d753caf5739eca5451f6f9a1b935735134160edf3f98d98e9fbec7b1fddc168f75d7e16f67e4d740d7d3b39a03e55e04876097a9c3db0c1777e6b4334582c6f1
|
data/.rspec
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
startling_trello
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of
|
4
|
+
fostering an open and welcoming community, we pledge to respect all people who
|
5
|
+
contribute through reporting issues, posting feature requests, updating
|
6
|
+
documentation, submitting pull requests or patches, and other activities.
|
7
|
+
|
8
|
+
We are committed to making participation in this project a harassment-free
|
9
|
+
experience for everyone, regardless of level of experience, gender, gender
|
10
|
+
identity and expression, sexual orientation, disability, personal appearance,
|
11
|
+
body size, race, ethnicity, age, religion, or nationality.
|
12
|
+
|
13
|
+
Examples of unacceptable behavior by participants include:
|
14
|
+
|
15
|
+
* The use of sexualized language or imagery
|
16
|
+
* Personal attacks
|
17
|
+
* Trolling or insulting/derogatory comments
|
18
|
+
* Public or private harassment
|
19
|
+
* Publishing other's private information, such as physical or electronic
|
20
|
+
addresses, without explicit permission
|
21
|
+
* Other unethical or unprofessional conduct
|
22
|
+
|
23
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
24
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
25
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
26
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
27
|
+
threatening, offensive, or harmful.
|
28
|
+
|
29
|
+
By adopting this Code of Conduct, project maintainers commit themselves to
|
30
|
+
fairly and consistently applying these principles to every aspect of managing
|
31
|
+
this project. Project maintainers who do not follow or enforce the Code of
|
32
|
+
Conduct may be permanently removed from the project team.
|
33
|
+
|
34
|
+
This code of conduct applies both within project spaces and in public spaces
|
35
|
+
when an individual is representing the project or its community.
|
36
|
+
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
38
|
+
reported by contacting a project maintainer at startling@substantial.com. All
|
39
|
+
complaints will be reviewed and investigated and will result in a response that
|
40
|
+
is deemed necessary and appropriate to the circumstances. Maintainers are
|
41
|
+
obligated to maintain confidentiality with regard to the reporter of an
|
42
|
+
incident.
|
43
|
+
|
44
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
45
|
+
version 1.3.0, available at
|
46
|
+
[http://contributor-covenant.org/version/1/3/0/][version]
|
47
|
+
|
48
|
+
[homepage]: http://contributor-covenant.org
|
49
|
+
[version]: http://contributor-covenant.org/version/1/3/0/
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Cassie Schmitz
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
# Startling Trello
|
2
|
+
|
3
|
+
Hooks into [Startling](https://rubygems.org/gems/startling) to start a Trello
|
4
|
+
story. Moves the Trello card for the story to the Doing list. Uses the card
|
5
|
+
name for the pull request title and the card URL for the pull request
|
6
|
+
description.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
Add this line to your application's Gemfile:
|
11
|
+
|
12
|
+
```ruby
|
13
|
+
gem 'startling_trello'
|
14
|
+
```
|
15
|
+
|
16
|
+
And then execute:
|
17
|
+
|
18
|
+
$ bundle
|
19
|
+
|
20
|
+
Or install it yourself as:
|
21
|
+
|
22
|
+
$ gem install startling_trello
|
23
|
+
|
24
|
+
Generate configuration file in Rails:
|
25
|
+
|
26
|
+
$ rails g startling_trello:configuration
|
27
|
+
|
28
|
+
## Configuration
|
29
|
+
|
30
|
+
### Startling Configuration
|
31
|
+
|
32
|
+
startlingfile.rb or Startlingfile.rb should be defined at the root of the
|
33
|
+
project. It can contain a block for configuration.
|
34
|
+
|
35
|
+
Add the following line to the beginning of the Startling configuration file:
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
require 'startling_trello'
|
39
|
+
```
|
40
|
+
|
41
|
+
Add or update the following line of the Startling configuration file:
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
Startling.configure do |config|
|
45
|
+
config.story_handler = :trello_start
|
46
|
+
end
|
47
|
+
```
|
48
|
+
|
49
|
+
### Startling Trello Configuration
|
50
|
+
|
51
|
+
The following configuration values must be set:
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
Startling.configure do |config|
|
55
|
+
# Trello Developer API key
|
56
|
+
# config.developer_public_key = 'developer-public-key'
|
57
|
+
|
58
|
+
# Trello Doing List ID
|
59
|
+
# config.doing_list_id = 'doing-list-id'
|
60
|
+
end
|
61
|
+
```
|
62
|
+
|
63
|
+
#### 1. Trello Developer API key
|
64
|
+
|
65
|
+
The Trello Developer API key is required for integration with the Trello API.
|
66
|
+
When running any of the scripts, a browser window will be launched to get a key
|
67
|
+
if the key is not specified in the configuration. Copy the key into the
|
68
|
+
configuration file.
|
69
|
+
|
70
|
+
#### 2. Trello Member Token
|
71
|
+
|
72
|
+
Anyone using Startling Trello will have to authorize the Trello Developer API
|
73
|
+
key. When running any of the scripts, a browser window will be launched to
|
74
|
+
authorize the key. After authorizing the Trello key, a token will be displayed.
|
75
|
+
Copy the token and enter it into the prompt. The token will be cached in the
|
76
|
+
`.trello_member_token` file in the root of your project.
|
77
|
+
|
78
|
+
#### 3. Trello Doing List ID
|
79
|
+
|
80
|
+
Startling Trello needs to know the ID of the Doing list in order to move cards
|
81
|
+
to that list. To get the list ID, run `startling_trello_boards` to get the list of your Trello
|
82
|
+
boards. Copy the board ID, and run `startling_trello_lists <board-id>`. Copy the list ID into
|
83
|
+
the configuration file.
|
84
|
+
|
85
|
+
## Usage
|
86
|
+
|
87
|
+
Start a new story with a given card URL:
|
88
|
+
|
89
|
+
$ start https://trello.com/c/123abc
|
90
|
+
|
91
|
+
Start a new story with a given card URL and branch name:
|
92
|
+
|
93
|
+
$ start https://trello.com/c/123abc foo
|
94
|
+
|
95
|
+
Get list of your Trello boards:
|
96
|
+
|
97
|
+
$ startling_trello_boards
|
98
|
+
|
99
|
+
Get list of the lists in the Trello board:
|
100
|
+
|
101
|
+
$ startling_trello_lists <board-id>
|
102
|
+
|
103
|
+
## Development
|
104
|
+
|
105
|
+
After checking out the repo, run `cd startling/startling_trello && bin/setup`
|
106
|
+
to install dependencies. Then, run `rake spec` to run the tests. You can also
|
107
|
+
run `bin/console` for an interactive prompt that will allow you to experiment.
|
108
|
+
|
109
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
110
|
+
To release a new version, update the version number in `version.rb`, and then
|
111
|
+
run `bundle exec rake release`, which will create a git tag for the version,
|
112
|
+
push git commits and tags, and push the `.gem` file to
|
113
|
+
[rubygems.org](https://rubygems.org).
|
114
|
+
|
115
|
+
## Contributing
|
116
|
+
|
117
|
+
Bug reports and pull requests are welcome on GitHub at
|
118
|
+
https://github.com/substantial/startling. This project is intended to be a safe,
|
119
|
+
welcoming space for collaboration, and contributors are expected to adhere to
|
120
|
+
the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
121
|
+
|
122
|
+
## License
|
123
|
+
|
124
|
+
The gem is available as open source under the terms of the
|
125
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
126
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
data/bin/setup
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/startling_trello'
|
4
|
+
|
5
|
+
puts "Fetching boards..."
|
6
|
+
|
7
|
+
Startling::Configuration.load_configuration
|
8
|
+
|
9
|
+
api = StartlingTrello.api
|
10
|
+
member = api.get_member_from_token
|
11
|
+
|
12
|
+
puts "ID\tBoard Name"
|
13
|
+
member.boards.each { |b| puts "#{b.id}\t#{b.name}" }
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/startling_trello'
|
4
|
+
|
5
|
+
exit 1 if ARGV.empty?
|
6
|
+
|
7
|
+
puts "Fetching lists..."
|
8
|
+
|
9
|
+
Startling::Configuration.load_configuration
|
10
|
+
|
11
|
+
api = StartlingTrello.api
|
12
|
+
board = api.find_board(ARGV[0])
|
13
|
+
|
14
|
+
puts "ID\tList Name"
|
15
|
+
board.lists.each { |b| puts "#{b.id}\t#{b.name}" }
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'rails/generators/base'
|
3
|
+
require 'startling'
|
4
|
+
|
5
|
+
module StartlingTrello
|
6
|
+
module Generators
|
7
|
+
class ConfigurationGenerator < Rails::Generators::Base
|
8
|
+
def create_config_file
|
9
|
+
generate 'startling:configuration'
|
10
|
+
|
11
|
+
file_name = Startling::Configuration::DEFAULT_STARTLINGFILES[0]
|
12
|
+
|
13
|
+
inject_into_file file_name, before: 'Startling.configure do |config|' do
|
14
|
+
<<CONFIG
|
15
|
+
require 'startling_trello'
|
16
|
+
|
17
|
+
CONFIG
|
18
|
+
end
|
19
|
+
|
20
|
+
gsub_file file_name,
|
21
|
+
'# config.story_handler = :pivotal_start',
|
22
|
+
'config.story_handler = :trello_start'
|
23
|
+
|
24
|
+
inject_into_file file_name, after: 'config.story_handler = :trello_start' do
|
25
|
+
<<CONFIG
|
26
|
+
|
27
|
+
|
28
|
+
# Trello Developer API key
|
29
|
+
# config.developer_public_key = 'developer-public-key'
|
30
|
+
|
31
|
+
# Trello Doing List ID
|
32
|
+
# config.doing_list_id = 'doing-list-id'
|
33
|
+
CONFIG
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'trello'
|
2
|
+
|
3
|
+
module StartlingTrello
|
4
|
+
class Api
|
5
|
+
def initialize(developer_public_key:, member_token:)
|
6
|
+
@member_token = member_token
|
7
|
+
@client = Trello::Client.new(
|
8
|
+
developer_public_key: developer_public_key,
|
9
|
+
member_token: member_token
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
def find_card(card_id)
|
14
|
+
begin
|
15
|
+
@client.find(:card, card_id)
|
16
|
+
rescue Trello::Error
|
17
|
+
abort 'Invalid card id: Card could not be found'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def find_list(list_id)
|
22
|
+
begin
|
23
|
+
@client.find(:list, list_id)
|
24
|
+
rescue Trello::Error
|
25
|
+
abort 'Invalid list id: List could not be found'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def find_board(board_id)
|
30
|
+
begin
|
31
|
+
@client.find(:board, board_id)
|
32
|
+
rescue Trello::Error
|
33
|
+
abort 'Invalid board id: Board could not be found'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def move_card_to_list(card:, list:)
|
38
|
+
card.move_to_list(list)
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_member_to_card(card)
|
42
|
+
begin
|
43
|
+
card.add_member(get_member_from_token)
|
44
|
+
rescue Trello::Error
|
45
|
+
# Member is already on card
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def get_member_from_token
|
50
|
+
token = @client.find(:token, @member_token)
|
51
|
+
@client.find(:member, token.member_id)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'startling'
|
2
|
+
require 'highline/import'
|
3
|
+
require_relative '../../startling_trello'
|
4
|
+
require_relative '../../startling_trello/story'
|
5
|
+
|
6
|
+
module Startling
|
7
|
+
module Commands
|
8
|
+
class TrelloStart < Base
|
9
|
+
def execute
|
10
|
+
Startling::Configuration.load_configuration
|
11
|
+
doing_list_id = get_doing_list_id
|
12
|
+
|
13
|
+
api = StartlingTrello.api
|
14
|
+
|
15
|
+
card = api.find_card(get_card_id)
|
16
|
+
list = api.find_list(doing_list_id)
|
17
|
+
api.move_card_to_list(card: card, list: list)
|
18
|
+
api.add_member_to_card(card)
|
19
|
+
|
20
|
+
StartlingTrello::Story.new(card)
|
21
|
+
end
|
22
|
+
|
23
|
+
def get_card_id
|
24
|
+
get_card_url.split('/').last
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_card_url
|
28
|
+
if story_id
|
29
|
+
story_id
|
30
|
+
elsif args.length > 0
|
31
|
+
args[0]
|
32
|
+
else
|
33
|
+
prompt_for_card_url
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def prompt_for_card_url
|
40
|
+
result = ask('Enter card URL to start: ')
|
41
|
+
abort 'Card URL must be specified.' if result.empty?
|
42
|
+
result
|
43
|
+
end
|
44
|
+
|
45
|
+
def get_doing_list_id
|
46
|
+
doing_list_id = StartlingTrello.doing_list_id
|
47
|
+
abort 'Doing list id must be specified in configuration.' if doing_list_id.nil?
|
48
|
+
doing_list_id
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'startling'
|
2
|
+
|
3
|
+
module StartlingTrello
|
4
|
+
class Story < Startling::Story
|
5
|
+
attr_accessor :card
|
6
|
+
|
7
|
+
def initialize(card)
|
8
|
+
@card = card
|
9
|
+
end
|
10
|
+
|
11
|
+
def pull_request_title
|
12
|
+
card.name
|
13
|
+
end
|
14
|
+
|
15
|
+
def pull_request_body_text
|
16
|
+
card.short_url
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'startling'
|
2
|
+
require 'highline/import'
|
3
|
+
require 'trello'
|
4
|
+
require_relative 'startling_trello/api'
|
5
|
+
require_relative 'startling_trello/commands/trello_start'
|
6
|
+
|
7
|
+
module StartlingTrello
|
8
|
+
class << self
|
9
|
+
def method_missing(method, *args, &block)
|
10
|
+
Startling.send(method, *args, &block)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.api
|
15
|
+
@api ||= get_api
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def self.get_api
|
21
|
+
developer_public_key = get_developer_public_key
|
22
|
+
member_token = get_member_token(developer_public_key)
|
23
|
+
|
24
|
+
Api.new(
|
25
|
+
developer_public_key: developer_public_key,
|
26
|
+
member_token: member_token
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.get_developer_public_key
|
31
|
+
return developer_public_key unless developer_public_key.nil?
|
32
|
+
|
33
|
+
Trello.open_public_key_url
|
34
|
+
abort 'Trello developer API key is not configured. Get a developer public key and add it to the configuration file.'
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.get_member_token(developer_public_key)
|
38
|
+
Startling.cache.fetch('.trello_member_token') do
|
39
|
+
Trello.open_authorization_url(key: developer_public_key)
|
40
|
+
ask('Enter your member token: ')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'startling_trello/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "startling_trello"
|
8
|
+
spec.version = StartlingTrello::VERSION
|
9
|
+
spec.authors = ["Cassie Koomjian"]
|
10
|
+
spec.email = ["startling@substantial.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{Startling Trello integration}
|
13
|
+
spec.homepage = "https://github.com/substantial/startling"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.bindir = "exe"
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.11"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
24
|
+
spec.add_development_dependency "pry", "~> 0.10"
|
25
|
+
|
26
|
+
spec.add_dependency "startling", "~> 0.0.9"
|
27
|
+
spec.add_dependency "ruby-trello", "~> 1.4"
|
28
|
+
spec.add_dependency "launchy", "~> 2.4"
|
29
|
+
spec.add_dependency "highline", "~> 1.7"
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,176 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: startling_trello
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Cassie Koomjian
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-02-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.11'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.11'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.10'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.10'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: startling
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.0.9
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.0.9
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: ruby-trello
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.4'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.4'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: launchy
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.4'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.4'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: highline
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.7'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.7'
|
125
|
+
description:
|
126
|
+
email:
|
127
|
+
- startling@substantial.com
|
128
|
+
executables:
|
129
|
+
- startling_trello_boards
|
130
|
+
- startling_trello_lists
|
131
|
+
extensions: []
|
132
|
+
extra_rdoc_files: []
|
133
|
+
files:
|
134
|
+
- ".rspec"
|
135
|
+
- ".ruby-gemset"
|
136
|
+
- CODE_OF_CONDUCT.md
|
137
|
+
- Gemfile
|
138
|
+
- LICENSE.txt
|
139
|
+
- README.md
|
140
|
+
- Rakefile
|
141
|
+
- bin/console
|
142
|
+
- bin/setup
|
143
|
+
- exe/startling_trello_boards
|
144
|
+
- exe/startling_trello_lists
|
145
|
+
- lib/generators/startling_trello/configuration_generator.rb
|
146
|
+
- lib/startling_trello.rb
|
147
|
+
- lib/startling_trello/api.rb
|
148
|
+
- lib/startling_trello/commands/trello_start.rb
|
149
|
+
- lib/startling_trello/story.rb
|
150
|
+
- lib/startling_trello/version.rb
|
151
|
+
- startling_trello.gemspec
|
152
|
+
homepage: https://github.com/substantial/startling
|
153
|
+
licenses:
|
154
|
+
- MIT
|
155
|
+
metadata: {}
|
156
|
+
post_install_message:
|
157
|
+
rdoc_options: []
|
158
|
+
require_paths:
|
159
|
+
- lib
|
160
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
165
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
170
|
+
requirements: []
|
171
|
+
rubyforge_project:
|
172
|
+
rubygems_version: 2.5.1
|
173
|
+
signing_key:
|
174
|
+
specification_version: 4
|
175
|
+
summary: Startling Trello integration
|
176
|
+
test_files: []
|