fragile 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,65 @@
1
+ # coding: utf-8
2
+ require "spec_helper"
3
+ require "fragile/plugin/im_kayac_output"
4
+
5
+ describe Fragile::Plugin::ImKayacOutput do
6
+ let :output do
7
+ described_class.new(
8
+ :handler => 'handler',
9
+ :username => 'username',
10
+ :password => 'password',
11
+ :secret_key => 'secret_key',
12
+ )
13
+ end
14
+
15
+ it '@base_url が正しく設定されているべき' do
16
+ expect(output.instance_eval { @base_url }).to eq 'http://im.kayac.com/api/post/'
17
+ end
18
+
19
+ it '@handler が正しく設定されているべき' do
20
+ expect(output.instance_eval { @handler }).to eq 'handler'
21
+ end
22
+
23
+ it '@username が正しく設定されているべき' do
24
+ expect(output.instance_eval { @username }).to eq 'username'
25
+ end
26
+
27
+ it '@password が正しく設定されているべき' do
28
+ expect(output.instance_eval { @password }).to eq 'password'
29
+ end
30
+
31
+ it '@secret_key が正しく設定されているべき' do
32
+ expect(output.instance_eval { @secret_key }).to eq 'secret_key'
33
+ end
34
+
35
+ it '#call を持つべき' do
36
+ expect(output).to respond_to :call
37
+ end
38
+
39
+ context '#callが引数なしで実行されたとき' do
40
+ it '#send_im_kayac が実行されないべき' do
41
+ output.should_not_receive(:send_im_kayac)
42
+ output.call
43
+ end
44
+ end
45
+
46
+ context '#callが引数ありで実行されたとき' do
47
+ it '#send_im_kayac が実行されるべき' do
48
+ output.should_receive(:send_im_kayac).exactly(1).times
49
+ output.call(['a', 'b', 'c'])
50
+ end
51
+ end
52
+
53
+ context '#callが:link, :title を含むHash型の配列で実行されたとき' do
54
+ it '#send_im_kayac が配列サイズ数だけ実行されるべき' do
55
+ output.should_receive(:send_im_kayac).exactly(3).times
56
+ output.call([
57
+ {:link => 'http://example.com/a', :title => 'a'},
58
+ {:link => 'http://example.com/b', :title => 'b'},
59
+ {:link => 'http://example.com/c', :title => 'c'},
60
+ ])
61
+ end
62
+ end
63
+
64
+ end
65
+
@@ -0,0 +1,49 @@
1
+ # coding: utf-8
2
+ require_relative "spec_helper"
3
+ require "fragile/plugin/console_output"
4
+
5
+ class TestApp
6
+ include Fragile::PluginManager
7
+ end
8
+
9
+ module Fragile::Plugin
10
+ class TestPlugin
11
+ def initialize(config)
12
+ @config = config
13
+ end
14
+
15
+ def call(data)
16
+ end
17
+ end
18
+ end
19
+
20
+ describe Fragile::PluginManager do
21
+ describe "#create_plugin" do
22
+ before do
23
+ @manager = TestApp.new
24
+ end
25
+
26
+ context "プラグインクラスを指定したとき" do
27
+ it "プラグインクラスのインスタンスを生成できる" do
28
+ @plugin = @manager.create_plugin(Fragile::Plugin::TestPlugin, {})
29
+ expect(@plugin).to be_an_instance_of(Fragile::Plugin::TestPlugin)
30
+ end
31
+ end
32
+
33
+ context "存在しないプラグインクラスの名前を指定したとき" do
34
+ it "NameError が発生する" do
35
+ expect {
36
+ @manager.create_plugin("foo_bar_hoge_fuga", {})
37
+ }.to raise_error(NameError)
38
+ end
39
+ end
40
+
41
+ describe "存在するプラグインクラスの名前を指定したとき" do
42
+ it "プラグインクラスのインスタンスを生成できる" do
43
+ @plugin = @manager.create_plugin(:console_output, {})
44
+ expect(@plugin).to be_an_instance_of(Fragile::Plugin::ConsoleOutput)
45
+ end
46
+ end
47
+ end
48
+ end
49
+
@@ -0,0 +1,15 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'fragile'
5
+
6
+ require 'coveralls'
7
+ Coveralls.wear!
8
+
9
+ # Requires supporting files with custom matchers and macros, etc,
10
+ # in ./support/ and its subdirectories.
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
12
+
13
+ RSpec.configure do |config|
14
+
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-23 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2013-06-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
14
30
  description: Ruby Pipeline Framework
15
31
  email:
16
32
  - griefworker@gmail.com
@@ -19,9 +35,12 @@ executables:
19
35
  extensions: []
