macaw-ruby 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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