position_inspector 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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