gridcli 0.0.11 → 0.0.12

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.rdoc CHANGED
@@ -105,5 +105,6 @@ This command will install the gem "grid-plugin-echo" and load it each time the g
105
105
  * before_post_creation(post_hash)
106
106
  * before_signup(username)
107
107
  * before_update
108
+ * after_update
108
109
 
109
110
  and prints out a message whenever a user signs up, a post is created, or the update command is called. You can see the code for the echo module at https://github.com/bmuller/grid-plugin-echo.
@@ -20,6 +20,10 @@ module GridCLI
20
20
  @optp.on(*args) { |u| yield u }
21
21
  end
22
22
 
23
+ def pop_arg(args, default=nil)
24
+ (args.length != 0 and not args.first.start_with?('-')) ? args.shift : default
25
+ end
26
+
23
27
  def add_format_option
24
28
  msg = "Specify output format (json, cmdcolor, cmd, textline)"
25
29
  add_option("-o format", "--output-format format", msg) { |o|
@@ -1,22 +1,23 @@
1
1
  module GridCLI
2
2
  class DislikeCommand < BaseCommand
3
3
  def initialize
4
- super "dislike", "Dislike something."
4
+ super "dislike", "Dislike something. Specify friends/subgrids to restrict recipients."
5
5
  add_format_option
6
6
  end
7
7
 
8
8
  def usage
9
- super "<dislike>"
9
+ super "<dislike> [<username>[,<username>]]"
10
10
  end
11
11
 
12
12
  def run(args)
13
13
  usage if args.length == 0
14
14
  body = args.shift
15
+ recipients = pop_arg(args, "friends")
15
16
  parse_opts args
16
17
 
17
18
  begin
18
19
  log "Trying to send a dislike '#{body}' to your friends"
19
- post = Post::Dislike.create :body => body, :recipients => "friends", :posttype => 'dislike'
20
+ post = Post::Dislike.create :body => body, :recipients => recipients, :posttype => 'dislike'
20
21
  rescue ActiveResource::ClientError
21
22
  puts "There was an error sending your dislike. Please make sure it's not empty."
22
23
  return
@@ -1,22 +1,23 @@
1
1
  module GridCLI
2
2
  class LikeCommand < BaseCommand
3
3
  def initialize
4
- super "like", "Like something."
4
+ super "like", "Like something. Specify friends/subgrids to restrict recipients."
5
5
  add_format_option
6
6
  end
7
7
 
8
8
  def usage
9
- super "<like>"
9
+ super "<like> [<username>[,<username>]]"
10
10
  end
11
11
 
12
12
  def run(args)
13
13
  usage if args.length == 0
14
14
  body = args.shift
15
+ recipients = pop_arg(args, "friends")
15
16
  parse_opts args
16
17
 
17
18
  begin
18
19
  log "Trying to send a like '#{body}' to your friends"
19
- post = Post::Like.create :body => body, :recipients => "friends", :posttype => 'like'
20
+ post = Post::Like.create :body => body, :recipients => recipients, :posttype => 'like'
20
21
  rescue ActiveResource::ClientError
21
22
  puts "There was an error sending your like. Please make sure it's not empty."
22
23
  return
@@ -24,7 +24,7 @@ module GridCLI
24
24
  User.new(:username => username, :token => @config['token']).save
25
25
  puts "New user created. You are now known as '#{username}'"
26
26
  rescue ActiveResource::ClientError
27
- puts "Sorry, username '#{username}' already exists."
27
+ puts "Sorry, username '#{username}' already exists or contains non-alphanumeric characters."
28
28
  end
29
29
  end
30
30
  end
@@ -1,22 +1,23 @@
1
1
  module GridCLI
2
2
  class StatusCommand < BaseCommand
3
3
  def initialize
4
- super "status", "Send a status update to all friends."
4
+ super "status", "Send a status update to all friends (or specific ones)."
5
5
  add_format_option
6
6
  end
7
7
 
8
8
  def usage
9
- super "<status>"
9
+ super "<status> [<username>[,<username>]]"
10
10
  end
11
11
 
12
12
  def run(args)
13
13
  usage if args.length == 0
14
14
  body = args.shift
15
+ recipients = pop_arg(args, "friends")
15
16
  parse_opts args
16
17
 
17
18
  begin
18
19
  log "Trying to send a status update '#{body}' to your friends"
19
- post = Post::Status.create :body => body, :recipients => "friends", :posttype => 'status'
20
+ post = Post::Status.create :body => body, :recipients => recipients, :posttype => 'status'
20
21
  rescue ActiveResource::ClientError
21
22
  puts "There was an error sending your status. Please make sure it's not empty."
22
23
  return
@@ -24,6 +24,8 @@ module GridCLI
24
24
  return
25
25
  end
26
26
 
27
+ posts = GridCLI.hooker.invoke :after_update, posts
28
+
27
29
  log "Saving #{posts.length} posts."
28
30
  save posts
29
31
  end
@@ -1,3 +1,3 @@
1
1
  module GridCLI
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gridcli
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 11
10
- version: 0.0.11
9
+ - 12
10
+ version: 0.0.12
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Muller
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-10 00:00:00 -04:00
18
+ date: 2011-10-11 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency