metacrunch 4.1.0 → 4.1.1

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: a192155704d21d4792eab70bb1122bcd92a14d84
4
- data.tar.gz: 07cf95291da074427756f363621947baaa248d95
3
+ metadata.gz: c57943da0f6fc1236b58f06326223070fd1cf20d
4
+ data.tar.gz: 0a905216b6a340aed1fe95425711877cfd3384ea
5
5
  SHA512:
6
- metadata.gz: 1f360eebf44dc1b2a3025194c592e4bf01787c6637feec58aba758826c8d73eb4ec119730f539321911237cd395172b1c4a16cbdcc5d2728ed3830cc5fe64957
7
- data.tar.gz: fa06ae98c1a2d4d8d7b4c7eaad845526df3ee5c12bbd1c6902a5ac90e9c32c1bab43b4886d13a40b691f7bff9c09d745ef60e61ac038a8163534b6fd307c6471
6
+ metadata.gz: '086cafcc6d00451da522d74a57379fa9be25538b77f4733be5ee3a1923ea38933394e00dd111fdbdfba43055989db2ba0e2879b5145ae3aa7fb8060e8f6295db'
7
+ data.tar.gz: 19c2bfaf59bd1e695aa5569f12037448ce19a52cde3c93a62b9afa99b3c4269fc5efba1042b7321d255c099ae8b44cff269d25ad9b14b44928f9983badfae61b
@@ -1,72 +1,70 @@
1
1
  require "optparse"
2
2
 
3
- module Metacrunch
4
- class Cli
3
+ class Metacrunch::Cli
5
4
 
6
- def run
7
- # Parse global options on order
8
- job_argv = global_parser.order(ARGV)
9
- # The first of the unparsed arguments is by definition the filename
10
- # of the job.
11
- job_file = job_argv[0]
12
- # Manipulate ARGV so that the option handling for the job can work
13
- ARGV.clear
14
- job_argv[1..-1]&.each {|arg| ARGV << arg}
15
- # Delete the old separator symbol for backward compatability
16
- ARGV.delete_if{|arg| arg == "@@"}
17
- # Finally run the job
18
- run!(job_file)
19
- rescue OptionParser::ParseError => e
20
- error(e.message)
21
- end
5
+ def run
6
+ # Parse global options on order
7
+ job_argv = global_parser.order(ARGV)
8
+ # The first of the unparsed arguments is by definition the filename
9
+ # of the job.
10
+ job_file = job_argv[0]
11
+ # Manipulate ARGV so that the option handling for the job can work
12
+ ARGV.clear
13
+ job_argv[1..-1]&.each {|arg| ARGV << arg}
14
+ # Delete the old separator symbol for backward compatability
15
+ ARGV.delete_if{|arg| arg == "@@"}
16
+ # Finally run the job
17
+ run!(job_file)
18
+ rescue OptionParser::ParseError => e
19
+ error(e.message)
20
+ end
22
21
 
23
- private
22
+ private
24
23
 
25
- def global_parser
26
- @global_parser ||= OptionParser.new do |opts|
27
- opts.banner = <<-BANNER.strip_heredoc
28
- #{ColorizedString["Usage:"].bold}
24
+ def global_parser
25
+ @global_parser ||= OptionParser.new do |opts|
26
+ opts.banner = <<-BANNER.strip_heredoc
27
+ #{ColorizedString["Usage:"].bold}
29
28
 
30
- metacrunch [options] JOB_FILE [job-options] [ARGS...]
29
+ metacrunch [options] JOB_FILE [job-options] [ARGS...]
31
30
 
32
- #{ColorizedString["Options:"].bold}
33
- BANNER
31
+ #{ColorizedString["Options:"].bold}
32
+ BANNER
34
33
 
35
- opts.on("-v", "--version", "Show metacrunch version and exit") do
36
- show_version
37
- end
34
+ opts.on("-v", "--version", "Show metacrunch version and exit") do
35
+ show_version
38
36
  end
39
37
  end
38
+ end
40
39
 
41
- def show_version
42
- puts Metacrunch::VERSION
43
- exit(0)
44
- end
40
+ def show_version
41
+ puts Metacrunch::VERSION
42
+ exit(0)
43
+ end
45
44
 
46
- def error(message)
47
- puts ColorizedString["Error: #{message}\n"].red.bold
48
- puts global_parser.help
49
- exit(0)
50
- end
45
+ def error(message)
46
+ puts ColorizedString["Error: #{message}\n"].red.bold
47
+ puts global_parser.help
48
+ exit(0)
49
+ end
51
50
 
52
- def run!(job_file)
53
- if job_file.blank?
54
- error "You need to provide a job file."
55
- elsif !File.exists?(job_file)
56
- error "The file `#{job_file}` doesn't exist."
57
- else
58
- job_filename = File.expand_path(job_file)
59
- dir = File.dirname(job_filename)
51
+ def run!(job_file)
52
+ if job_file.blank?
53
+ error "You need to provide a job file."
54
+ elsif !File.exists?(job_file)
55
+ error "The file `#{job_file}` doesn't exist."
56
+ else
57
+ job_filename = File.expand_path(job_file)
58
+ dir = File.dirname(job_filename)
60
59
 
61
- Dir.chdir(dir) do
62
- run_job!(job_filename)
63
- end
60
+ Dir.chdir(dir) do
61
+ run_job!(job_filename)
64
62
  end
65
63
  end
64
+ end
66
65
 
67
- def run_job!(job_filename)
68
- Metacrunch::Job.define(File.read(job_filename)).run
69
- end
70
-
66
+ def run_job!(job_filename)
67
+ Metacrunch::Job.define(File.read(job_filename)).run
71
68
  end
69
+
72
70
  end
@@ -1,151 +1,149 @@
1
- module Metacrunch
2
- class Job
3
- require_relative "job/dsl"
4
- require_relative "job/buffer"
1
+ class Metacrunch::Job # http://valve.github.io/blog/2013/10/26/constant-resolution-in-ruby/
2
+ require_relative "job/dsl"
3
+ require_relative "job/buffer"
5
4
 
6
- attr_reader :dsl
5
+ attr_reader :dsl
7
6
 
8
- class << self
9
- def define(file_content = nil, &block)
10
- self.new(file_content, &block)
11
- end
7
+ class << self
8
+ def define(file_content = nil, &block)
9
+ self.new(file_content, &block)
12
10
  end
11
+ end
13
12
 
14
- def initialize(file_content = nil, &block)
15
- @dsl = Dsl.new(self)
16
-
17
- @deprecator = ActiveSupport::Deprecation.new("5.0.0", "metacrunch")
13
+ def initialize(file_content = nil, &block)
14
+ @dsl = Dsl.new(self)
18
15
 
19
- if file_content
20
- @dsl.instance_eval(file_content, "Check your metacrunch Job at Line")
21
- elsif block_given?
22
- @dsl.instance_eval(&block)
23
- end
24
- end
16
+ @deprecator = ActiveSupport::Deprecation.new("5.0.0", "metacrunch")
25
17
 
26
- def source
27
- @source
18
+ if file_content
19
+ @dsl.instance_eval(file_content, "Check your metacrunch Job at Line")
20
+ elsif block_given?
21
+ @dsl.instance_eval(&block)
28
22
  end
23
+ end
29
24
 
30
- def source=(source)
31
- ensure_source!(source)
32
- @source = source
33
- end
25
+ def source
26
+ @source
27
+ end
34
28
 
35
- def destination
36
- @destination
37
- end
29
+ def source=(source)
30
+ ensure_source!(source)
31
+ @source = source
32
+ end
38
33
 
39
- def destination=(destination)
40
- ensure_destination!(destination)
41
- @destination = destination
42
- end
34
+ def destination
35
+ @destination
36
+ end
43
37
 
44
- def pre_process
45
- @pre_process
46
- end
38
+ def destination=(destination)
39
+ ensure_destination!(destination)
40
+ @destination = destination
41
+ end
47
42
 
48
- def pre_process=(callable)
49
- ensure_callable!(callable)
50
- @pre_process = callable
51
- end
43
+ def pre_process
44
+ @pre_process
45
+ end
52
46
 
53
- def post_process
54
- @post_process
55
- end
47
+ def pre_process=(callable)
48
+ ensure_callable!(callable)
49
+ @pre_process = callable
50
+ end
56
51
 
57
- def post_process=(callable)
58
- ensure_callable!(callable)
59
- @post_process = callable
60
- end
52
+ def post_process
53
+ @post_process
54
+ end
61
55
 
62
- def transformations
63
- @transformations ||= []
64
- end
56
+ def post_process=(callable)
57
+ ensure_callable!(callable)
58
+ @post_process = callable
59
+ end
65
60
 
66
- def add_transformation(callable, buffer_size: nil, buffer: nil)
67
- ensure_callable!(callable)
61
+ def transformations
62
+ @transformations ||= []
63
+ end
68
64
 
69
- if buffer_size && buffer_size.is_a?(Numeric)
70
- @deprecator.deprecation_warning(:buffer_size, :buffer)
71
- buffer = buffer_size
72
- end
65
+ def add_transformation(callable, buffer_size: nil, buffer: nil)
66
+ ensure_callable!(callable)
73
67
 
74
- if buffer
75
- transformations << Metacrunch::Job::Buffer.new(buffer)
76
- end
68
+ if buffer_size && buffer_size.is_a?(Numeric)
69
+ @deprecator.deprecation_warning(:buffer_size, :buffer)
70
+ buffer = buffer_size
71
+ end
77
72
 
78
- transformations << callable
73
+ if buffer
74
+ transformations << Metacrunch::Job::Buffer.new(buffer)
79
75
  end
80
76
 
81
- def run
82
- run_pre_process
77
+ transformations << callable
78
+ end
83
79
 
84
- if source
85
- # Run transformation for each data object available in source
86
- source.each do |data|
87
- data = run_transformations(data)
88
- write_destination(data)
89
- end
80
+ def run
81
+ run_pre_process
90
82
 
91
- # Run all transformations a last time to flush existing buffers
92
- data = run_transformations(nil, flush_buffers: true)
83
+ if source
84
+ # Run transformation for each data object available in source
85
+ source.each do |data|
86
+ data = run_transformations(data)
93
87
  write_destination(data)
94
-
95
- # Close destination
96
- destination.close if destination
97
88
  end
98
89
 
99
- run_post_process
90
+ # Run all transformations a last time to flush existing buffers
91
+ data = run_transformations(nil, flush_buffers: true)
92
+ write_destination(data)
100
93
 
101
- self
94
+ # Close destination
95
+ destination.close if destination
102
96
  end
103
97
 
104
- private
98
+ run_post_process
105
99
 
106
- def ensure_source!(object)
107
- raise ArgumentError, "#{object} doesn't respond to #each." unless object.respond_to?(:each)
108
- end
100
+ self
101
+ end
109
102
 
110
- def ensure_destination!(object)
111
- raise ArgumentError, "#{object} doesn't respond to #write." unless object.respond_to?(:write)
112
- raise ArgumentError, "#{object} doesn't respond to #close." unless object.respond_to?(:close)
113
- end
103
+ private
114
104
 
115
- def ensure_callable!(object)
116
- raise ArgumentError, "#{object} doesn't respond to #call." unless object.respond_to?(:call)
117
- end
105
+ def ensure_source!(object)
106
+ raise ArgumentError, "#{object} doesn't respond to #each." unless object.respond_to?(:each)
107
+ end
118
108
 
119
- def run_pre_process
120
- pre_process.call if pre_process
121
- end
109
+ def ensure_destination!(object)
110
+ raise ArgumentError, "#{object} doesn't respond to #write." unless object.respond_to?(:write)
111
+ raise ArgumentError, "#{object} doesn't respond to #close." unless object.respond_to?(:close)
112
+ end
122
113
 
123
- def run_post_process
124
- post_process.call if post_process
125
- end
114
+ def ensure_callable!(object)
115
+ raise ArgumentError, "#{object} doesn't respond to #call." unless object.respond_to?(:call)
116
+ end
117
+
118
+ def run_pre_process
119
+ pre_process.call if pre_process
120
+ end
121
+
122
+ def run_post_process
123
+ post_process.call if post_process
124
+ end
126
125
 
127
- def run_transformations(data, flush_buffers: false)
128
- transformations.each do |transformation|
129
- if transformation.is_a?(Buffer)
130
- buffer = transformation
131
-
132
- if data
133
- data = buffer.buffer(data)
134
- data = buffer.flush if flush_buffers
135
- else
136
- data = buffer.flush
137
- end
126
+ def run_transformations(data, flush_buffers: false)
127
+ transformations.each do |transformation|
128
+ if transformation.is_a?(Buffer)
129
+ buffer = transformation
130
+
131
+ if data
132
+ data = buffer.buffer(data)
133
+ data = buffer.flush if flush_buffers
138
134
  else
139
- data = transformation.call(data) if data
135
+ data = buffer.flush
140
136
  end
137
+ else
138
+ data = transformation.call(data) if data
141
139
  end
142
-
143
- data
144
140
  end
145
141
 
146
- def write_destination(data)
147
- destination.write(data) if destination && data
148
- end
142
+ data
143
+ end
149
144
 
145
+ def write_destination(data)
146
+ destination.write(data) if destination && data
150
147
  end
148
+
151
149
  end
@@ -1,3 +1,3 @@
1
1
  module Metacrunch
2
- VERSION = "4.1.0"
2
+ VERSION = "4.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metacrunch
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - René Sprotte
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-10-09 00:00:00.000000000 Z
13
+ date: 2017-10-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport