fragile 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1aceb4146fb04948570861ec35dd7691167472f
4
- data.tar.gz: 9e89ad7cafb59f6d2373f1cd034372aeaa4d5adc
3
+ metadata.gz: 0eac94fd588d850f785c1c5195fe41062976f365
4
+ data.tar.gz: ec585e017094e9c3ad4ca92dabedfb7f056c0b89
5
5
  SHA512:
6
- metadata.gz: 5fb9f5b5da03f18a30d86132cf8178b77a3f41efc5393a6308ffa003dd20e3df4c7290fbb4c29eded91c52a654454f73bebae9315a6fcd2cf6f8d4599dda7fbd
7
- data.tar.gz: eab0782015746fd0bcac4a42e8699dce89c105619ad88a0d5c61a07345f6efddf54be001f02c288c97d5e78a6a5b1b2f175b7d03b21527a95715f5d830fee172
6
+ metadata.gz: a192ad3342d728a10375552ff11f92ad3b345d4398f17e883508bc943eb13e25532c9c0c90501c8b924a3726dbcb4dd06056af7e833851fe42da212b4ecdc787
7
+ data.tar.gz: 08858c40a36b192d48fb00be9d9a831a10d02ad04439a707ec0882eb740b4bef41738ffc1ba8954cc0630f3090368c37b3eaccfefb0592200401ebebeeed4938
@@ -13,13 +13,15 @@ require "fragile/plugin_manager"
13
13
 
14
14
  module Fragile
15
15
  class Application
16
+ DEFAULT_FILE_NAME = "Pipefile"
17
+
16
18
  include Fragile::PipelineManager
17
19
  include Fragile::PluginManager
18
20
 
19
21
  attr_reader :logger
20
22
 
21
23
  def initialize
22
- @recipe_file = File.join(Dir.pwd, "Spcfile")
24
+ @recipe_file = File.join(Dir.pwd, DEFAULT_FILE_NAME)
23
25
  @logger = Logger.new(STDOUT)
24
26
  @logger.level = Logger::WARN
25
27
  end
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+
3
+ module Fragile
4
+ module Plugin
5
+ # @example
6
+ # pipeline :sample do
7
+ # use "direct_input", :data => [2, 1, 4, 3, 5]
8
+ # use "sort_filter", :proc => ->(x, y){ x <=> y }
9
+ # use "console_output"
10
+ # end
11
+ class SortFilter
12
+ attr_reader :proc
13
+
14
+ def initialize(options={})
15
+ @proc = options[:proc]
16
+ end
17
+
18
+ def call(data)
19
+ if @proc
20
+ data.sort do |x, y|
21
+ @proc.call(x, y)
22
+ end
23
+ else
24
+ data
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -7,5 +7,5 @@
7
7
  # License:: Licensed under the MIT LICENSE.
8
8
 
9
9
  module Fragile
10
- VERSION = "0.0.5"
10
+ VERSION = "0.0.6"
11
11
  end
@@ -0,0 +1,48 @@
1
+ # coding: utf-8
2
+ require_relative "../spec_helper"
3
+ require "fragile/plugin/sort_filter"
4
+
5
+ describe Fragile::Plugin::SortFilter do
6
+ describe "#initialize" do
7
+ context "option を省略したとき" do
8
+ it "@proc が nil であるべき" do
9
+ @filter = described_class.new
10
+ expect(@filter.proc).to be_nil
11
+ end
12
+ end
13
+
14
+ context "option で proc を指定したとき" do
15
+ it "@proc に proc が設定されているべき" do
16
+ @filter = described_class.new(:proc => ->(x, y){ x <=> y })
17
+ expect(@filter.proc).to_not be_nil
18
+ end
19
+ end
20
+
21
+ context "option で proc を指定しなかったとき" do
22
+ it "@proc が nil であるべき" do
23
+ @filter = described_class.new(:name => "foo")
24
+ expect(@filter.proc).to be_nil
25
+ end
26
+ end
27
+ end
28
+
29
+ describe "#call" do
30
+ context "@proc が設定されているとき" do
31
+ it "data をソートした結果を返す" do
32
+ @filter = described_class.new(:proc => ->(x, y){ x <=> y })
33
+ result = @filter.call([2, 1, 5, 3, 4])
34
+ expect(result).to eq([1, 2, 3, 4, 5])
35
+ end
36
+ end
37
+
38
+ context "@proc が設定されていないとき" do
39
+ it "data をそのまま返す" do
40
+ data = [2, 1, 5, 3, 4]
41
+ @filter = described_class.new
42
+ result = @filter.call(data)
43
+ expect(result).to eq(data)
44
+ end
45
+ end
46
+ end
47
+ end
48
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - tnakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-28 00:00:00.000000000 Z
11
+ date: 2013-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -55,6 +55,7 @@ files:
55
55
  - lib/fragile/plugin/map_filter.rb
56
56
  - lib/fragile/plugin/rss_input.rb
57
57
  - lib/fragile/plugin/select_filter.rb
58
+ - lib/fragile/plugin/sort_filter.rb
58
59
  - lib/fragile/plugin_manager.rb
59
60
  - lib/fragile/version.rb
60
61
  - spec/dsl_spec.rb
@@ -62,6 +63,7 @@ files:
62
63
  - spec/pipeline_spec.rb
63
64
  - spec/plugin/direct_input_spec.rb
64
65
  - spec/plugin/im_kayac_output_spec.rb
66
+ - spec/plugin/sort_filter_spec.rb
65
67
  - spec/plugin_manager_spec.rb
66
68
  - spec/spec_helper.rb
67
69
  homepage: https://github.com/tnakamura/fragile
@@ -93,5 +95,6 @@ test_files:
93
95
  - spec/pipeline_spec.rb
94
96
  - spec/plugin/direct_input_spec.rb
95
97
  - spec/plugin/im_kayac_output_spec.rb
98
+ - spec/plugin/sort_filter_spec.rb
96
99
  - spec/plugin_manager_spec.rb
97
100
  - spec/spec_helper.rb