macaw-ruby 0.0.20 → 0.0.21

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: 05fc2a1fdb3d2b9d9a5cb8e7c94c74cbeb678ce6
4
- data.tar.gz: 5fd80a594c7182cbb3dea0b5d373ffc7a347c2e6
3
+ metadata.gz: 419b4f3eb4d30ade847d09c3cca5271be02a8778
4
+ data.tar.gz: 5d94f419c91aebda33ca2ab0f5f4b771b1793844
5
5
  SHA512:
6
- metadata.gz: bf9a693533151a390e4b84ba35d727899eea257927483259c24d04565ed581d21fcc5d434cd14de9f2d1c4cdc53becd10367abec859a8ff72c6701cb19a00cbd
7
- data.tar.gz: 574e3ff18d58972270499b9c65840c716270c79847513801cffbf3867957a2b9b7b0dc1833e18ef6fa2c980eae74806afa904beac19bcdc2872a24bb40d72132
6
+ metadata.gz: f3cf56c902c48414fef468b631854ba55fe25a53688f6aa56039ac39b251d01bc48bc159c9c5436c718455596b89c20e9b64d69034c2f5a29ad1f107123f6376
7
+ data.tar.gz: ef08fbafe0d4723286c203650bf3d50a3494d1e8643e311d9662aa7e86c42621436ae7c46139a607552ce8b36fcd8f6b8ab8d886be63166e4a06ae63162dd857
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- macaw-ruby (0.0.20)
4
+ macaw-ruby (0.0.21)
5
5
  i18n
6
6
  json_pure
7
7
  os
data/README.md CHANGED
@@ -1,29 +1,47 @@
1
1
  # Macaw
2
2
 
3
- TODO: Write a gem description
3
+ Macaw is a Ruby Arara, a Ruby port of http://cereda.github.io/arara/. This is in many aspects very rough around the
4
+ edges at this moment as it was written in a weekend while I was busy doing other things. Ruby does rock.
4
5
 
5
6
  ## Installation
6
7
 
7
- Add this line to your application's Gemfile:
8
+ To install, make sure you have Ruby 1.9 or later installed, and then (on a command line, sorry) type
8
9
 
9
- gem 'macaw'
10
-
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
- $ gem install macaw
10
+ gem install macaw-ruby
18
11
 
19
12
  ## Usage
20
13
 
21
- TODO: Write usage instructions here
22
-
23
- ## Contributing
24
-
25
- 1. Fork it
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
14
+ In day-to-day use it will (should) behave exactly like arara. It accepts the same command line parameters and reads the
15
+ same *standard* rules that are bundled with arara; if you use only those, there's no need to change anything in your
16
+ LaTeX documents.
17
+
18
+ ## Custom rules
19
+
20
+ Macaw doesn't use yaml for its rules; rules are Ruby scripts. Macaw will read your araraconfig.yaml to find the paths to
21
+ your custom rules; in that location, you can drop files that end in '.rb', which are structured like this:
22
+
23
+ class Macaw # this line is mandatory
24
+ # define your macaw rule here. The name after 'def' is the name of your rule, the options between parenthesis are yor
25
+ # parameters. Optional parameters are marked using '=nil' (and for those of you who know ruby, this looks familiar but
26
+ # behaves oddly; using anything else than 'nil' will likewise make the parameter optional, but you will *always* be
27
+ # passed 'nil' if the arara rule in the tex file did not pass the parameters).
28
+ def zoterobib(collection, format=nil, port=nil, exportCharset=nil, exportNotes=nil, useJournalAbbreviation=nil)
29
+ # ||= assigns a value if it wasn't set; set your default values here
30
+ format ||= 'biblatex'
31
+ port ||= 23119
32
+
33
+ # this adds the optional parameters to the url
34
+ params = []
35
+ params << "&exportCharset=#{exportCharset}" if exportCharset
36
+ params << "&exportNotes=#{exportNotes}" if exportNotes
37
+ params << "&useJournalAbbreviation=#{useJournalAbbreviation}" if useJournalAbbreviation
38
+
39
+ # the ~ is a Macaw feature -- it will escape the path of the string after it to be safe to be passed on the command
40
+ # line. It will do the right thing depending on the platform it's being run on.
41
+ bib = ~"#{@base}.bib"
42
+ url = ~"http://localhost:#{port}/better-bibtex/collection?#{collection}.#{format}#{params}"
43
+
44
+ # Macaw.system executes the command, captures output, does logging, etc
45
+ Macaw.system "curl --connect-timeout 5 -z #{bib} -o #{bib} #{url}"
46
+ end
47
+ end
data/bin/macaw CHANGED
@@ -204,7 +204,7 @@ class Macaw
204
204
  @@log
205
205
  end
206
206
 
207
- def self.system(cmd)
207
+ def self.system(cmd, failonerror=true)
208
208
  cmd = cmd.compact.join(' ') if cmd.is_a?(Array)
209
209
  puts cmd
210
210
 
@@ -219,11 +219,11 @@ class Macaw
219
219
  end
220
220
 
221
221
  exit_status = wait_thr.value
222
- error "cmd failed: #{cmd}" unless exit_status.success?
222
+ error "cmd failed: #{cmd}" unless exit_status.success? && failonerror
223
223
  end
224
224
  }
225
225
  rescue Timeout::Error
226
- error "#{cmd}: timed out after #{@@options[:timeout]} seconds"
226
+ error "#{cmd}: timed out after #{@@options[:timeout]} seconds" if failonerror
227
227
  end
228
228
  return output
229
229
  end
data/lib/macaw/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Macaw
2
- VERSION = "0.0.20"
2
+ VERSION = "0.0.21"
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.20
4
+ version: 0.0.21
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-09 00:00:00.000000000 Z
11
+ date: 2014-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler