macaw-ruby 0.0.36 → 0.0.37

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: 88ff99de7d9e3454b7752a6cc5767438105b34f1
4
- data.tar.gz: 8c126cba0a8c1083fe8b065f38e0962080719869
3
+ metadata.gz: 96d229789fa6ae43376bdc5ed3cb77b006273969
4
+ data.tar.gz: 5bff491b6c63df783e0c166f8506ea5764120ecd
5
5
  SHA512:
6
- metadata.gz: 317ad0bf4d63625d2ea9c27f98f833ecf18989fde6c8285d131fef80d847b4c218a2ba127c691a11fd2e061aae73de77d1604ac96a2b87ca5d1603b5a196ed4a
7
- data.tar.gz: 625c132f2998cc94e05cdcce795cdfbfbfbde5efd6e7c1e131d5acf1dd682f24ba3f825ea935da76a7eb58be1b6bc5ec833807273c7dd4eb21c7207401ca6dff
6
+ metadata.gz: a6af8bdb4259653946ac1493409f8f93cf52b2ffedb346b7db6ad7b52002c4f7e89faaf05739d39a2fa3b281afcc971c7a65613a9b8d5eb37718497b85786adb
7
+ data.tar.gz: f7ae65774e59c5196f943c6959b909c43a9d0d8d9711a9db166080256e2f07a46e36b40e1014e48f7aafce8dba144534a48b4c69da1a6eef74bae8b7dd4a56e7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- macaw-ruby (0.0.36)
4
+ macaw-ruby (0.0.37)
5
5
  i18n
6
6
  json_pure
7
7
  os
data/bin/macaw CHANGED
@@ -78,6 +78,10 @@ def options!
78
78
  options[:timeout] = Float(timeout) / 1000
79
79
  }
80
80
 
81
+ parser.on('-r', '--rules', 'Available rules') {|v|
82
+ options[:rules] = v
83
+ }
84
+
81
85
  parser.on('-v', '--verbose', I18n.t('help.Verbose')) {|v|
82
86
  options[:verbose] = v
83
87
  }
@@ -148,6 +152,10 @@ class Macaw
148
152
  end
149
153
  attr_reader :file, :base
150
154
 
155
+ def halt
156
+ error 'Halted on user request'
157
+ end
158
+
151
159
  ERRORMODES=[:exit, :throw, :ignore]
152
160
  def self.error(msg, onfail=:exit)
153
161
  throw "errormode can only be #{ERRORMODES.inspect}" unless ERRORMODES.include?(onfail)
@@ -170,6 +178,34 @@ class Macaw
170
178
  def self.run
171
179
  @@options ||= options!
172
180
 
181
+ if @@options[:rules]
182
+ vars = Macaw.new('').instance_variables.collect{|v| v.to_s.sub(/^@/, '').intern}
183
+ w = 0
184
+ rules = {}
185
+ self.instance_methods(false).sort{|a, b| a.to_s <=> b.to_s }.each{|method|
186
+ next if vars.include?(method)
187
+ w = [w, method.to_s.length].max
188
+ rules[method.to_s] = self.instance_method(method).parameters.sort{|a, b|
189
+ a = a.collect{|v| v.to_s}
190
+ b = b.collect{|v| v.to_s}
191
+ if a[0] != b[0]
192
+ a[0] <=> b[0]
193
+ else
194
+ b[1] <=> a[1]
195
+ end
196
+ }.collect{|p| "#{p[1]}:#{p[0]}"}.join(', ')
197
+ }
198
+ rules.each_pair{|method, params|
199
+ if params.length == 0
200
+ puts method
201
+ else
202
+ puts "#{method.ljust(w, ' ')}: #{params}"
203
+ end
204
+ }
205
+ exit
206
+ end
207
+
208
+
173
209
  if ARGV.size == 0 && Dir['*.tex'].size == 1
174
210
  puts "No TeX file offered, defaulting to #{Dir['*.tex'][0]}"
175
211
  ARGV.push(Dir['*.tex'][0])
@@ -199,8 +235,6 @@ class Macaw
199
235
  cmd = data[0]
200
236
  next if cmd == ''
201
237
 
202
- error 'Halted on user request' if cmd == 'halt'
203
-
204
238
  params = {}
205
239
  begin
206
240
  params = JSON.parse(data[1]) if data[1]
data/lib/macaw/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Macaw
2
- VERSION = "0.0.36"
2
+ VERSION = "0.0.37"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: macaw-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.36
4
+ version: 0.0.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emiliano Heyns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-12 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler