cdb-crawlr 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/cdb CHANGED
@@ -14,7 +14,6 @@ end
14
14
 
15
15
  @global = OptionParser.new do |opts|
16
16
  opts.banner = "Usage: cdb [-h|--help] [-v|--version] <command> [<args>]"
17
-
18
17
  opts.on("-h", "--help", "Display this screen"){ print_help }
19
18
  opts.on("-v", "--version", "Show version information") do
20
19
  puts "cdb #{CDB::VERSION}"; exit
@@ -22,20 +21,13 @@ end
22
21
  end
23
22
 
24
23
  @search = OptionParser.new do |opts|
25
- opts.banner = "Usage: cdb search [-h|--help] [-s|--scope=<type>] <query>"
26
-
24
+ opts.banner = "Usage: cdb search [-h|--help] <type> <query>"
27
25
  opts.on("-h", "--help", "Display this screen"){ print_help opts }
28
- opts.on("-s", "--scope=<type>", "Specify type of search. Default: all") do |v|
29
- begin
30
- $cli[:scope] = v
31
- rescue
32
- print_help opts, "invalid scope: #{v}"
33
- end
34
- end
35
26
  end
36
27
 
37
28
  @command_opts = {
38
- 'search' => @search
29
+ 'search' => @search,
30
+ 'show' => nil # stub
39
31
  }
40
32
 
41
33
  # Parse global flags
@@ -62,7 +54,16 @@ rescue OptionParser::InvalidOption, OptionParser::MissingArgument => e
62
54
  print_help command_opt, e
63
55
  end
64
56
 
65
- # Pop and verify args
57
+ # Pop and verify type
58
+ begin
59
+ type = ARGV.shift
60
+ $cli[:type] = type
61
+ rescue
62
+ error = "invalid type: #{type}" unless type.to_s.empty?
63
+ print_help command_opt, error
64
+ end
65
+
66
+ # Verify args
66
67
  begin
67
68
  $cli[:args] = ARGV.join(' ')
68
69
  rescue => e
@@ -10,7 +10,7 @@ require 'cdb/issue'
10
10
  require 'cdb/series'
11
11
 
12
12
  module CDB
13
- VERSION = '0.1.1'
13
+ VERSION = '0.2.0'
14
14
 
15
15
  BASE_URL = 'http://www.comicbookdb.com'
16
16
  REQUEST_HEADERS = {'Connection' => 'keep-alive'}
@@ -3,7 +3,7 @@ require 'pp'
3
3
  module CDB
4
4
  class CLI
5
5
  COMMANDS = %w[search]
6
- SCOPES = %w[all series issue]
6
+ TYPES = %w[series issue issues]
7
7
 
8
8
  def initialize(options={})
9
9
  @options = options
@@ -19,9 +19,9 @@ module CDB
19
19
  when :command
20
20
  v = v.downcase
21
21
  raise unless COMMANDS.include?(v)
22
- when :scope
22
+ when :type
23
23
  v = v.downcase.gsub(/^=/, '')
24
- raise unless SCOPES.include?(v)
24
+ raise unless TYPES.include?(v)
25
25
  when :args
26
26
  if self[:command] == 'search'
27
27
  raise "invalid search query" if v.empty?
@@ -37,15 +37,10 @@ module CDB
37
37
  private
38
38
 
39
39
  def search
40
- case self[:scope] || 'all'
41
- when 'all'
42
- CDB.search(self[:args]).each do |key, res|
43
- puts key.to_s.capitalize+':'
44
- res.each{|r| puts ' '+r.to_json}
45
- end
40
+ case self[:type]
46
41
  when 'series'
47
42
  CDB::Series.search(self[:args]).each{|r| puts r.to_json}
48
- when 'issue'
43
+ when 'issue', 'issues'
49
44
  CDB::Issue.search(self[:args]).each{|r| puts r.to_json}
50
45
  end
51
46
  end
@@ -10,6 +10,7 @@ module CDB
10
10
 
11
11
  def as_json(*)
12
12
  members.inject({}){|map, m|
13
+ next map unless self[m]
13
14
  map[m] = self[m]; map
14
15
  }
15
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdb-crawlr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-11-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &16210350 !ruby/object:Gem::Requirement
16
+ requirement: &18869830 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16210350
24
+ version_requirements: *18869830
25
25
  description: cdb-crawlr is a Ruby gem and command-line tool for querying ComicBookDB.com
26
26
  email:
27
27
  - sgt.floydpepper@gmail.com