consadole_aggregator 0.1.8 → 0.1.9

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/Gemfile.lock CHANGED
@@ -7,16 +7,16 @@ GEM
7
7
  bundler (~> 1.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
- json (1.5.1)
11
- nokogiri (1.4.4)
10
+ json (1.5.3)
11
+ nokogiri (1.4.6)
12
12
  oauth (0.4.4)
13
- rake (0.9.1)
13
+ rake (0.9.2)
14
14
  rcov (0.9.9)
15
15
  rspec (2.6.0)
16
16
  rspec-core (~> 2.6.0)
17
17
  rspec-expectations (~> 2.6.0)
18
18
  rspec-mocks (~> 2.6.0)
19
- rspec-core (2.6.3)
19
+ rspec-core (2.6.4)
20
20
  rspec-expectations (2.6.0)
21
21
  diff-lcs (~> 1.1.2)
22
22
  rspec-mocks (2.6.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.1.9
@@ -5,12 +5,12 @@ params = ARGV.getopts(nil, "module:news", "output:log", "date:")
5
5
  $:.unshift(File.expand_path('../../lib', __FILE__)) if $0 == __FILE__
6
6
 
7
7
  require 'consadole_aggregator'
8
+ require 'logger'
9
+ path = File.expand_path('../../log', __FILE__) + '/exec_result.log'
10
+ log = Logger.new(path)
8
11
 
9
12
  output = case params['output']
10
13
  when 'log'
11
- require 'logger'
12
- path = File.expand_path('../../log', __FILE__) + '/exec_result.log'
13
- log = Logger.new(path)
14
14
  puts "output to #{path}"
15
15
  ->(element){
16
16
  if element.kind_of?(ConsadoleAggregator::Live::Timeline)
@@ -41,7 +41,15 @@ output = case params['output']
41
41
  case params['module']
42
42
  when 'news'
43
43
  modules = ConsadoleAggregator::News.constants.map{ |k| ConsadoleAggregator::News.const_get(k).new }
44
- modules.each{ |m| m.update &output }
44
+ modules.each do |m|
45
+ log.info "start #{m}"
46
+ begin
47
+ m.update &output
48
+ rescue
49
+ log.error $!
50
+ end
51
+ log.info "end #{m}"
52
+ end
45
53
  when 'live'
46
54
  reservation_time = params['date'] ? Time.parse(params['date']) : nil
47
55
  ConsadoleAggregator::Live.reserve(reservation_time).execute &output
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{consadole_aggregator}
8
- s.version = "0.1.8"
8
+ s.version = "0.1.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["niku"]
12
- s.date = %q{2011-06-10}
12
+ s.date = %q{2011-06-24}
13
13
  s.default_executable = %q{consadole_aggregator}
14
14
  s.description = %q{ It aggregates infomation of 'Consadole Sapporo' }
15
15
  s.email = %q{niku@niku.name}
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
38
38
  "lib/consadole_aggregator/live/timeline.rb",
39
39
  "lib/consadole_aggregator/news.rb",
40
40
  "log/.gitignore",
41
+ "spec/consadole_aggregator/aggregatable_spec.rb",
41
42
  "spec/consadole_aggregator/helper_spec.rb",
42
43
  "spec/consadole_aggregator/live/timeline_spec.rb",
43
44
  "spec/consadole_aggregator/live_spec.rb",
@@ -37,7 +37,8 @@ module ConsadoleAggregator
37
37
  def get_strage
38
38
  @strage ||= YAML.load_file(build_strage_path) || [] # fix when YAML.load_file is nil
39
39
  rescue
40
- @strage = []
40
+ @logger.error $!
41
+ raise
41
42
  end
42
43
 
43
44
  def save_strage
@@ -0,0 +1,87 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative '../spec_helper'
3
+
4
+ module ConsadoleAggregator
5
+ describe Aggregatable do
6
+ before do
7
+ @articles = [{ url:'http://example.jp/', title:'hoge' },
8
+ { url:'http://example.com/', title:'fuga' }]
9
+ get_resource_stub = double('get_resource')
10
+ get_resource_stub.stub(:call).and_return('')
11
+ parse_list_stub = double('parse_list')
12
+ parse_list_stub.stub(:call).and_return(['http://example.jp/', 'http://example.com/'])
13
+ parse_article_stub = double('parse_article')
14
+ parse_article_stub.stub(:call) do |arg|
15
+ if arg == 'http://example.jp/'
16
+ { url:arg, title:'hoge' }
17
+ else
18
+ { url:arg, title:'fuga' }
19
+ end
20
+ end
21
+ klass = Class.new do
22
+ include Aggregatable
23
+ @get_resource = get_resource_stub
24
+ @parse_list = parse_list_stub
25
+ @parse_article = parse_article_stub
26
+ end
27
+ ConsadoleAggregator::News.const_set(:TestClass, klass) # FIXME How do I suppress warning?
28
+ subject.stub(:save_strage)
29
+ end
30
+
31
+ subject{ News::TestClass.new }
32
+
33
+ describe '#get_new_articles' do
34
+ context 'when article straged' do
35
+ before do
36
+ @straged = [@articles.first]
37
+ subject.stub!(:get_strage).and_return(@straged)
38
+ end
39
+ it 'should return part of articles' do
40
+ subject.get_new_articles.should == @articles - @straged
41
+ end
42
+ end
43
+ end
44
+
45
+ describe '#update' do
46
+ context 'when default' do
47
+ it 'should call ordered' do
48
+ subject.should_receive(:get_new_articles).ordered.and_return([])
49
+ subject.should_receive(:save_strage).ordered
50
+ subject.update
51
+ end
52
+ end
53
+ context 'when new_articles exist' do
54
+ before do
55
+ YAML.stub!(:load_file).and_return([])
56
+ subject.stub!(:get_new_articles).and_return(@articles)
57
+ end
58
+ it 'should add strage' do
59
+ expect{ subject.update }.to change{ subject.get_strage.dup }.from([]).to(@articles)
60
+ end
61
+ end
62
+ end
63
+
64
+ describe '#get_strage' do
65
+ context 'when yaml can load' do
66
+ it 'should load from yaml' do
67
+ YAML.should_receive(:load_file).with(/\/db\/TestClass.yaml$/)
68
+ subject.get_strage
69
+ end
70
+ end
71
+ context 'when yaml can\'t load' do
72
+ before do
73
+ YAML.stub!(:load_file){ raise }
74
+ end
75
+ it 'should load from yaml' do
76
+ except{ subject.get_strage }.to should_raise
77
+ end
78
+ end
79
+ end
80
+
81
+ describe '#build_strage_path' do
82
+ context 'when Testclass' do
83
+ it { subject.build_strage_path.should match /\/db\/TestClass.yaml$/ }
84
+ end
85
+ end
86
+ end
87
+ end
@@ -74,9 +74,7 @@ describe ConsadoleAggregator do
74
74
  before do
75
75
  YAML.stub!(:load_file){ raise }
76
76
  end
77
- it 'should load from yaml' do
78
- subject.get_strage == []
79
- end
77
+ it { expect{ subject.get_strage }.to raise_error }
80
78
  end
81
79
  end
82
80
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consadole_aggregator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-10 00:00:00.000000000 +09:00
12
+ date: 2011-06-24 00:00:00.000000000 +09:00
13
13
  default_executable: consadole_aggregator
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
17
- requirement: &2166034280 !ruby/object:Gem::Requirement
17
+ requirement: &2162193580 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2166034280
25
+ version_requirements: *2162193580
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: oauth
28
- requirement: &2166057680 !ruby/object:Gem::Requirement
28
+ requirement: &2162192700 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2166057680
36
+ version_requirements: *2162192700
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rubytter
39
- requirement: &2166060080 !ruby/object:Gem::Requirement
39
+ requirement: &2162191980 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2166060080
47
+ version_requirements: *2162191980
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: bundler
50
- requirement: &2166063720 !ruby/object:Gem::Requirement
50
+ requirement: &2162191340 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2166063720
58
+ version_requirements: *2162191340
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rcov
61
- requirement: &2166158020 !ruby/object:Gem::Requirement
61
+ requirement: &2162190520 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2166158020
69
+ version_requirements: *2162190520
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
- requirement: &2166380200 !ruby/object:Gem::Requirement
72
+ requirement: &2162189760 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2166380200
80
+ version_requirements: *2162189760
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: jeweler
83
- requirement: &2166378600 !ruby/object:Gem::Requirement
83
+ requirement: &2162189100 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,7 +88,7 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2166378600
91
+ version_requirements: *2162189100
92
92
  description: ! ' It aggregates infomation of ''Consadole Sapporo'' '
93
93
  email: niku@niku.name
94
94
  executables:
@@ -117,6 +117,7 @@ files:
117
117
  - lib/consadole_aggregator/live/timeline.rb
118
118
  - lib/consadole_aggregator/news.rb
119
119
  - log/.gitignore
120
+ - spec/consadole_aggregator/aggregatable_spec.rb
120
121
  - spec/consadole_aggregator/helper_spec.rb
121
122
  - spec/consadole_aggregator/live/timeline_spec.rb
122
123
  - spec/consadole_aggregator/live_spec.rb
@@ -271,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
271
272
  version: '0'
272
273
  segments:
273
274
  - 0
274
- hash: -3581637451903569852
275
+ hash: -1076847756677944312
275
276
  required_rubygems_version: !ruby/object:Gem::Requirement
276
277
  none: false
277
278
  requirements: