gimli 0.1.9 → 0.2.0

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.
data/bin/gimli CHANGED
@@ -4,5 +4,10 @@ $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)) + '/../lib/')
4
4
 
5
5
  require 'gimli'
6
6
 
7
- Gimli.process!
7
+ if ARGV.flags.version?
8
+ puts "Version: #{Gimli::Version}"
9
+ exit
10
+ end
11
+
12
+ Gimli.process! ARGV.flags.file, ARGV.flags.recursive?, ARGV.flags.merge?, ARGV.flags.outputfilename, ARGV.flags.outputdir, ARGV.flags.stylesheet
8
13
 
@@ -10,14 +10,10 @@ require 'gimli/path'
10
10
  module Gimli
11
11
 
12
12
  # Starts the processing of selected files
13
- def self.process!
13
+ def self.process!(file, recursive = false, merge = false, output_filename = nil, output_dir = nil, stylesheet = nil)
14
14
 
15
- if ARGV.flags.version?
16
- puts "Version: #{Gimli::Version}"
17
- return
18
- end
19
15
 
20
- @files = Path.list_valid(ARGV.flags.file, ARGV.flags.recursive?).map { |file| MarkupFile.new(file) }
21
- Converter.new(@files).convert!(ARGV.flags.merge?)
16
+ @files = Path.list_valid(file, recursive).map { |file| MarkupFile.new(file) }
17
+ Converter.new(@files, output_filename, output_dir, stylesheet).convert!(merge)
22
18
  end
23
19
  end
@@ -13,8 +13,11 @@ module Gimli
13
13
 
14
14
  # Initialize the converter with a File
15
15
  # @param [Array] files The list of Gimli::MarkupFile to convert (passing a single file will still work)
16
- def initialize(files)
16
+ def initialize(files, output_filename = nil, output_dir = nil, stylesheet = nil)
17
17
  @files = files
18
+ @output_filename = output_filename
19
+ @output_dir = output_dir
20
+ @stylesheet = stylesheet
18
21
  end
19
22
 
20
23
  # Convert the file and save it as a PDF file
@@ -81,13 +84,13 @@ module Gimli
81
84
  # Returns the selected stylesheet. Defaults to ./gimli.css
82
85
  # @return [String]
83
86
  def stylesheet
84
- ARGV.flags.stylesheet? ? ARGV.flags.stylesheet : 'gimli.css'
87
+ @stylesheet.nil? ? 'gimli.css' : @stylesheet
85
88
  end
86
89
 
87
90
  # Returns the directory where to save the output. Defaults to ./
88
91
  # @return [String]
89
92
  def output_dir
90
- output_dir = ARGV.flags.outputdir? ? ARGV.flags.outputdir : Dir.getwd
93
+ output_dir = @output_dir.nil? ? Dir.getwd : @output_dir
91
94
  FileUtils.mkdir_p(output_dir) unless ::File.directory?(output_dir)
92
95
  output_dir
93
96
  end
@@ -98,13 +101,13 @@ module Gimli
98
101
  def output_file(file = nil)
99
102
  if file
100
103
  output_filename = file.name
101
- if ARGV.flags.outputfilename? && @files.length == 1
102
- output_filename = ARGV.flags.outputfilename
104
+ if !@output_filename.nil? && @files.length == 1
105
+ output_filename = @output_filename
103
106
  end
104
107
  else
105
108
  output_filename = Time.now.to_s.split(' ').join('_')
106
109
  output_filename = @files.last.name if @files.length == 1 || ARGV.flags.merge?
107
- output_filename = ARGV.flags.outputfilename if ARGV.flags.outputfilename?
110
+ output_filename = @output_filename unless @output_filename.nil?
108
111
  end
109
112
 
110
113
  ::File.join(output_dir, "#{output_filename}.pdf")
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Gimli
4
4
 
5
- Version = "0.1.9"
5
+ Version = "0.2.0"
6
6
 
7
7
  end
8
8
 
@@ -31,10 +31,8 @@ describe Gimli::Converter do
31
31
  file = Gimli::MarkupFile.new 'fake'
32
32
  output_filename = 'my_file'
33
33
 
34
- converter = Gimli::Converter.new [file]
34
+ converter = Gimli::Converter.new [file], output_filename
35
35
  mock(converter).output_dir { Dir.getwd }