20
36
  extra_rdoc_files: []
21
37
  files:
38
+ - .coveralls.yml
22
39
  - .gitignore
40
+ - .rspec
41
+ - .travis.yml
23
42
  - Gemfile
24
- - MIT-LICENSE
43
+ - LICENSE.txt
25
44
  - README.md
26
45
  - Rakefile
27
46
  - bin/fragile
@@ -33,17 +52,19 @@ files:
33
52
  - lib/fragile/pipeline.rb
34
53
  - lib/fragile/pipeline_manager.rb
35
54
  - lib/fragile/plugin/console_output.rb
55
+ - lib/fragile/plugin/im_kayac_output.rb
36
56
  - lib/fragile/plugin/mail_output.rb
37
57
  - lib/fragile/plugin/map_filter.rb
38
58
  - lib/fragile/plugin/rss_input.rb
39
59
  - lib/fragile/plugin/select_filter.rb
40
60
  - lib/fragile/plugin_manager.rb
41
61
  - lib/fragile/version.rb
42
- - test/dsl_test.rb
43
- - test/pipeline_manager_test.rb
44
- - test/pipeline_test.rb
45
- - test/plugin_manager_test.rb
46
- - test/test_helper.rb
62
+ - spec/dsl_spec.rb
63
+ - spec/pipeline_manager_spec.rb
64
+ - spec/pipeline_spec.rb
65
+ - spec/plugin/im_kayac_output_spec.rb
66
+ - spec/plugin_manager_spec.rb
67
+ - spec/spec_helper.rb
47
68
  homepage: https://github.com/tnakamura/fragile
48
69
  licenses: []
49
70
  post_install_message:
@@ -63,9 +84,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
84
  - !ruby/object:Gem::Version
64
85
  version: '0'
65
86
  requirements: []
66
- rubyforge_project: fragile
67
- rubygems_version: 1.8.16
87
+ rubyforge_project:
88
+ rubygems_version: 1.8.23
68
89
  signing_key:
69
90
  specification_version: 3
70
91
  summary: Ruby Pipeline Framework
71
- test_files: []
92
+ test_files:
93
+ - spec/dsl_spec.rb
94
+ - spec/pipeline_manager_spec.rb
95
+ - spec/pipeline_spec.rb
96
+ - spec/plugin/im_kayac_output_spec.rb
97
+ - spec/plugin_manager_spec.rb
98
+ - spec/spec_helper.rb
@@ -1,23 +0,0 @@
1
- Copyright (c) 2012 Takashi Nakamura
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
23
-
@@ -1,57 +0,0 @@
1
- # coding: utf-8
2
- require_relative "test_helper"
3
-
4
- class TestApp
5
- include Fragile::PluginManager
6
- end
7
-
8
- module Fragile::Plugin
9
- class TestPlugin
10
- def initialize(config)
11
- @config = config
12
- end
13
-
14
- def call(data)
15
- end
16
- end
17
- end
18
-
19
- describe "PluginManager" do
20
- describe "#create_plugin" do
21
- describe "クラスを指定したとき" do
22
- before do
23
- @manager = TestApp.new
24
- end
25
-
26
- it "プラグインのインスタンスを生成できるべき" do
27
- obj = @manager.create_plugin(Fragile::Plugin::TestPlugin, {})
28
- assert_equal Fragile::Plugin::TestPlugin, obj.class
29
- end
30
- end
31
-
32
- describe "存在しないプラグイン名を指定したとき" do
33
- before do
34
- @manager = TestApp.new
35
- end
36
-
37
- it "NameError が発生するべき" do
38
- assert_raises NameError do
39
- @manager.create_plugin("foo_bar_hoge_fuga", {})
40
- end
41
- end
42
- end
43
-
44
- describe "存在するプラグイン名を指定したとき" do
45
- before do
46
- @manager = TestApp.new
47
- require "fragile/plugin/console_output"
48
- end
49
-
50
- it "プラグインのインスタンスを生成できるべき" do
51
- obj = @manager.create_plugin(:console_output, {})
52
- assert_equal Fragile::Plugin::ConsoleOutput, obj.class
53
- end
54
- end
55
- end
56
- end
57
-
@@ -1,14 +0,0 @@
1
- # coding: utf-8
2
-
3
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH.unshift APP_ROOT
5
- $LOAD_PATH.unshift File.join(APP_ROOT)
6
- $LOAD_PATH.unshift File.join(APP_ROOT, 'lib')
7
-
8
- require "logger"
9
- require "fragile"
10
- Fragile.logger.level = Logger::DEBUG
11
-
12
- require "minitest/spec"
13
- require "minitest/autorun"
14
-