flowdock 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. data/Gemfile +4 -3
  2. data/README.md +47 -0
  3. data/VERSION +1 -1
  4. data/flowdock.gemspec +18 -15
  5. data/lib/flowdock.rb +13 -9
  6. metadata +84 -115
  7. data/README +0 -49
data/Gemfile CHANGED
@@ -1,14 +1,15 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
 
4
- gem "httparty", "~>0.7.8"
4
+ gem "httparty", "~> 0.7"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
9
  gem "rdoc", ">= 2.4.2"
10
- gem "rspec", "~> 2.6.0"
10
+ gem "rspec", "~> 2.6"
11
11
  gem "webmock"
12
- gem "bundler", "~> 1.0.0"
12
+ gem "bundler", "~> 1.0"
13
13
  gem "jeweler", "~> 1.6.4"
14
+ gem "jruby-openssl", :platforms => :jruby
14
15
  end
data/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # Flowdock
2
+
3
+ Ruby Gem for using the Flowdock API.
4
+
5
+ http://www.flowdock.com/api
6
+
7
+ ## Build Status
8
+
9
+ [![Build Status](https://secure.travis-ci.org/flowdock/flowdock-api.png)](http://travis-ci.org/flowdock/flowdock-api)
10
+
11
+ flowdock gem is tested on Ruby 1.8.7, 1.9.3 and JRuby.
12
+
13
+ ## Requirements
14
+
15
+ * HTTParty
16
+
17
+ ## Installing
18
+
19
+ gem install flowdock
20
+
21
+ If you're using JRuby, you'll also need to install jruby-openssl gem.
22
+
23
+ ## Example
24
+
25
+ require 'rubygems'
26
+ require 'flowdock'
27
+
28
+ # create a new Flow object with target flow's api token and sender information
29
+ flow = Flowdock::Flow.new(:api_token => "56188e2003e370c6efa9711988f7bf02",
30
+ :source => "myapp",
31
+ :from => {:name => "John Doe", :address => "john.doe@example.com"})
32
+
33
+ # send message to the flow
34
+ flow.send_message(:subject => "Greetings from Flowdock API Gem!",
35
+ :content => "<h2>It works!</h2><p>Now you can start developing your awesome application for Flowdock.</p>",
36
+ :tags => ["cool", "stuff"], :link => "http://www.flowdock.com/")
37
+
38
+ ## API methods
39
+
40
+ * Flow methods
41
+
42
+ *send_message(params)* - Send message to flow. See [API documentation](http://www.flowdock.com/help/api_documentation) for details.
43
+
44
+
45
+ ## Copyright
46
+
47
+ Copyright (c) 2011 Flowdock Ltd. See MIT-LICENSE for further details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/flowdock.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "flowdock"
8
- s.version = "0.1.5"
8
+ s.version = "0.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Antti Pitk\303\244nen"]
12
- s.date = "2011-11-08"
11
+ s.authors = ["Antti Pitk\u{e4}nen"]
12
+ s.date = "2011-12-15"
13
13
  s.email = "team@flowdock.com"
14
14
  s.extra_rdoc_files = [
15
- "README"
15
+ "README.md"
16
16
  ]
17
17
  s.files = [
18
18
  ".document",
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
  ".travis.yml",
21
21
  "Gemfile",
22
22
  "MIT-LICENSE",
23
- "README",
23
+ "README.md",
24
24
  "Rakefile",
25
25
  "VERSION",
26
26
  "flowdock.gemspec",
@@ -32,34 +32,37 @@ Gem::Specification.new do |s|
32
32
  s.homepage = "http://github.com/flowdock/flowdock-api"
33
33
  s.licenses = ["MIT"]
34
34
  s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.10"
35
+ s.rubygems_version = "1.8.11"
36
36
  s.summary = "Ruby Gem for using Flowdock's API"
37
37
 
38
38
  if s.respond_to? :specification_version then
39
39
  s.specification_version = 3
40
40
 
41
41
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
- s.add_runtime_dependency(%q<httparty>, ["~> 0.7.8"])
42
+ s.add_runtime_dependency(%q<httparty>, ["~> 0.7"])
43
43
  s.add_development_dependency(%q<rdoc>, [">= 2.4.2"])
44
- s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
44
+ s.add_development_dependency(%q<rspec>, ["~> 2.6"])
45
45
  s.add_development_dependency(%q<webmock>, [">= 0"])
46
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
46
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
47
47
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
48
+ s.add_development_dependency(%q<jruby-openssl>, [">= 0"])
48
49
  else
49
- s.add_dependency(%q<httparty>, ["~> 0.7.8"])
50
+ s.add_dependency(%q<httparty>, ["~> 0.7"])
50
51
  s.add_dependency(%q<rdoc>, [">= 2.4.2"])
51
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
52
+ s.add_dependency(%q<rspec>, ["~> 2.6"])
52
53
  s.add_dependency(%q<webmock>, [">= 0"])
53
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
54
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
54
55
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
56
+ s.add_dependency(%q<jruby-openssl>, [">= 0"])
55
57
  end
56
58
  else
57
- s.add_dependency(%q<httparty>, ["~> 0.7.8"])
59
+ s.add_dependency(%q<httparty>, ["~> 0.7"])
58
60
  s.add_dependency(%q<rdoc>, [">= 2.4.2"])
59
- s.add_dependency(%q<rspec>, ["~> 2.6.0"])
61
+ s.add_dependency(%q<rspec>, ["~> 2.6"])
60
62
  s.add_dependency(%q<webmock>, [">= 0"])
61
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
63
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
62
64
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
65
+ s.add_dependency(%q<jruby-openssl>, [">= 0"])
63
66
  end
64
67
  end
65
68
 
data/lib/flowdock.rb CHANGED
@@ -12,27 +12,27 @@ module Flowdock
12
12
  # Required options keys: :api_token, :source, :from => { :name, :address }
13
13
  def initialize(options = {})
14
14
  @api_token = options[:api_token]
15
- raise InvalidParameterError, "Flow must have :api_token attribute" if @api_token.blank?
15
+ raise InvalidParameterError, "Flow must have :api_token attribute" if blank?(@api_token)
16
16
 
17
17
  @source = options[:source]
18
- raise InvalidParameterError, "Flow must have valid :source attribute, only alphanumeric characters and underscores can be used" if @source.blank? || !@source.match(/^[a-z0-9\-_ ]+$/i)
18
+ raise InvalidParameterError, "Flow must have valid :source attribute, only alphanumeric characters and underscores can be used" if blank?(@source) || !@source.match(/^[a-z0-9\-_ ]+$/i)
19
19
 
20
20
  @project = options[:project]
21
- raise InvalidParameterError, "Optional attribute :project can only contain alphanumeric characters and underscores" if !@project.blank? && !@project.match(/^[a-z0-9\-_ ]+$/i)
21
+ raise InvalidParameterError, "Optional attribute :project can only contain alphanumeric characters and underscores" if !blank?(@project) && !@project.match(/^[a-z0-9\-_ ]+$/i)
22
22
 
23
23
  @from = options[:from] || {}
24
24
  end
25
25
 
26
26
  def send_message(params)
27
- raise InvalidParameterError, "Message must have both :subject and :content" if params[:subject].blank? || params[:content].blank?
27
+ raise InvalidParameterError, "Message must have both :subject and :content" if blank?(params[:subject]) || blank?(params[:content])
28
28
 
29
29
  from = (params[:from].kind_of?(Hash)) ? params[:from] : @from
30
- raise InvalidParameterError, "Flow's :from attribute must have :address attribute" if from[:address].blank?
30
+ raise InvalidParameterError, "Flow's :from attribute must have :address attribute" if blank?(from[:address])
31
31
 
32
32
  tags = (params[:tags].kind_of?(Array)) ? params[:tags] : []
33
- tags.reject! { |tag| !tag.kind_of?(String) || tag.blank? }
33
+ tags.reject! { |tag| !tag.kind_of?(String) || blank?(tag) }
34
34
 
35
- link = (!params[:link].blank?) ? params[:link] : nil
35
+ link = (!blank?(params[:link])) ? params[:link] : nil
36
36
 
37
37
  params = {
38
38
  :source => @source,
@@ -43,8 +43,8 @@ module Flowdock
43
43
  :content => params[:content],
44
44
  }
45
45
  params[:tags] = tags.join(",") if tags.size > 0
46
- params[:project] = @project unless @project.blank?
47
- params[:link] = link unless link.blank?
46
+ params[:project] = @project unless blank?(@project)
47
+ params[:link] = link unless blank?(link)
48
48
 
49
49
  # Send the request
50
50
  resp = self.class.post(get_flowdock_api_url, :body => params)
@@ -53,6 +53,10 @@ module Flowdock
53
53
  end
54
54
 
55
55
  private
56
+
57
+ def blank?(var)
58
+ var.nil? || var.respond_to?(:length) && var.length == 0
59
+ end
56
60
 
57
61
  def get_flowdock_api_url
58
62
  "#{FLOWDOCK_API_URL}/#{@api_token}"
metadata CHANGED
@@ -1,131 +1,106 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: flowdock
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
11
6
  platform: ruby
12
- authors:
13
- - "Antti Pitk\xC3\xA4nen"
7
+ authors:
8
+ - Antti Pitkänen
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-11-08 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :runtime
22
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2011-12-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &70113891234820 !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
18
+ requirements:
25
19
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 19
28
- segments:
29
- - 0
30
- - 7
31
- - 8
32
- version: 0.7.8
20
+ - !ruby/object:Gem::Version
21
+ version: '0.7'
22
+ type: :runtime
33
23
  prerelease: false
34
- name: httparty
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- type: :development
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70113891234820
25
+ - !ruby/object:Gem::Dependency
26
+ name: rdoc
27
+ requirement: &70113891234340 !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 27
44
- segments:
45
- - 2
46
- - 4
47
- - 2
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
48
32
  version: 2.4.2
49
- prerelease: false
50
- name: rdoc
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
33
  type: :development
54
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 23
60
- segments:
61
- - 2
62
- - 6
63
- - 0
64
- version: 2.6.0
65
34
  prerelease: false
35
+ version_requirements: *70113891234340
36
+ - !ruby/object:Gem::Dependency
66
37
  name: rspec
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- type: :development
70
- requirement: &id004 !ruby/object:Gem::Requirement
38
+ requirement: &70113891256300 !ruby/object:Gem::Requirement
71
39
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '2.6'
44
+ type: :development
79
45
  prerelease: false
46
+ version_requirements: *70113891256300
47
+ - !ruby/object:Gem::Dependency
80
48
  name: webmock
81
- version_requirements: *id004
82
- - !ruby/object:Gem::Dependency
83
- type: :development
84
- requirement: &id005 !ruby/object:Gem::Requirement
49
+ requirement: &70113891255820 !ruby/object:Gem::Requirement
85
50
  none: false
86
- requirements:
87
- - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 23
90
- segments:
91
- - 1
92
- - 0
93
- - 0
94
- version: 1.0.0
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
95
56
  prerelease: false
57
+ version_requirements: *70113891255820
58
+ - !ruby/object:Gem::Dependency
96
59
  name: bundler
97
- version_requirements: *id005
98
- - !ruby/object:Gem::Dependency
60
+ requirement: &70113891255320 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '1.0'
99
66
  type: :development
100
- requirement: &id006 !ruby/object:Gem::Requirement
67
+ prerelease: false
68
+ version_requirements: *70113891255320
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &70113891254840 !ruby/object:Gem::Requirement
101
72
  none: false
102
- requirements:
73
+ requirements:
103
74
  - - ~>
104
- - !ruby/object:Gem::Version
105
- hash: 7
106
- segments:
107
- - 1
108
- - 6
109
- - 4
75
+ - !ruby/object:Gem::Version
110
76
  version: 1.6.4
77
+ type: :development
111
78
  prerelease: false
112
- name: jeweler
113
- version_requirements: *id006
79
+ version_requirements: *70113891254840
80
+ - !ruby/object:Gem::Dependency
81
+ name: jruby-openssl
82
+ requirement: &70113891254300 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70113891254300
114
91
  description:
115
92
  email: team@flowdock.com
116
93
  executables: []
117
-
118
94
  extensions: []
119
-
120
- extra_rdoc_files:
121
- - README
122
- files:
95
+ extra_rdoc_files:
96
+ - README.md
97
+ files:
123
98
  - .document
124
99
  - .rspec
125
100
  - .travis.yml
126
101
  - Gemfile
127
102
  - MIT-LICENSE
128
- - README
103
+ - README.md
129
104
  - Rakefile
130
105
  - VERSION
131
106
  - flowdock.gemspec
@@ -134,37 +109,31 @@ files:
134
109
  - spec/flowdock_spec.rb
135
110
  - spec/spec_helper.rb
136
111
  homepage: http://github.com/flowdock/flowdock-api
137
- licenses:
112
+ licenses:
138
113
  - MIT
139
114
  post_install_message:
140
115
  rdoc_options: []
141
-
142
- require_paths:
116
+ require_paths:
143
117
  - lib
144
- required_ruby_version: !ruby/object:Gem::Requirement
118
+ required_ruby_version: !ruby/object:Gem::Requirement
145
119
  none: false
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- hash: 3
150
- segments:
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ segments:
151
125
  - 0
152
- version: "0"
153
- required_rubygems_version: !ruby/object:Gem::Requirement
126
+ hash: -3297680785137403890
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
128
  none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- hash: 3
159
- segments:
160
- - 0
161
- version: "0"
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
162
133
  requirements: []
163
-
164
134
  rubyforge_project:
165
- rubygems_version: 1.8.10
135
+ rubygems_version: 1.8.11
166
136
  signing_key:
167
137
  specification_version: 3
168
138
  summary: Ruby Gem for using Flowdock's API
169
139
  test_files: []
170
-
data/README DELETED
@@ -1,49 +0,0 @@
1
- flowdock
2
- ========
3
-
4
- Ruby Gem for using the Flowdock API.
5
-
6
- * http://www.flowdock.com/api
7
-
8
- Compatibility
9
- -------------
10
-
11
- flowdock gem has been tested under Ruby 1.8.7.
12
-
13
- Requirements
14
- ------------
15
-
16
- * HTTParty
17
-
18
- Install
19
- -------
20
-
21
- * gem install flowdock
22
-
23
- Example
24
- -------
25
-
26
- require 'flowdock'
27
-
28
- # create a new Flow object with target flow's api token and sender information
29
- flow = Flowdock::Flow.new(:api_token => "56188e2003e370c6efa9711988f7bf02",
30
- :source => "myapp",
31
- :from => {:name => "John Doe", :address => "john.doe@yourdomain.com"})
32
-
33
- # send message to the flow
34
- flow.send_message(:subject => "Greetings from Flowdock API Gem!",
35
- :content => "<h2>It works!</h2><p>Now you can start developing your awesome application for Flowdock.</p>",
36
- :tags => ["cool", "stuff"], :link => "http://www.flowdock.com/")
37
-
38
- API methods
39
- -----------
40
-
41
- * Flow methods
42
-
43
- send_message(params) - Send message to flow. See documentation for details: http://www.flowdock.com/help/api_documentation
44
-
45
-
46
- Copyright
47
- ---------
48
-
49
- Copyright (c) 2011 Flowdock Ltd. See MIT-LICENSE for further details.