position_inspector 0.0.2 → 0.0.3

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/.gitignore CHANGED
@@ -16,3 +16,6 @@ spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
+
20
+ config/plans.yml
21
+
data/README.markdown CHANGED
@@ -22,6 +22,14 @@ Advanced examples:
22
22
 
23
23
  $ position_inspector -d pagedegeek.com -q "\"page de geek\"" -e fr -p 3 -s 0
24
24
 
25
+ Use saved plans:
26
+
27
+ $ position_inspector -c ~/.plans.yml
28
+
29
+ ## Example of plans.yml
30
+
31
+ You can check file config/plans.example.yml
32
+
25
33
  ## Help
26
34
 
27
35
  $ position_inspector -h
@@ -45,6 +45,10 @@ OptionParser.new do |opts|
45
45
  options[:pages] = pages
46
46
  end
47
47
 
48
+ opts.on("-c", "--config CONFI_FILE_NAME", String, "Config filename") do |filename|
49
+ options[:config_filename] = filename
50
+ end
51
+
48
52
  opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
49
53
  options[:verbose] = v
50
54
  end
@@ -63,18 +67,37 @@ begin
63
67
 
64
68
  cli = Cli.new(logger)
65
69
 
66
- if options[:inspector].downcase == 'google'
67
- inspector = Inspectors::GoogleInspector.new(options[:domain],
68
- options[:keywords], options[:extension], logger,
69
- options[:pages], options[:sleep_time])
70
- end
70
+ if options[:config_filename]
71
+ config = ConfigLoader.new(logger, options[:config_filename])
72
+
73
+ config.plans.each do |plan|
74
+ puts
75
+ puts "=== #{plan[:name]} ==="
76
+ inspector = Inspectors::GoogleInspector.new(plan[:domain],
77
+ plan[:keywords], plan[:extension], logger, plan[:pages], plan[:sleep_time])
78
+
79
+ cli.positions(inspector).each do |r|
80
+ s = ' '
81
+ s = '*' if r[:is_domain]
82
+ puts "#{s} [#{r[:position].to_s.rjust(3)}] #{r[:url][0..80]}"
83
+ end
84
+ end
85
+
86
+ else
87
+ if options[:inspector].downcase == 'google'
88
+ inspector = Inspectors::GoogleInspector.new(options[:domain],
89
+ options[:keywords], options[:extension], logger,
90
+ options[:pages], options[:sleep_time])
91
+ cli.positions(inspector).each do |r|
92
+ s = ' '
93
+ s = '*' if r[:is_domain]
94
+ puts "#{s} [#{r[:position].to_s.rjust(3)}] #{r[:url][0..80]}"
95
+ end
96
+ end
71
97
 
72
- cli.positions(inspector).each do |r|
73
- s = ' '
74
- s = '*' if r[:is_domain]
75
- puts "#{s} [#{r[:position].to_s.rjust(3)}] #{r[:url][0..80]}"
76
98
  end
77
99
 
100
+
78
101
  rescue Exception => e
79
102
  logger.fatal "Message: #{e.message}"
80
103
  logger.error "Inspect: #{e.inspect}"
@@ -0,0 +1,23 @@
1
+ ---
2
+ - :name: Plan 1
3
+ :domain: yourdomain.com
4
+ :keywords: your keywords
5
+ :extension: com
6
+ :sleep_time: 2
7
+ :pages: 5
8
+
9
+ - :name: Plan 2
10
+ :domain: yourdomain.com
11
+ :keywords: your keywords
12
+ :extension: com
13
+ :sleep_time: 2
14
+ :pages: 5
15
+
16
+ - :name: Plan 3
17
+ :domain: yourdomain.com
18
+ :keywords: your keywords
19
+ :extension: com
20
+ :sleep_time: 2
21
+ :pages: 5
22
+
23
+
@@ -2,4 +2,5 @@
2
2
  require "position_inspector/version"
3
3
  require "position_inspector/cli"
4
4
  require "position_inspector/inspectors"
5
+ require "position_inspector/config_loader"
5
6
 
@@ -0,0 +1,16 @@
1
+
2
+ require 'yaml'
3
+
4
+ module PositionInspector
5
+ class ConfigLoader
6
+ def initialize(logger, filename='config/plans.yml')
7
+ @logger = logger
8
+ @logger.info "set config filename: #{filename}"
9
+ @config = YAML.load(File.read(filename))
10
+ end
11
+
12
+ def plans
13
+ @config
14
+ end
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module PositionInspector
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: position_inspector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-05-31 00:00:00.000000000 Z
12
+ date: 2012-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -41,8 +41,10 @@ files:
41
41
  - README.markdown
42
42
  - Rakefile
43
43
  - bin/position_inspector
44
+ - config/plans.example.yml
44
45
  - lib/position_inspector.rb
45
46
  - lib/position_inspector/cli.rb
47
+ - lib/position_inspector/config_loader.rb
46
48
  - lib/position_inspector/inspectors.rb
47
49
  - lib/position_inspector/version.rb
48
50
  - position_inspector.gemspec