automatic 14.1.0 → 14.2.0
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.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/automatic.gemspec +17 -9
- data/bin/automatic +4 -4
- data/doc/ChangeLog +27 -0
- data/doc/PLUGINS +36 -6
- data/doc/PLUGINS.ja +35 -7
- data/doc/README +4 -4
- data/doc/README.ja +3 -3
- data/lib/automatic.rb +2 -1
- data/lib/automatic/feed_maker.rb +80 -0
- data/lib/automatic/feed_parser.rb +6 -50
- data/lib/automatic/recipe.rb +1 -1
- data/lib/automatic/version.rb +1 -1
- data/plugins/filter/accept.rb +4 -3
- data/plugins/filter/github_feed.rb +12 -11
- data/plugins/filter/ignore.rb +3 -3
- data/plugins/filter/image_source.rb +10 -10
- data/plugins/filter/one.rb +4 -3
- data/plugins/filter/rand.rb +3 -3
- data/plugins/filter/sanitize.rb +2 -3
- data/plugins/provide/fluentd.rb +5 -4
- data/plugins/publish/amazon_s3.rb +58 -0
- data/plugins/publish/fluentd.rb +5 -4
- data/plugins/publish/google_calendar.rb +2 -2
- data/plugins/publish/hipchat.rb +1 -1
- data/plugins/publish/twitter.rb +1 -1
- data/plugins/store/database.rb +4 -4
- data/plugins/store/file.rb +95 -0
- data/plugins/store/full_text.rb +1 -1
- data/plugins/store/permalink.rb +1 -1
- data/plugins/subscription/feed.rb +2 -2
- data/plugins/subscription/g_guide.rb +3 -2
- data/plugins/subscription/link.rb +4 -3
- data/plugins/subscription/pocket.rb +12 -11
- data/plugins/subscription/text.rb +35 -44
- data/plugins/subscription/tumblr.rb +3 -3
- data/plugins/subscription/twitter.rb +1 -1
- data/plugins/subscription/twitter_search.rb +11 -12
- data/plugins/subscription/weather.rb +7 -6
- data/plugins/subscription/xml.rb +4 -3
- data/spec/fixtures/sampleFeeds.tsv +1 -0
- data/spec/fixtures/sampleFeeds2.tsv +2 -0
- data/spec/lib/automatic/pipeline_spec.rb +4 -4
- data/spec/lib/automatic_spec.rb +3 -3
- data/spec/plugins/filter/github_feed_spec.rb +9 -8
- data/spec/plugins/filter/image_source_spec.rb +7 -7
- data/spec/plugins/notify/ikachan_spec.rb +3 -3
- data/spec/plugins/provide/fluentd_spec.rb +6 -5
- data/spec/plugins/publish/amazon_s3_spec.rb +40 -0
- data/spec/plugins/publish/console_spec.rb +3 -3
- data/spec/plugins/publish/fluentd_spec.rb +5 -4
- data/spec/plugins/publish/google_calendar_spec.rb +5 -5
- data/spec/plugins/publish/hatena_bookmark_spec.rb +10 -10
- data/spec/plugins/publish/hipchat_spec.rb +6 -6
- data/spec/plugins/publish/instapaper_spec.rb +6 -6
- data/spec/plugins/publish/memcached_spec.rb +3 -3
- data/spec/plugins/publish/pocket_spec.rb +3 -3
- data/spec/plugins/publish/twitter_spec.rb +4 -4
- data/spec/plugins/store/{target_link_spec.rb → file_spec.rb} +10 -10
- data/spec/plugins/subscription/pocket_spec.rb +3 -3
- data/spec/plugins/subscription/text_spec.rb +32 -2
- data/spec/plugins/subscription/twitter_search_spec.rb +3 -3
- data/test/integration/test_fluentd.yml +1 -0
- data/test/integration/test_image2local.yml +6 -2
- data/test/integration/test_text2feed.yml +8 -0
- data/test/integration/test_tumblr2local.yml +6 -0
- metadata +26 -7
- data/plugins/store/target_link.rb +0 -55
@@ -1,8 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Name:: Automatic::Plugin::Subscription::TwitterSearch
|
3
3
|
# Author:: soramugi <http://soramugi.net>
|
4
|
+
# 774 <http://id774.net>
|
4
5
|
# Created:: May 30, 2013
|
5
|
-
# Updated::
|
6
|
+
# Updated:: Feb 21, 2014
|
6
7
|
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
9
|
|
@@ -26,19 +27,17 @@ module Automatic::Plugin
|
|
26
27
|
retries = 0
|
27
28
|
retry_max = @config['retry'].to_i || 0
|
28
29
|
begin
|
29
|
-
|
30
|
+
return_feeds = []
|
30
31
|
@client.search(@config['search'],@config['opt']).results.each do |status|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
feeds << dummy
|
32
|
+
hashie = Hashie::Mash.new
|
33
|
+
hashie.title = 'Twitter Search'
|
34
|
+
hashie.link = "https://twitter.com/#{status.user['screen_name']}/status/#{status.id}"
|
35
|
+
hashie.description = status.text
|
36
|
+
hashie.author = status.user['screen_name']
|
37
|
+
hashie.date = status.created_at
|
38
|
+
return_feeds << hashie
|
40
39
|
end
|
41
|
-
@pipeline << Automatic::
|
40
|
+
@pipeline << Automatic::FeedMaker.create_pipeline(return_feeds)
|
42
41
|
rescue
|
43
42
|
retries += 1
|
44
43
|
Automatic::Log.puts("error", "ErrorCount: #{retries}")
|
@@ -1,9 +1,10 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Name:: Automatic::Plugin::Subscription::Weather
|
3
3
|
# Author:: soramugi <http://soramugi.net>
|
4
|
+
# 774 <http://id774.net>
|
4
5
|
# Created:: May 12, 2013
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
6
|
+
# Updated:: Feb 21, 2014
|
7
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
9
|
|
9
10
|
module Automatic::Plugin
|
@@ -21,10 +22,10 @@ module Automatic::Plugin
|
|
21
22
|
def run
|
22
23
|
weather = @weather.send(@day)['weather'] unless @weather.send(@day).nil?
|
23
24
|
if weather != nil
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
@pipeline << Automatic::
|
25
|
+
hashie = Hashie::Mash.new
|
26
|
+
hashie.title = weather
|
27
|
+
hashie.link = 'http://weather.dummy.' + @day
|
28
|
+
@pipeline << Automatic::FeedMaker.create_pipeline([hashie])
|
28
29
|
end
|
29
30
|
@pipeline
|
30
31
|
end
|
data/plugins/subscription/xml.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# Name:: Automatic::Plugin::Subscription::Xml
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Jul 12, 2013
|
5
|
-
# Updated::
|
5
|
+
# Updated:: Feb 21, 2014
|
6
6
|
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
@@ -36,13 +36,14 @@ module Automatic::Plugin
|
|
36
36
|
end
|
37
37
|
|
38
38
|
private
|
39
|
+
|
39
40
|
def create_rss(url)
|
40
|
-
Automatic::Log.puts("info", "Parsing: #{url}")
|
41
|
+
Automatic::Log.puts("info", "Parsing XML: #{url}")
|
41
42
|
hash = Hash.from_xml(open(url).read)
|
42
43
|
json = hash.to_json
|
43
44
|
data = ActiveSupport::JSON.decode(json)
|
44
45
|
unless data.nil?
|
45
|
-
rss = Automatic::
|
46
|
+
rss = Automatic::FeedMaker.content_provide(url, data)
|
46
47
|
sleep ||= @config['interval'].to_i
|
47
48
|
@return_feeds << rss
|
48
49
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
testTitle http://dummy.from.file testDescription testAuthor testComments
|
@@ -3,8 +3,8 @@
|
|
3
3
|
# Author:: ainame
|
4
4
|
# 774 <http://id774.net>
|
5
5
|
# Created:: Mar 10, 2012
|
6
|
-
# Updated::
|
7
|
-
# Copyright:: Copyright (c) 2012-
|
6
|
+
# Updated:: Feb 25, 2014
|
7
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
8
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
9
|
|
10
10
|
require File.expand_path(File.join(File.dirname(__FILE__) ,'../../spec_helper'))
|
@@ -38,10 +38,10 @@ describe Automatic::Pipeline do
|
|
38
38
|
|
39
39
|
describe "#run" do
|
40
40
|
it "run a recipe with FilterIgnore module" do
|
41
|
-
plugin =
|
41
|
+
plugin = double("plugin")
|
42
42
|
plugin.should_receive(:module).and_return("FilterIgnore")
|
43
43
|
plugin.should_receive(:config)
|
44
|
-
recipe =
|
44
|
+
recipe = double("recipe")
|
45
45
|
recipe.should_receive(:each_plugin).and_yield(plugin)
|
46
46
|
Automatic::Pipeline.run(recipe).should == []
|
47
47
|
end
|
data/spec/lib/automatic_spec.rb
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
# Author:: kzgs
|
4
4
|
# 774 <http://id774.net>
|
5
5
|
# Created:: Mar 9, 2012
|
6
|
-
# Updated::
|
7
|
-
# Copyright:: Copyright (c) 2012-
|
6
|
+
# Updated:: Feb 26, 2014
|
7
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
8
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
9
|
|
10
10
|
require File.expand_path(File.join(File.dirname(__FILE__), '../spec_helper'))
|
@@ -27,7 +27,7 @@ describe Automatic do
|
|
27
27
|
describe "#version" do
|
28
28
|
subject { Automatic.const_get(:VERSION) }
|
29
29
|
|
30
|
-
it { expect(subject).to eq "14.
|
30
|
+
it { expect(subject).to eq "14.2.0" }
|
31
31
|
end
|
32
32
|
|
33
33
|
describe "#(root)_dir" do
|
@@ -1,9 +1,10 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Name:: Automatic::Plugin::Filter::GithubFeed
|
3
3
|
# Author:: Kohei Hasegawa <http://github.com/banyan>
|
4
|
+
# 774 <http://id774.net>
|
4
5
|
# Created:: Jun 6, 2013
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
6
|
+
# Updated:: Feb 21, 2014
|
7
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
9
|
|
9
10
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -35,18 +36,18 @@ describe Automatic::Plugin::FilterGithubFeed do
|
|
35
36
|
specify {
|
36
37
|
subject.run
|
37
38
|
|
38
|
-
subject.instance_variable_get(:@
|
39
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].link
|
39
40
|
.should == '1'
|
40
|
-
subject.instance_variable_get(:@
|
41
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].title
|
41
42
|
.should == 'title1'
|
42
|
-
subject.instance_variable_get(:@
|
43
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].description
|
43
44
|
.should == 'description1'
|
44
45
|
|
45
|
-
subject.instance_variable_get(:@
|
46
|
+
subject.instance_variable_get(:@return_feeds)[0].items[1].link
|
46
47
|
.should == '0'
|
47
|
-
subject.instance_variable_get(:@
|
48
|
+
subject.instance_variable_get(:@return_feeds)[0].items[1].title
|
48
49
|
.should == 'title0'
|
49
|
-
subject.instance_variable_get(:@
|
50
|
+
subject.instance_variable_get(:@return_feeds)[0].items[1].description
|
50
51
|
.should == 'description0'
|
51
52
|
}
|
52
53
|
end
|
@@ -3,8 +3,8 @@
|
|
3
3
|
# Author:: kzgs
|
4
4
|
# 774 <http://id774.net>
|
5
5
|
# Created:: Mar 1, 2012
|
6
|
-
# Updated::
|
7
|
-
# Copyright:: Copyright (c) 2012-
|
6
|
+
# Updated:: Feb 21, 2014
|
7
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
8
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
9
|
|
10
10
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -25,7 +25,7 @@ describe Automatic::Plugin::FilterImageSource do
|
|
25
25
|
its(:run) { should have(1).feeds }
|
26
26
|
specify {
|
27
27
|
subject.run
|
28
|
-
subject.instance_variable_get(:@
|
28
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].link.
|
29
29
|
should == "http://27.media.tumblr.com/tumblr_lzrubkfPlt1qb8vzto1_500.png"
|
30
30
|
}
|
31
31
|
end
|
@@ -46,7 +46,7 @@ describe Automatic::Plugin::FilterImageSource do
|
|
46
46
|
its(:run) { should have(1).feeds }
|
47
47
|
specify {
|
48
48
|
subject.run
|
49
|
-
subject.instance_variable_get(:@
|
49
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].link.
|
50
50
|
should == "http://24.media.tumblr.com/tumblr_m07wttnIdy1qzoj1jo1_400.jpg"
|
51
51
|
}
|
52
52
|
end
|
@@ -65,13 +65,13 @@ describe Automatic::Plugin::FilterImageSource do
|
|
65
65
|
|
66
66
|
describe "#run" do
|
67
67
|
before do
|
68
|
-
subject.stub
|
68
|
+
subject.stub(:rewrite_link).and_return(['http://huge.png'])
|
69
69
|
end
|
70
70
|
|
71
71
|
its(:run) { should have(1).feeds }
|
72
72
|
specify {
|
73
73
|
subject.run
|
74
|
-
subject.instance_variable_get(:@
|
74
|
+
subject.instance_variable_get(:@return_feeds)[0].items[0].link.
|
75
75
|
should == 'http://huge.png'
|
76
76
|
}
|
77
77
|
end
|
@@ -80,7 +80,7 @@ describe Automatic::Plugin::FilterImageSource do
|
|
80
80
|
before do
|
81
81
|
open = Hashie::Mash.new
|
82
82
|
open.read = '<img src="http://a.png"><br /><img src="http://b.png">'
|
83
|
-
subject.stub
|
83
|
+
subject.stub(:open).and_return(open)
|
84
84
|
end
|
85
85
|
|
86
86
|
its(:run) { subject.run[0].items.length.should == 2 }
|
@@ -19,7 +19,7 @@ describe Automatic::Plugin::NotifyIkachan do
|
|
19
19
|
}
|
20
20
|
|
21
21
|
it "should post title and link in the feed" do
|
22
|
-
ikachan =
|
22
|
+
ikachan = double("ikachan")
|
23
23
|
ikachan.should_receive(:post).with("http://github.com", "GitHub")
|
24
24
|
ikachan.should_receive(:params)
|
25
25
|
subject.instance_variable_set(:@ikachan, ikachan)
|
@@ -44,9 +44,9 @@ describe Automatic::Plugin::Ikachan do
|
|
44
44
|
link = "http://www.google.com"
|
45
45
|
|
46
46
|
require 'net/http'
|
47
|
-
res =
|
47
|
+
res = double("res")
|
48
48
|
res.should_receive(:code).and_return("200")
|
49
|
-
http =
|
49
|
+
http = double("http")
|
50
50
|
http.should_receive(:post).with("/join", "channel=#room")
|
51
51
|
http.should_receive(:post).with(
|
52
52
|
"/notice", "channel=#room&message=#{link}").and_return(res)
|
@@ -2,8 +2,8 @@
|
|
2
2
|
# Name:: Automatic::Plugin::Provide::Fluentd
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Jul 12, 2013
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
5
|
+
# Updated:: Feb 25, 2014
|
6
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
9
9
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -22,7 +22,7 @@ describe Automatic::Plugin::ProvideFluentd do
|
|
22
22
|
json = hash.to_json
|
23
23
|
data = ActiveSupport::JSON.decode(json)
|
24
24
|
url = "http://id774.net/test/xml/data"
|
25
|
-
rss = Automatic::
|
25
|
+
rss = Automatic::FeedMaker.content_provide(url, data)
|
26
26
|
feeds << rss
|
27
27
|
|
28
28
|
subject {
|
@@ -30,14 +30,15 @@ describe Automatic::Plugin::ProvideFluentd do
|
|
30
30
|
{
|
31
31
|
'host' => "localhost",
|
32
32
|
'port' => "10000",
|
33
|
-
'tag' => "automatic_spec.provide_fluentd"
|
33
|
+
'tag' => "automatic_spec.provide_fluentd",
|
34
|
+
'mode' => "test"
|
34
35
|
},
|
35
36
|
feeds
|
36
37
|
)
|
37
38
|
}
|
38
39
|
|
39
40
|
its (:run) {
|
40
|
-
fluentd =
|
41
|
+
fluentd = double("fluentd")
|
41
42
|
subject.run.should have(1).feed
|
42
43
|
subject.instance_variable_get(:@pipeline)[0].items[0].content_encoded.class == Hash
|
43
44
|
subject.instance_variable_get(:@pipeline)[0].items[0].content_encoded.should == expect
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Name:: Automatic::Plugin::Publish::AmazonS3
|
3
|
+
# Author:: 774 <http://id774.net>
|
4
|
+
# Created:: Feb 25, 2014
|
5
|
+
# Updated:: Feb 25, 2014
|
6
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
|
+
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
|
+
|
9
|
+
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
10
|
+
|
11
|
+
require 'publish/amazon_s3'
|
12
|
+
|
13
|
+
describe Automatic::Plugin::PublishAmazonS3 do
|
14
|
+
context 'when feed' do
|
15
|
+
describe 'should forward the feeds' do
|
16
|
+
subject {
|
17
|
+
Automatic::Plugin::PublishAmazonS3.new(
|
18
|
+
{
|
19
|
+
'access_key' => "aabbcc",
|
20
|
+
'secret_key' => "ddeeff",
|
21
|
+
'bucket_name' => "test_bucket",
|
22
|
+
'target_path' => "test/tmp",
|
23
|
+
'mode' => "test"
|
24
|
+
},
|
25
|
+
AutomaticSpec.generate_pipeline{
|
26
|
+
feed {
|
27
|
+
item "http://github.com", "hoge",
|
28
|
+
"<a>fuga</a>"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
)
|
32
|
+
}
|
33
|
+
|
34
|
+
its (:run) {
|
35
|
+
subject.run.should have(1).feed
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Name:: Automatic::Plugin::Publish::Console
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
|
-
# Updated::
|
5
|
-
# Copyright:: Copyright (c) 2012-
|
4
|
+
# Updated:: Feb 25, 2014
|
5
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
6
6
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
7
7
|
|
8
8
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -21,7 +21,7 @@ describe Automatic::Plugin::PublishConsole do
|
|
21
21
|
}
|
22
22
|
|
23
23
|
it "should output pretty inspect of feeds" do
|
24
|
-
output =
|
24
|
+
output = double("output")
|
25
25
|
output.should_receive(:puts).
|
26
26
|
with("info", @pipeline[0].items[0].pretty_inspect)
|
27
27
|
subject.instance_variable_set(:@output, output)
|
@@ -2,8 +2,8 @@
|
|
2
2
|
# Name:: Automatic::Plugin::Publish::Fluentd
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Jun 21, 2013
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
5
|
+
# Updated:: Feb 25, 2014
|
6
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
9
9
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -18,7 +18,8 @@ describe Automatic::Plugin::PublishFluentd do
|
|
18
18
|
{
|
19
19
|
'host' => "localhost",
|
20
20
|
'port' => "10000",
|
21
|
-
'tag' => "automatic_spec.publish_fluent"
|
21
|
+
'tag' => "automatic_spec.publish_fluent",
|
22
|
+
'mode' => "test"
|
22
23
|
},
|
23
24
|
AutomaticSpec.generate_pipeline{
|
24
25
|
feed {
|
@@ -30,7 +31,7 @@ describe Automatic::Plugin::PublishFluentd do
|
|
30
31
|
}
|
31
32
|
|
32
33
|
its (:run) {
|
33
|
-
fluentd =
|
34
|
+
fluentd = double("fluentd")
|
34
35
|
subject.run.should have(1).feed
|
35
36
|
}
|
36
37
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
# Name:: Automatic::Plugin::CustomFeed::SVNFLog
|
3
3
|
# Author:: kzgs
|
4
4
|
# Created:: Feb 26, 2012
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
5
|
+
# Updated:: Feb 25, 2014
|
6
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
9
9
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -24,7 +24,7 @@ describe Automatic::Plugin::PublishGoogleCalendar do
|
|
24
24
|
}
|
25
25
|
|
26
26
|
it "should post the link in the feed" do
|
27
|
-
gc =
|
27
|
+
gc = double("gc")
|
28
28
|
gc.should_receive(:add).with("今日 GitHub")
|
29
29
|
subject.instance_variable_set(:@gc, gc)
|
30
30
|
subject.run.should have(1).feed
|
@@ -50,7 +50,7 @@ describe Automatic::Plugin::Googlecalendar do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def all_day_event_mock(title, where, date=nil)
|
53
|
-
event =
|
53
|
+
event = double("event")
|
54
54
|
{
|
55
55
|
:title => title,
|
56
56
|
:st => date.nil? ? nil : Time.mktime(date.year, date.month, date.day),
|
@@ -69,7 +69,7 @@ def all_day_event_mock(title, where, date=nil)
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def cal_mock(event_mock)
|
72
|
-
cal =
|
72
|
+
cal = double("cal")
|
73
73
|
cal.should_receive(:create_event).and_return {
|
74
74
|
event_mock
|
75
75
|
}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
# Name:: Automatic::Plugin::Publish::HatenaBookmark
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 22, 2012
|
5
|
-
# Updated::
|
6
|
-
# Copyright:: Copyright (c) 2012-
|
5
|
+
# Updated:: Feb 25, 2014
|
6
|
+
# Copyright:: Copyright (c) 2012-2014 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
9
9
|
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
@@ -21,7 +21,7 @@ describe Automatic::Plugin::PublishHatenaBookmark do
|
|
21
21
|
}
|
22
22
|
|
23
23
|
it "should post the link with prefix 'http' in the feed" do
|
24
|
-
hb =
|
24
|
+
hb = double("hb")
|
25
25
|
hb.should_receive(:post).with("http://github.com", nil)
|
26
26
|
subject.instance_variable_set(:@hb, hb)
|
27
27
|
subject.run.should have(1).feed
|
@@ -39,7 +39,7 @@ describe Automatic::Plugin::PublishHatenaBookmark do
|
|
39
39
|
}
|
40
40
|
|
41
41
|
it "should post the link with prefix '//...' in the feed" do
|
42
|
-
hb =
|
42
|
+
hb = double("hb")
|
43
43
|
hb.should_receive(:post).with("http://github.com", nil)
|
44
44
|
subject.instance_variable_set(:@hb, hb)
|
45
45
|
subject.run.should have(1).feed
|
@@ -57,7 +57,7 @@ describe Automatic::Plugin::PublishHatenaBookmark do
|
|
57
57
|
}
|
58
58
|
|
59
59
|
it "should post the link with prefix 'https' in the feed" do
|
60
|
-
hb =
|
60
|
+
hb = double("hb")
|
61
61
|
hb.should_receive(:post).with("https://github.com", nil)
|
62
62
|
subject.instance_variable_set(:@hb, hb)
|
63
63
|
subject.run.should have(1).feed
|
@@ -75,7 +75,7 @@ describe Automatic::Plugin::PublishHatenaBookmark do
|
|
75
75
|
}
|
76
76
|
|
77
77
|
it "should post the link with others in the feed" do
|
78
|
-
hb =
|
78
|
+
hb = double("hb")
|
79
79
|
hb.should_receive(:post).with("http://github.com", nil)
|
80
80
|
subject.instance_variable_set(:@hb, hb)
|
81
81
|
subject.run.should have(1).feed
|
@@ -106,9 +106,9 @@ describe Automatic::Plugin::HatenaBookmark do
|
|
106
106
|
comment = "Can we trust them ?"
|
107
107
|
|
108
108
|
require 'net/http'
|
109
|
-
res =
|
109
|
+
res = double("res")
|
110
110
|
res.should_receive(:code).and_return("201")
|
111
|
-
http =
|
111
|
+
http = double("http")
|
112
112
|
http.should_receive(:post).with("/atom/post", subject.toXml(url, comment),
|
113
113
|
subject.wsse("", "")).and_return(res)
|
114
114
|
http.should_receive(:start).and_yield(http)
|
@@ -121,9 +121,9 @@ describe Automatic::Plugin::HatenaBookmark do
|
|
121
121
|
comment = "Can we trust them ?"
|
122
122
|
|
123
123
|
require 'net/http'
|
124
|
-
res =
|
124
|
+
res = double("res")
|
125
125
|
res.should_receive(:code).twice.and_return("400")
|
126
|
-
http =
|
126
|
+
http = double("http")
|
127
127
|
http.should_receive(:post).with("/atom/post", subject.toXml(url, comment),
|
128
128
|
subject.wsse("", "")).and_return(res)
|
129
129
|
http.should_receive(:start).and_yield(http)
|