gridcli 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -28,6 +28,9 @@ To add a friend:
28
28
  To list your friends:
29
29
  grid friends
30
30
 
31
+ To list the friends of a friend:
32
+ grid friends <username>
33
+
31
34
  == Messaging
32
35
  To send a message to a list of users:
33
36
  grid message <username>[,<username>,...] [-s <subject>] [-b <body>] [-f <body file>]
@@ -2,11 +2,14 @@ module GridCLI
2
2
  class SearchCommand < BaseCommand
3
3
  def initialize
4
4
  super "search", "Search posts"
5
+ add_option("-u username", "--from-user username", "Only look at messages from a particular user.") { |u|
6
+ @opts['from'] = u
7
+ }
5
8
  add_format_option
6
9
  end
7
10
 
8
11
  def usage
9
- super "<like|dislike|message|status|all> <query> [<since time>][ to <end time>]"
12
+ super "<like|dislike|message|status|all> <query> [<exact day> | <start> to <end>]"
10
13
  end
11
14
 
12
15
  def run(args)
@@ -19,7 +22,7 @@ module GridCLI
19
22
  parse_opts args
20
23
 
21
24
  log "Showing #{type} posts in range #{dates.first || 'first'} - #{dates.last || 'last'}"
22
- GridCLI.storage.search(type, query, dates[0], dates[1], output_format)
25
+ GridCLI.storage.search(type, query, dates[0], dates[1], output_format, @opts['from'])
23
26
  end
24
27
  end
25
28
 
@@ -8,7 +8,7 @@ module GridCLI
8
8
  raise "Not implemented"
9
9
  end
10
10
 
11
- def search(type, query, state_date, end_date, output_format)
11
+ def search(type, query, state_date, end_date, output_format, fromuser)
12
12
  raise "Not implemented"
13
13
  end
14
14
 
@@ -82,18 +82,25 @@ module GridCLI
82
82
  }
83
83
  }
84
84
  end
85
+
86
+ def run(pipes)
87
+ system pipes.join(" | ")
88
+ end
85
89
 
86
- def search(type, query, start_date, end_date, output_format)
90
+ def search(type, query, start_date, end_date, output_format, fromuser=nil)
87
91
  options = output_format.nil? ? "" : "-o #{output_format}"
88
92
  files(type, start_date, end_date) { |path|
89
- system "grep -R \"#{query}\" #{path} | #{$0} pprint #{options}"
93
+ pipes = ["grep -Ri \"#{query}\" #{path}"]
94
+ pipes << "grep '\"from_username\":\"#{fromuser}\"'" unless fromuser.nil?
95
+ pipes << "#{$0} pprint #{options}"
96
+ run pipes
90
97
  }
91
98
  end
92
99
 
93
100
  def list(type, start_date, end_date, output_format)
94
101
  options = output_format.nil? ? "" : "-o #{output_format}"
95
102
  files(type, start_date, end_date) { |path|
96
- system "cat #{path} | #{$0} pprint #{options}"
103
+ run ["cat #{path}", "#{$0} pprint #{options}"]
97
104
  }
98
105
  end
99
106
 
@@ -1,3 +1,3 @@
1
1
  module GridCLI
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
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: 15
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 8
10
- version: 0.0.8
9
+ - 9
10
+ version: 0.0.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Muller