pandoc-ruby 2.0.1 → 2.0.2

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: c07c31b644c343bcd4ab9371b2128579ced7577e
4
- data.tar.gz: 983a9f0c36bd180077d4449bb51639cb22edf5e7
3
+ metadata.gz: 02f0af2a61483032f01e2d07de58a08bb63625a9
4
+ data.tar.gz: 84fcc719beb7c3ec49ec3d5b6411ab8e74a2ff84
5
5
  SHA512:
6
- metadata.gz: cf592d887248d4d8f5131a8aebf55fcd4bf9b990cd34efd4058fc39629ccdc891d5ba40a8c470866d4448afedda6812bccd108aaf1ef49ddddaaf09ab8dec056
7
- data.tar.gz: 8d6e6a5e741360555372e5054d625612b7fe2a6c8a4437768c57972d35d76f9919b632b6fece80421d4607b265454bdc09f806d5d6a6a4c58eb1ad87bfe3f579
6
+ metadata.gz: a9c155e6003414f32e8eeaf1922b4aec59afb301e7b5055619a539ab8e7a7588928acb0cc2a4a8bd8a9ca66a88c41c2ffed3854ba77cfa3da0db3a1872c943aa
7
+ data.tar.gz: c605f036e0f8dd80fad8b6a58468e6f8b17535d12b0fa4518c5d7724909cebec3dd432ed929f42c588631a706572e71384bed40e6a95c0b8e3430f11818e2a0a
@@ -1,14 +1,12 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- json (1.8.3)
5
4
  metaclass (0.0.4)
6
- minitest (5.8.4)
5
+ minitest (5.8.5)
7
6
  mocha (1.1.0)
8
7
  metaclass (~> 0.0.1)
9
- rake (11.1.2)
10
- rdoc (4.2.2)
11
- json (~> 1.4)
8
+ rake (12.1.0)
9
+ rdoc (5.1.0)
12
10
 
13
11
  PLATFORMS
14
12
  ruby
@@ -20,4 +18,4 @@ DEPENDENCIES
20
18
  rdoc
21
19
 
22
20
  BUNDLED WITH
23
- 1.12.2
21
+ 1.14.3
data/Rakefile CHANGED
@@ -29,3 +29,34 @@ Rake::RDocTask.new do |rdoc|
29
29
  rdoc.rdoc_files.include('README*')
30
30
  rdoc.rdoc_files.include('lib/**/*.rb')
31
31
  end
32
+
33
+ require './lib/pandoc-ruby.rb'
34
+ desc <<HEREDOC
35
+ Regenerate test files in existing formats.
36
+ HEREDOC
37
+ task :regenerate_files do
38
+ extensions = []
39
+ files_dir = File.join(File.dirname(__FILE__), 'test', 'files')
40
+
41
+ Dir.glob(File.join(files_dir, 'format*')) do |f|
42
+ extensions << f.match(/format\.(\w+)\Z/)[1]
43
+ end
44
+
45
+ from_content = File.read(File.join(files_dir, 'format.markdown'))
46
+
47
+ extensions.each do |to|
48
+ next if to == 'markdown'
49
+
50
+ to_file = File.join(files_dir, "format.#{to}")
51
+
52
+ converted_content = PandocRuby.convert(
53
+ from_content,
54
+ :from => 'markdown',
55
+ :to => to
56
+ )
57
+
58
+ File.open(to_file, 'w') do |file|
59
+ file.write(converted_content)
60
+ end
61
+ end
62
+ end
@@ -71,6 +71,11 @@ class PandocRuby
71
71
  new(*args).convert
72
72
  end
73
73
 
74
+ attr_writer :binary_output
75
+ def binary_output
76
+ @binary_output ||= false
77
+ end
78
+
74
79
  attr_writer :options
75
80
  def options
76
81
  @options ||= []
@@ -81,16 +86,14 @@ class PandocRuby
81
86
  @option_string ||= ''
82
87
  end
83
88
 
84
- attr_writer :binary_output
85
- def binary_output
86
- @binary_output ||= false
87
- end
88
-
89
89
  attr_writer :writer
90
90
  def writer
91
91
  @writer ||= 'html'
92
92
  end
93
93
 
94
+ attr_accessor :input_files
95
+ attr_accessor :input_string
96
+
94
97
  # Create a new PandocRuby converter object. The first argument contains the
95
98
  # input either as string or as an array of filenames.
96
99
  #
@@ -101,13 +104,10 @@ class PandocRuby
101
104
  # new(["/path/to/file.md"], :option1 => :value, :option2)
102
105
  # new(["/to/file1.html", "/to/file2.html"], :option1 => :value)
103
106
  def initialize(*args)
104
- @input_string = nil
105
- @input_files = nil
106
-
107
107
  if args[0].is_a?(String)
108
- @input_string = args.shift
108
+ self.input_string = args.shift
109
109
  elsif args[0].is_a?(Array)
110
- @input_files = args.shift.join(' ')
110
+ self.input_files = args.shift.join(' ')
111
111
  end
112
112
  self.options = args
113
113
  end
@@ -192,8 +192,8 @@ class PandocRuby
192
192
 
193
193
  # Wrapper to run pandoc in a consistent, DRY way
194
194
  def execute_pandoc
195
- if ! @input_files.nil?
196
- execute("#{@@pandoc_path} #{@input_files}#{self.option_string}")
195
+ if !self.input_files.nil?
196
+ execute("#{@@pandoc_path} #{self.input_files}#{self.option_string}")
197
197
  else
198
198
  execute("#{@@pandoc_path}#{self.option_string}")
199
199
  end
@@ -206,10 +206,8 @@ class PandocRuby
206
206
  Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
207
207
  begin
208
208
  Timeout.timeout(@timeout) do
209
- unless @input_string.nil?
210
- stdin.puts @input_string
211
- stdin.close
212
- end
209
+ stdin.puts self.input_string
210
+ stdin.close
213
211
  output = stdout.read
214
212
  error = stderr.read
215
213
  exit_status = wait_thr.value
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'pandoc-ruby'
8
- s.version = '2.0.1'
8
+ s.version = '2.0.2'
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ['William Melody']
12
- s.date = '2016-05-04'
12
+ s.date = '2017-09-17'
13
13
  s.description = 'Ruby wrapper for Pandoc'
14
14
  s.email = 'hi@williammelody.com'
15
15
  s.extra_rdoc_files = [
@@ -133,6 +133,16 @@ describe PandocRuby do
133
133
  assert_match(/h2/, converter.convert)
134
134
  end
135
135
 
136
+ it 'accepts blank strings' do
137
+ converter = PandocRuby.new('')
138
+ assert_match("\n", converter.convert)
139
+ end
140
+
141
+ it 'accepts nil and treats like a blank string' do
142
+ converter = PandocRuby.new(nil)
143
+ assert_match("\n", converter.convert)
144
+ end
145
+
136
146
  it 'aliases to_s' do
137
147
  assert_equal @converter.convert, @converter.to_s
138
148
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pandoc-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Melody
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-04 00:00:00.000000000 Z
11
+ date: 2017-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mocha