flowdock 0.1.5 → 0.1.6

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.
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.