36
- mock(ARGV).flags.mock!.outputfilename? { true }
37
- mock(ARGV).flags.mock!.outputfilename { output_filename }
38
36
 
39
37
  converter.output_file.should == File.join(Dir.getwd, "#{output_filename}.pdf")
40
38
  end
@@ -52,34 +50,27 @@ describe Gimli::Converter do
52
50
  dir = '/tmp/out'
53
51
 
54
52
  file = Gimli::MarkupFile.new 'fake'
55
- converter = Gimli::Converter.new file
53
+ converter = Gimli::Converter.new file, nil, dir
56
54
 
57
- mock(ARGV).flags.mock!.outputdir? { true }
58
- mock(ARGV).flags.mock!.outputdir { dir }
59
55
  mock(File).directory?(dir) { true }
60
56
 
61
57
  converter.output_dir.should == dir
62
58
  end
63
59
 
64
- it 'should use stylesheet if exists in folder' do
60
+ it 'should use default stylesheet if none given' do
65
61
  file = Gimli::MarkupFile.new 'fake'
66
62
  converter = Gimli::Converter.new file
67
63
 
68
- mock(ARGV).flags.mock!.stylesheet? { false }
69
-
70
64
  converter.stylesheet.should == 'gimli.css'
71
65
  end
72
66
 
73
67
  it 'should use stylesheet if given' do
74
68
  file = Gimli::MarkupFile.new 'fake'
75
- converter = Gimli::Converter.new file
76
-
77
- style = '/home/me/gimli/my-style.css'
69
+ stylesheet = '/home/me/gimli/my-style.css'
78
70
 
79
- mock(ARGV).flags.mock!.stylesheet? { true }
80
- mock(ARGV).flags.mock!.stylesheet { style }
71
+ converter = Gimli::Converter.new file, nil, nil, stylesheet
81
72
 
82
- converter.stylesheet.should == style
73
+ converter.stylesheet.should == stylesheet
83
74
  end
84
75
 
85
76
  it 'should convert relative image urls to absolute' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gimli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-11 00:00:00.000000000 +02:00
13
- default_executable:
12
+ date: 2011-08-25 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: github-markup
17
- requirement: &10022600 !ruby/object:Gem::Requirement
16
+ requirement: &22561440 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 0.5.3
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *10022600
24
+ version_requirements: *22561440
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: redcarpet
28
- requirement: &10022120 !ruby/object:Gem::Requirement
27
+ requirement: &22557940 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: 1.17.2
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *10022120
35
+ version_requirements: *22557940
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: RedCloth
39
- requirement: &10021660 !ruby/object:Gem::Requirement
38
+ requirement: &22556960 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: 4.2.7
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *10021660
46
+ version_requirements: *22556960
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: org-ruby
50
- requirement: &10021200 !ruby/object:Gem::Requirement
49
+ requirement: &22555840 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: 0.5.3
56
55
  type: :runtime
57
56
  prerelease: false
58
- version_requirements: *10021200
57
+ version_requirements: *22555840
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: creole
61
- requirement: &10020740 !ruby/object:Gem::Requirement
60
+ requirement: &22555200 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ~>
@@ -66,10 +65,10 @@ dependencies:
66
65
  version: 0.4.2
67
66
  type: :runtime
68
67
  prerelease: false
69
- version_requirements: *10020740
68
+ version_requirements: *22555200
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: wikicloth
72
- requirement: &10020280 !ruby/object:Gem::Requirement
71
+ requirement: &22554420 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ~>
@@ -77,10 +76,10 @@ dependencies:
77
76
  version: 0.6.3
78
77
  type: :runtime
79
78
  prerelease: false
80
- version_requirements: *10020280
79
+ version_requirements: *22554420
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: albino
83
- requirement: &10019820 !ruby/object:Gem::Requirement
82
+ requirement: &22553060 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
85
  - - ~>
@@ -88,10 +87,10 @@ dependencies:
88
87
  version: 1.3.3
89
88
  type: :runtime
90
89
  prerelease: false
91
- version_requirements: *10019820
90
+ version_requirements: *22553060
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: nokogiri
94
- requirement: &10019360 !ruby/object:Gem::Requirement
93
+ requirement: &22551860 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
96
  - - ~>
@@ -99,10 +98,10 @@ dependencies:
99
98
  version: 1.4.4
