pushover 0.5.1 → 0.99.0

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.
data/README.md CHANGED
@@ -1,32 +1,22 @@
1
1
  # Pushover
2
+ **Master** [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/erniebrodeur/pushover) [![Build Status](https://travis-ci.org/erniebrodeur/pushover.png?branch=master)](https://travis-ci.org/erniebrodeur/pushover) [![Dependency Status](https://gemnasium.com/erniebrodeur/pushover.png)](https://gemnasium.com/erniebrodeur/pushover)
3
+ **Development** [![Build Status](https://travis-ci.org/erniebrodeur/pushover.png?branch=development)](https://travis-ci.org/erniebrodeur/pushover)
2
4
 
3
5
  This gem provides a CLI and an API interface to http://pushover.net.
4
6
 
5
- #### Build Status
6
- <table border="0">
7
- <tr>
8
- <td>master</td>
9
- <td><a href=http://travis-ci.org/erniebrodeur/pushover?branch=master><img src="https://secure.travis-ci.org/erniebrodeur/pushover.png?branch=master"/></h> </td>
10
- </tr>
11
- <tr>
12
- <td>development</td>
13
- <td><a href=http://travis-ci.org/erniebrodeur/pushover?branch=development><img src="https://secure.travis-ci.org/erniebrodeur/pushover.png?branch=development"/></h> </td>
14
- </tr>
15
- </table>
16
-
17
7
  ## Installation
18
8
 
19
9
  To install:
20
10
 
21
- % gem install pushover
11
+ $ gem install pushover
22
12
 
23
13
  To use inside of an application, add this to the your gemfile:
24
14
 
25
- % gem 'pushover'
15
+ $ gem 'pushover'
26
16
 
27
17
  and run bundle to make it available:
28
18
 
29
- % bundle
19
+ $ bundle
30
20
 
31
21
  ## Usage
32
22
 
@@ -50,59 +40,107 @@ end
50
40
 
51
41
  Pushover.notification('message', 'title')
52
42
  ```
43
+
53
44
  ### CLI:
54
45
 
55
46
  To get help do, try ```--(h)elp```
56
47
 
57
-
58
- % pushover --h
48
+ $ pushover -h
59
49
 
60
50
  To send a message.
61
51
 
62
- % pushover -u user_token -a app_key message is the rest of the cli.
52
+ $ pushover -u user_token -a app_key message is the rest of the cli.
63
53
 
64
54
  #### Optional parameters
65
55
 
66
- * Title: Title of your notifcation
67
- * Config_file: the file to use for stored credentials.
68
- * Priority: Priority of the message, as an integer (for now).
69
- * -1: low
70
- * 0: normal
71
- * 1: high
72
- * Device: specific device to send the notification to.
56
+ Most optional parameters have a shorter form you can use. If that's the case, they will be displayed like ```--(h)elp```.
73
57
 
58
+ #### Config_file
74
59
 
75
- #### Saving user and application.
60
+ The file to use for stored settings (including credentials).
76
61
 
77
- You can also save and use stored information. The username/application are titles. They can be anything you want to reference them.
62
+ $ pushover --(c)onfig_file /tmp/config_file
78
63
 
79
- User:
80
64
 
81
- % pushover -u user_token --save-user email@somewhere.net
65
+ #### Title
82
66
 
83
- Application:
67
+ The title of the message, if not supplied it will end up being the app name.
84
68
 
85
- % pushover -a app_key --save-app myApp
69
+ $ pushover --(t)itle "A title"
86
70
 
87
- Delete coming soon.
71
+ $ pushover --(t)itle "A title"
88
72
 
89
- Now, you can use these to send messages instead of having to remeber the key:
73
+ #### Priority
90
74
 
91
- % pushover -a myApp -u email@somewhere.net Hello from somewhere!
75
+ Priority of the message, either (low,normal,high) or (-1,0,1). For the string you only need the first letter.
92
76
 
93
- If you don't supply the application or user name, it will use the first one in the save file.
77
+ $ pushover --(p)riority high
94
78
 
95
- % pushover so now I can just send an app.
79
+ $ pushover --(p)riority h
96
80
 
97
- Anytime you supply token's directly to the cli, it will ignore any saved information and try them. This allows you to use it as a once-off tool while keeping credentials stored.
81
+ $ pushover --(p)riority -1
82
+
83
+ #### Device
84
+
85
+ Specific device to send the message too, must be registered at pushover.net
86
+
87
+ $ pushover --(d)evice "Device name"
88
+
89
+ #### URL
90
+
91
+ Supplementary URL that can be passed with the message.
92
+
93
+ $ pushover --url "http://www.github.com/erniebrodeur/pushover"
94
+
95
+ ##### URL Title
96
+
97
+ The display string of the supplementary URL.
98
+
99
+ $ pushover --url "http://www.git.com/erniebrodeur/pushover" --url_title "This repo."
100
+
101
+ #### Time
102
+
103
+ Time is tricky, I just pass the string off to the stdlib ```Time.parse```. Therefore, if it fails I can't do much about it. Though, it shouldn't fail, it seems to take just a ton of stuff. You can always handle this yourself and just pass in an epoch (string or fixnum).
98
104
 
99
- ## Testing
105
+ $ pushover --time 1331249662
100
106
 
101
- CLI usage:
107
+ $ pushover --time "6:30"
102
108
 
103
- Testing, like this utility, it is a work in progress. I'm in the process of lifting some of the code into another library (config, options), so I will likely not be making more tests for those pieces.
109
+ ##### String examples
104
110
 
105
- The app testing itself requires you to use your own credentials, that way you get the spam from pushover and not me. I haven't figured out how to do this just yet.
111
+ As far as I can tell, you can toss a ton of different things and get an output.
112
+
113
+ * rfc822: Tue, 14 Nov 2000 14:55:07 -0500
114
+ * xml: 1979-08-13T06:30:00.313UTC
115
+ * Aug 13, 1979 6:30
116
+ * 1979/08/13, 6:30:50 UTC
117
+ * 6:30
118
+ * 14:30
119
+ * Aug 21
120
+
121
+ #### Saving
122
+
123
+ You can also save and use stored information. The username/application are titles. They can be anything you want to reference them.
124
+
125
+ ##### User
126
+
127
+ $ pushover -u user_token --save-user email@somewhere.net
128
+
129
+ ##### Application
130
+
131
+ $ pushover -a app_key --save-app myApp
132
+
133
+ Delete done in the api, not lifted to the cli.
134
+
135
+ Now, you can use these to send messages instead of having to remeber the key:
136
+
137
+ $ pushover -a myApp -u email@somewhere.net Hello from somewhere!
138
+
139
+ If you don't supply the application or user name, it will use the first one in the save file.
140
+
141
+ $ pushover so now I can just send an app.
142
+
143
+ Anytime you supply token's directly to the cli, it will ignore any saved information and try them. This allows you to use it as a once-off tool while keeping credentials stored.
106
144
 
107
145
  ## Contributing
108
146
 
data/bin/pushover CHANGED
@@ -7,9 +7,12 @@ include Pushover
7
7
  Options.on("-u", "--user USER", "Which user, can be a saved name or token.") { |o| Options[:user] = o}
8
8
  Options.on("-a", "--app APPKEY", "Which app to notify, can be a saved name or apikey.") { |o| Options[:appkey] = o}
9
9
  Options.on("-t", "--title [TITLE]", "Set the title of the notification (optional).") { |o| Options[:title] = o}
10
- Options.on("-p", "--priority [PRIORITY]", OptionParser::DecimalInteger , "Set the priority of the notification from -1 to 1 (optional).") { |o| Options[:priority] = o}
10
+ Options.on("-p", "--priority [PRIORITY]", "Set the priority of the notification from (low,normal,high) (optional).") { |o| Options[:priority] = o}
11
11
  Options.on("-d", "--device [DEVICE]", "Specify the device to send the notifcation to. (optional).") { |o| Options[:device] = o}
12
12
  Options.on("-c", "--config_file [FILE]", "Set the target config file.") {|o| Options[:config_file] = o}
13
+ Options.on("--url [URL]", "Supplementary URL") { |o| Options[:url] = o }
14
+ Options.on("--url_title [TITLE]", "Supplementary URL title.") { |o| Options[:url_title] = o }
15
+ Options.on("--time [TIME]", "Set the messages time.") {|o| Options[:timestamp] = o}
13
16
  Options.on("--save-app NAME", "Saves the application to the config file under NAME.") { |o| Options[:save_app] = [Options[:appkey], o]}
14
17
  Options.on("--save-user NAME", "Saves the user to the config file under NAME.") { |o| Options[:save_user] = [Options[:user], o]}
15
18
 
@@ -53,6 +56,7 @@ if !App.current_app?
53
56
  end
54
57
 
55
58
  if !User.current_user?
59
+ puts User.current_user?
56
60
  puts "Couldn't find a user via the cli or save file."
57
61
  bail = true
58
62
  end
@@ -66,8 +70,10 @@ Pushover.configure do |c|
66
70
  end
67
71
 
68
72
  # Or in real time, which will also overwrite the .configure block.
69
- response = Pushover.notification message:message, title:Options[:title],
70
- priority:Options[:priority], device:Options[:device]
73
+ options = Options[].select { |k,v| v}
74
+
75
+ options.merge! message:message
76
+ response = Pushover.notification options
71
77
 
72
78
  if response.code == "200"
73
79
  puts "Message sent successfully!"
@@ -75,4 +81,3 @@ else
75
81
  j = Yajl.load response.body
76
82
  puts "ErrorCode (#{response.code}): #{j['errors'].first}."
77
83
  end
78
-
data/lib/pushover.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "net/https"
2
2
  require "yajl"
3
+ require 'time'
3
4
  require 'bini'
4
5
  require 'bini/config'
5
6
  require 'bini/optparser'
@@ -10,8 +11,8 @@ require "pushover/user"
10
11
  # The primary pushover namespace.
11
12
  module Pushover
12
13
  # lets save our config to it's own dir, just because.
13
- Bini.config.file = "#{Dir.home}/.config/pushover/credentials.yaml"
14
- Bini.config.load
14
+ Bini::Config.file = "#{Dir.home}/.config/pushover/credentials.yaml"
15
+ Bini::Config.load
15
16
 
16
17
  extend self
17
18
 
@@ -23,10 +24,44 @@ module Pushover
23
24
  attr_accessor :message
24
25
  # [optional,String] Title of the message.
25
26
  attr_accessor :title
26
- # [optional,Fixnum] priority The priority of the message, from -1 to 1.
27
- attr_accessor :priority
28
27
  # [optional,String] device to recieve the message.
29
28
  attr_accessor :device
29
+ attr_accessor :url
30
+ attr_accessor :url_title
31
+ # [optional,String, Fixnum] time a time stamp im one of three forms (epoch, strfmt, rails)
32
+ attr_reader :timestamp
33
+ attr_reader :priority
34
+ def priority=(level)
35
+ if level.class == String
36
+ if level =~ /^[lL]/
37
+ @priority = -1
38
+ elsif level =~ /^[hH]/
39
+ @priority = 1
40
+ else
41
+ @priority = 0
42
+ end
43
+ elsif level.class == Fixnum
44
+ @priority = level
45
+ end
46
+ end
47
+
48
+ # Stdlib time, seems to take a shitload of options.
49
+ # rfc822: Tue, 14 Nov 2000 14:55:07 -0500
50
+ # xml: 1979-08-13T06:30:00.313UTC
51
+ # Time.parse 'Aug 13, 1979 6:30'
52
+ # Time.parse '1979/08/13, 6:30:50 UTC'
53
+ def timestamp=(time_string)
54
+ if time_string.class == String
55
+ begin
56
+ @timestamp = Time.parse(time_string).to_i
57
+ rescue ArgumentError
58
+ @timestamp = time_string.to_i
59
+ end
60
+ elsif
61
+ time_string.class == Fixnum
62
+ @timestamp = time_string
63
+ end
64
+ end
30
65
 
31
66
  # push a message to pushover, must supply all variables.
32
67
  # @param [String] message The message to be sent
@@ -37,9 +72,10 @@ module Pushover
37
72
  # @param [optional, String] user the user token.
38
73
  # @return [String] the response from pushover.net, in json.
39
74
  def notification(tokens={})
75
+ tokens.each {|k,v| send("#{k}=", tokens[k])}
40
76
  url = URI.parse("https://api.pushover.net/1/messages.json")
41
77
  req = Net::HTTP::Post.new(url.path)
42
- req.set_form_data(params.merge tokens)
78
+ req.set_form_data(params)
43
79
  res = Net::HTTP.new(url.host, url.port)
44
80
  res.use_ssl = true
45
81
  res.verify_mode = OpenSSL::SSL::VERIFY_PEER
@@ -74,7 +110,6 @@ module Pushover
74
110
 
75
111
  # A [Array] of keys available in Pushover.
76
112
  def keys
77
- keys ||= [:token, :user, :message, :title, :priority, :device]
113
+ keys ||= [:token, :user, :message, :title, :priority, :device, :timestamp, :url, :url_title]
78
114
  end
79
115
  end
80
-
data/lib/pushover/app.rb CHANGED
@@ -13,8 +13,8 @@ module Pushover
13
13
  def initialize(name, api_key)
14
14
  @name = name
15
15
  @api_key = api_key
16
- Bini.config[:applications] = {} if !Bini.config[:applications]
17
- Bini.config[:applications][name] = api_key
16
+ Bini::Config[:applications] = {} if !Bini::Config[:applications]
17
+ Bini::Config[:applications][name] = api_key
18
18
  end
19
19
  end
20
20
 
@@ -24,7 +24,7 @@ module Pushover
24
24
  # @param [String] word the search token, can be an apikey or appname.
25
25
  # @return [String] return the apikey (if it can find one) or the word itself.
26
26
  def find(word)
27
- return Bini.config[:applications][word] if Bini.config[:applications] && Bini.config[:applications][word]
27
+ return Bini::Config[:applications][word] if Bini::Config[:applications] && Bini::Config[:applications][word]
28
28
  word
29
29
  end
30
30
 
@@ -34,11 +34,11 @@ module Pushover
34
34
  # @return [Boolean] return the results of the save attempt.
35
35
  def add(name, api_key)
36
36
  App.new name, api_key
37
- Bini.config.save!
37
+ Bini::Config.save!
38
38
  end
39
39
 
40
40
  def remove(name)
41
- Bini.config[:applications].delete name if Bini.config[:applications]
41
+ Bini::Config[:applications].delete name if Bini::Config[:applications]
42
42
  end
43
43
  # Return the current app selected, or the first one saved.
44
44
  def current_app
@@ -49,7 +49,7 @@ module Pushover
49
49
 
50
50
  # no? do we have anything we can return?
51
51
  if !@current_app
52
- @current_app = find Bini.config[:applications].first[0] if Bini.config[:applications]
52
+ @current_app = find Bini::Config[:applications].first[0] if Bini::Config[:applications]
53
53
  end
54
54
  @current_app
55
55
  end
@@ -60,7 +60,7 @@ module Pushover
60
60
 
61
61
  # Will return true if we can find an application either via the cli or save file.
62
62
  def current_app?
63
- return true if @current_app
63
+ return true if current_app
64
64
  return nil
65
65
  end
66
66
  end
data/lib/pushover/user.rb CHANGED
@@ -13,8 +13,8 @@ module Pushover
13
13
  def initialize(name, token)
14
14
  @name = name
15
15
  @token = token
16
- Bini.config[:users] = {} if !Bini.config[:users]
17
- Bini.config[:users][name] = token
16
+ Bini::Config[:users] = {} if !Bini::Config[:users]
17
+ Bini::Config[:users][name] = token
18
18
  end
19
19
 
20
20
  end
@@ -25,7 +25,7 @@ module Pushover
25
25
  # @param [String] word the search token, can be an apikey or appname.
26
26
  # @return [String] return the apikey (if it can find one) or the word itself.
27
27
  def find(word)
28
- return Bini.config[:users][word] if Bini.config[:users] && Bini.config[:users][word]
28
+ return Bini::Config[:users][word] if Bini::Config[:users] && Bini::Config[:users][word]
29
29
  word
30
30
  end
31
31
 
@@ -35,11 +35,11 @@ module Pushover
35
35
  # @return [Boolean] return the results of the save attempt.
36
36
  def add(name, token)
37
37
  User.new name, token
38
- Bini.config.save!
38
+ Bini::Config.save!
39
39
  end
40
40
 
41
41
  def remove(name)
42
- Bini.config[:users].delete name if Bini.config[:users]
42
+ Bini::Config[:users].delete name if Bini::Config[:users]
43
43
  end
44
44
 
45
45
  # Return the current user selected, or the first one saved.
@@ -51,7 +51,7 @@ module Pushover
51
51
 
52
52
  # no? do we have anything we can return?
53
53
  if !@current_user
54
- @current_user = find Bini.config[:users].first[0] if Bini.config[:users]
54
+ @current_user = find Bini::Config[:users].first[0] if Bini::Config[:users]
55
55
  end
56
56
  @current_user
57
57
  end
@@ -63,7 +63,7 @@ module Pushover
63
63
 
64
64
  # Will return true if it can find a user either via the cli or save file.
65
65
  def current_user?
66
- return true if @current_user
66
+ return true if current_user
67
67
  return nil
68
68
  end
69
69
  end
@@ -1,4 +1,4 @@
1
1
  module Pushover
2
2
  # The current version of Pushover.
3
- VERSION = "0.5.1"
3
+ VERSION = "0.99.0"
4
4
  end
data/pushover.gemspec CHANGED
@@ -10,8 +10,8 @@ Gem::Specification.new do |gem|
10
10
  gem.platform = Gem::Platform::RUBY
11
11
 
12
12
  # descriptions
13
- gem.description = "App (and CLI) to interface with pushover.net"
14
- gem.summary = "This gem will provide both an API and CLI interface to pushover.net."
13
+ gem.description = "Api (and CLI) to interface with pushover.net"
14
+ gem.summary = "This gem provides both an API and CLI interface to pushover.net."
15
15
  gem.homepage = "https://github.com/erniebrodeur/pushover"
16
16
 
17
17
  #files
@@ -2,20 +2,21 @@ require 'spec_helper'
2
2
 
3
3
  describe "application" do
4
4
  before(:each) do
5
- Bini.config.file = "tmp/test.save"
6
- Bini.config.clear
5
+ Bini::Config.file = "tmp/test.save"
6
+ Bini::Config.clear
7
+ Bini::Options.clear
7
8
  App.current_app = nil
8
9
  end
9
10
 
10
11
  it "can add a application to the Config[:application] hash." do
11
12
  App.add "foo", "bar"
12
- Bini.config[:applications]["foo"].should eq("bar")
13
+ Bini::Config[:applications]["foo"].should eq("bar")
13
14
  end
14
15
 
15
16
  it "can remove a application from the hash." do
16
17
  App.add "foo", "bar"
17
18
  App.remove "foo"
18
- Bini.config[:applications]["foo"].should be_nil
19
+ Bini::Config[:applications]["foo"].should be_nil
19
20
  end
20
21
 
21
22
  describe "#find" do
@@ -35,7 +36,7 @@ describe "application" do
35
36
  end
36
37
  it "will grab the first app in the config as a last resort" do
37
38
  App.add "foo", "bar2"
38
- Bini.config.save
39
+ Bini::Config.save
39
40
  Bini::Options[:apikey] = nil
40
41
  App.current_app.should eq "bar2"
41
42
  end
@@ -17,7 +17,13 @@ describe "Pushover" do
17
17
 
18
18
  describe "#parameters?" do
19
19
  it 'will return true only if every key is set to something.' do
20
- keys.each {|k| Pushover.send("#{k}=", 'ladeda')}
20
+ keys.each do |k|
21
+ if k == :timestamp
22
+ Pushover.send("timestamp=", '1970-01-01 00:00:01 UTC')
23
+ else
24
+ Pushover.send("#{k}=", 'ladeda')
25
+ end
26
+ end
21
27
  parameters?.should eq true
22
28
  end
23
29
  it 'will return false otherwise.' do
@@ -41,8 +47,44 @@ describe "Pushover" do
41
47
  describe "#notification" do
42
48
  it "can send a notification" do
43
49
  setup_webmocks
44
- resp = Pushover.notification message:'a message', token:'good_token', user:'good_user'
45
- resp.code.should eq "200"
50
+ Pushover.notification message:'a message', token:'good_token', user:'good_user'
51
+ WebMock.should have_requested(:post, /.*api.pushover.net.*/).with do |req|
52
+ puts req.body hash_including(priority:'ajkasdfj')
53
+ end
54
+ end
55
+ end
56
+
57
+ describe "extra behavior" do
58
+ describe "Priority" do
59
+ it "can be set by text" do
60
+ setup_webmocks
61
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', priority:'low'
62
+ WebMock.should have_requested(:post, /.*api.pushover.net.*/).with { |req| req.body.include? 'priority=-1'}
63
+ setup_webmocks
64
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', priority:'high'
65
+ WebMock.should have_requested(:post, /.*api.pushover.net.*/).with { |req| req.body.include? 'priority=1'}
66
+ end
67
+ it "falls back to normal" do
68
+ setup_webmocks
69
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', priority:'kwkru'
70
+ WebMock.should have_requested(:post, /api.pushover.net/).with { |req| req.body.include? 'priority=0' }
71
+ end
72
+ end
73
+
74
+ describe "Time" do
75
+ it "can be set by epoch" do
76
+ setup_webmocks
77
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', timestamp:1000
78
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', timestamp:'1000'
79
+ WebMock.should have_requested(:post, /api.pushover.net/).with { |req| req.body.include? 'timestamp=1000' }.twice
80
+ end
81
+
82
+ it "can be set by a text string" do
83
+ setup_webmocks
84
+ Pushover.notification message:'a message', token:'good_token', user:'good_user', timestamp:'1970-01-01 00:00:01 UTC'
85
+ WebMock.should have_requested(:post, /api.pushover.net/).with { |req| req.body.include? 'timestamp=1' }
86
+ end
46
87
  end
47
88
  end
48
89
  end
90
+
@@ -2,20 +2,21 @@ require 'spec_helper'
2
2
 
3
3
  describe "user" do
4
4
  before(:each) do
5
- Bini.config.file = "tmp/test.save"
6
- Bini.config.clear
5
+ Bini::Config.file = "tmp/test.save"
6
+ Bini::Config.clear
7
+ Bini::Options.clear
7
8
  User.current_user = nil
8
9
  end
9
10
 
10
11
  it "can add a user to the Config[:users] hash." do
11
12
  User.add "foo", "bar"
12
- Bini.config[:users]["foo"].should eq("bar")
13
+ Bini::Config[:users]["foo"].should eq("bar")
13
14
  end
14
15
 
15
16
  it "can remove a user from the hash." do
16
17
  User.add "foo", "bar"
17
18
  User.remove "foo"
18
- Bini.config[:users]["foo"].should be_nil
19
+ Bini::Config[:users]["foo"].should be_nil
19
20
  end
20
21
 
21
22
  describe "#find" do
@@ -35,7 +36,7 @@ describe "user" do
35
36
  end
36
37
  it "will grab the first user in the config as a last resort" do
37
38
  User.add "foo", "bar2"
38
- Bini.config.save
39
+ Bini::Config.save
39
40
  Bini::Options[:token] = nil
40
41
  User.current_user.should eq "bar2"
41
42
  end
@@ -44,7 +45,7 @@ describe "user" do
44
45
  describe "#current_user?" do
45
46
  it "Will return true if we have a current_user" do
46
47
  Bini::Options[:token] = 'somethingsilly'
47
- User.current_user.should eq 'somethingsilly'
48
+ User.current_user?.should be_true
48
49
  end
49
50
  it "Will return nil otherwise" do
50
51
  User.current_user?.should be_nil
data/spec/spec_helper.rb CHANGED
@@ -10,8 +10,8 @@ if ENV["COVERAGE"] == 'true'
10
10
  add_filter "/spec/"
11
11
  end
12
12
  end
13
- require 'webmock/rspec'
14
13
 
14
+ require 'webmock/rspec'
15
15
  require 'pushover'
16
16
 
17
17
  include Pushover
@@ -36,6 +36,3 @@ def setup_webmocks
36
36
  stub_http_request(:post, "https://api.pushover.net/1/messages.json").to_return(:status => 200,
37
37
  :headers => {}, :body => bad_user).with(:body => hash_including({token:'good_token', user:'bad_user'}))
38
38
  end
39
-
40
-
41
-
data/whatsnew.md CHANGED
@@ -1,22 +1,33 @@
1
- 0.5.1:
1
+ ## 0.99.0 (unreleased):
2
+ * Added url and a url_title.
3
+ * Added time, we can take an epoch or string. The string is run through stdlib Time#parse, so effectively takes rfc822, html, xml, and a bunch of random bits.
4
+ * Added gemnasium to the readme.
5
+ * Added code climate to the readme.
6
+ * Updated for Bini 0.6.0
7
+ * Priority takes a text or integer argument now.
8
+
9
+ ## 0.5.1:
2
10
  * SimpleCov and 100% test coverage
3
- * Webmock based testing for Pushover#notification.
11
+ * Webmock based testing for Pushover##notification.
4
12
  * Added intergration to http://travis-ci.org
5
13
 
6
- 0.5.0:
14
+ ## 0.5.0:
7
15
  * Switched the order of App and it's derivatives so that it's name, api_key to make it more human readable.
8
16
  * Ditto for User.
9
17
  * Merged in me bones.
10
18
  * Using bini's logic whenever possible now instead of reinventing the wheel.
11
- 0.4.0:
12
- * Added priority and device specification.
13
- * Moved all the variables, including message, into the configure block.
19
+
20
+ ## 0.4.0:
21
+ * Added priority and device specification.
22
+ * Moved all the variables, including message, into the configure block.
14
23
  * Updated the gemspec with some more information.
15
24
  * Better output for error messages.
16
- 0.3.1
17
- * Added benwoody's changes back to the system, this allows for some nifty generators.
18
- * Fixed the nasty bug where it wasn't working once installed.
19
- 0.3.0
25
+
26
+ ## 0.3.1
27
+ * Added benwoody's changes back to the system, this allows for some nifty generators.
28
+ * Fixed the nasty bug where it wasn't working once installed.
29
+
30
+ ## 0.3.0
20
31
  * No longer need to supply credentials at all if you have some saved.
21
32
  * Fixed up a ton of documentation and spelling mistakes.
22
33
  * Various bug fixes.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pushover
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.99.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-01 00:00:00.000000000 Z
12
+ date: 2012-12-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yajl-ruby
@@ -43,7 +43,7 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
- description: App (and CLI) to interface with pushover.net
46
+ description: Api (and CLI) to interface with pushover.net
47
47
  email:
48
48
  - ebrodeur@ujami.net
49
49
  executables:
@@ -102,7 +102,7 @@ rubyforge_project:
102
102
  rubygems_version: 1.8.21
103
103
  signing_key:
104
104
  specification_version: 3
105
- summary: This gem will provide both an API and CLI interface to pushover.net.
105
+ summary: This gem provides both an API and CLI interface to pushover.net.
106
106
  test_files:
107
107
  - spec/bin/pushover_spec.rb
108
108
  - spec/lib/pushover/app_spec.rb