Module: Trello
- Defined in:
- lib/trello.rb,
lib/trello/net.rb,
lib/trello/card.rb,
lib/trello/item.rb,
lib/trello/list.rb,
lib/trello/board.rb,
lib/trello/label.rb,
lib/trello/token.rb,
lib/trello/action.rb,
lib/trello/client.rb,
lib/trello/member.rb,
lib/trello/comment.rb,
lib/trello/webhook.rb,
lib/trello/checklist.rb,
lib/trello/attachment.rb,
lib/trello/basic_data.rb,
lib/trello/item_state.rb,
lib/trello/json_utils.rb,
lib/trello/label_name.rb,
lib/trello/association.rb,
lib/trello/cover_image.rb,
lib/trello/has_actions.rb,
lib/trello/notification.rb,
lib/trello/organization.rb,
lib/trello/authorization.rb,
lib/trello/configuration.rb,
lib/trello/association_proxy.rb,
lib/trello/multi_association.rb
Overview
Ruby wrapper around the Trello API
First, set up your key information. You can get this information by clicking here.
You can get the key by going to this url in your browser: trello.com/1/authorize?key=TRELLO_CONSUMER_KEY_FROM_ABOVE&name=MyApp&response_type=token&scope=read,write,account&expiration=never Only request the permissions you need; i.e., scope=read if you only need read, or scope=write if you only need write. Comma separate scopes you need. If you want your token to expire after 30 days, drop the &expiration=never. Then run the following code, where KEY denotes the key returned from the url above:
Trello.configure do |config|
config.consumer_key = TRELLO_CONSUMER_KEY
config.consumer_secret = TRELLO_CONSUMER_SECRET
config.oauth_token = TRELLO_OAUTH_TOKEN
config.oauth_token_secret = TRELLO_OAUTH_TOKEN_SECRET
end
All the calls this library make to Trello require authentication using these keys. Be sure to protect them.
So lets say you want to get information about the user bobtester. We can do something like this:
bob = Member.find("bobtester")
# Print out his name
puts bob.full_name # "Bob Tester"
# Print his bio
puts bob.bio # A wonderfully delightful test user
# How about a list of his boards?
bob.boards
And so much more. Consult the rest of the documentation for more information.
Feel free to peruse and participate in our Trello board. It’s completely open to the public.
Defined Under Namespace
Modules: Authorization, HasActions, JsonUtils Classes: Action, Association, AssociationProxy, Attachment, BasicData, Board, Card, CheckItemState, Checklist, Client, Comment, Configuration, CoverImage, Item, Label, LabelName, List, Member, MultiAssociation, Notification, Organization, Request, Response, TInternet, Token, Webhook
Constant Summary collapse
- API_VERSION =
Version of the Trello API that we use by default.
1- Error =
Raise this when we hit a Trello error.
Class.new(StandardError)
- InvalidAccessToken =
This specific error is thrown when your access token is invalid. You should get a new one.
Class.new(Error)
- ConfigurationError =
This error is thrown when your client has not been configured
Class.new(Error)
Class Method Summary collapse
- .auth_policy ⇒ Object
-
.authorize_url(options = {}) ⇒ Object
Url to token for making authorized requests to the Trello API.
- .client ⇒ Object
- .configuration ⇒ Object
- .configure(&block) ⇒ Object
- .logger ⇒ Object
- .logger=(logger) ⇒ Object
-
.open_authorization_url(options = {}) ⇒ Object
Visit the Trello authorized token page.
-
.open_public_key_url ⇒ Object
Visit the Trello API public key page.
- .open_url(url) ⇒ Object
-
.public_key_url ⇒ Object
Url to Trello API public key page.
- .reset! ⇒ Object
Class Method Details
.auth_policy ⇒ Object
107 |
# File 'lib/trello.rb', line 107 def self.auth_policy; client.auth_policy; end |
.authorize_url(options = {}) ⇒ Object
Url to token for making authorized requests to the Trello API
127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/trello.rb', line 127 def self.( = {}) params = .dup params[:key] ||= configuration.developer_public_key or raise ArgumentError, 'Please configure your Trello public key' params[:name] ||= 'Ruby Trello' params[:scope] ||= 'read,write,account' params[:expiration] ||= 'never' params[:response_type] ||= 'token' uri = Addressable::URI.parse 'https://trello.com/1/authorize' uri.query_values = params uri end |
.client ⇒ Object
94 95 96 |
# File 'lib/trello.rb', line 94 def self.client @client ||= Client.new end |
.configuration ⇒ Object
108 |
# File 'lib/trello.rb', line 108 def self.configuration; client.configuration; end |
.configure(&block) ⇒ Object
98 99 100 101 |
# File 'lib/trello.rb', line 98 def self.configure(&block) reset! client.configure(&block) end |
.logger ⇒ Object
86 87 88 |
# File 'lib/trello.rb', line 86 def self.logger @logger ||= Logger.new(STDOUT) end |
.logger=(logger) ⇒ Object
90 91 92 |
# File 'lib/trello.rb', line 90 def self.logger=(logger) @logger = logger end |
.open_authorization_url(options = {}) ⇒ Object
Visit the Trello authorized token page
150 151 152 |
# File 'lib/trello.rb', line 150 def self.( = {}) open_url () end |
.open_public_key_url ⇒ Object
Visit the Trello API public key page
143 144 145 |
# File 'lib/trello.rb', line 143 def self.open_public_key_url open_url public_key_url end |
.open_url(url) ⇒ Object
155 156 157 158 159 160 161 |
# File 'lib/trello.rb', line 155 def self.open_url(url) require 'launchy' Launchy.open(url.to_s) rescue LoadError warn 'Please install the launchy gem to open the url automatically.' url end |
.public_key_url ⇒ Object
Url to Trello API public key page
111 112 113 |
# File 'lib/trello.rb', line 111 def self.public_key_url 'https://trello.com/app-key' end |
.reset! ⇒ Object
103 104 105 |
# File 'lib/trello.rb', line 103 def self.reset! @client = nil end |