100
99
  type: :runtime
101
100
  prerelease: false
102
- version_requirements: *10019360
101
+ version_requirements: *22551860
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: wkhtmltopdf-binary
105
- requirement: &10018900 !ruby/object:Gem::Requirement
104
+ requirement: &22550100 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ~>
@@ -110,10 +109,10 @@ dependencies:
110
109
  version: 0.9.5.3
111
110
  type: :runtime
112
111
  prerelease: false
113
- version_requirements: *10018900
112
+ version_requirements: *22550100
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: pdfkit
116
- requirement: &10018440 !ruby/object:Gem::Requirement
115
+ requirement: &22546560 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
118
  - - ~>
@@ -121,10 +120,10 @@ dependencies:
121
120
  version: 0.5.2
122
121
  type: :runtime
123
122
  prerelease: false
124
- version_requirements: *10018440
123
+ version_requirements: *22546560
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: optiflag
127
- requirement: &10017980 !ruby/object:Gem::Requirement
126
+ requirement: &22545840 !ruby/object:Gem::Requirement
128
127
  none: false
129
128
  requirements:
130
129
  - - ~>
@@ -132,10 +131,21 @@ dependencies:
132
131
  version: '0.7'
133
132
  type: :runtime
134
133
  prerelease: false
135
- version_requirements: *10017980
134
+ version_requirements: *22545840
135
+ - !ruby/object:Gem::Dependency
136
+ name: rake
137
+ requirement: &22545180 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *22545180
136
146
  - !ruby/object:Gem::Dependency
137
147
  name: rspec
138
- requirement: &10017600 !ruby/object:Gem::Requirement
148
+ requirement: &22544200 !ruby/object:Gem::Requirement
139
149
  none: false
140
150
  requirements:
141
151
  - - ! '>='
@@ -143,10 +153,10 @@ dependencies:
143
153
  version: '0'
144
154
  type: :development
145
155
  prerelease: false
146
- version_requirements: *10017600
156
+ version_requirements: *22544200
147
157
  - !ruby/object:Gem::Dependency
148
158
  name: rr
149
- requirement: &10017140 !ruby/object:Gem::Requirement
159
+ requirement: &22543320 !ruby/object:Gem::Requirement
150
160
  none: false
151
161
  requirements:
152
162
  - - ! '>='
@@ -154,10 +164,10 @@ dependencies:
154
164
  version: '0'
155
165
  type: :development
156
166
  prerelease: false
157
- version_requirements: *10017140
167
+ version_requirements: *22543320
158
168
  - !ruby/object:Gem::Dependency
159
169
  name: bundler
160
- requirement: &10016720 !ruby/object:Gem::Requirement
170
+ requirement: &22542540 !ruby/object:Gem::Requirement
161
171
  none: false
162
172
  requirements:
163
173
  - - ! '>='
@@ -165,7 +175,7 @@ dependencies:
165
175
  version: '0'
166
176
  type: :development
167
177
  prerelease: false
168
- version_requirements: *10016720
178
+ version_requirements: *22542540
169
179
  description: Utility for converting markup files to pdf files. Useful for reports
170
180
  etc.
171
181
  email: fredrik.wallgren@gmail.com
@@ -198,7 +208,6 @@ files:
198
208
  - config/style.css
199
209
  - LICENSE
200
210
  - README.textile
201
- has_rdoc: true
202
211
  homepage: https://github.com/walle/gimli
203
212
  licenses: []
204
213
  post_install_message:
@@ -212,15 +221,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
221
  - - ! '>='
213
222
  - !ruby/object:Gem::Version
214
223
  version: '0'
224
+ segments:
225
+ - 0
226
+ hash: 1493974172056676610
215
227
  required_rubygems_version: !ruby/object:Gem::Requirement
216
228
  none: false
217
229
  requirements:
218
230
  - - ! '>='
219
231
  - !ruby/object:Gem::Version
220
232
  version: '0'
233
+ segments:
234
+ - 0
235
+ hash: 1493974172056676610
221
236
  requirements: []
222
237
  rubyforge_project: gimli
223
- rubygems_version: 1.6.2
238
+ rubygems_version: 1.8.6
224
239
  signing_key:
225
240
  specification_version: 3
226
241
  summary: Utility for converting markup files to pdf files.