odf-converter 0.0.1 → 0.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.
data/lib/odf/config.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'active_support/configurable'
2
+
3
+ module ODF
4
+ # Configures global settings for ODF
5
+ # ODF.configure do |config|
6
+ # config.port = 3111
7
+ # end
8
+ def self.configure(&block)
9
+ yield @config ||= ODF::Configuration.new
10
+ end
11
+
12
+ # Global settings for ODF::Converter
13
+ def self.config
14
+ @config
15
+ end
16
+
17
+ # need a Class for 3.0
18
+ class Configuration #:nodoc:
19
+ include ActiveSupport::Configurable
20
+
21
+ config_accessor :office_bin
22
+ config_accessor :connection_type
23
+ config_accessor :host
24
+ config_accessor :port
25
+ end
26
+
27
+ # this is ugly. why can't we pass the default value to config_accessor...?
28
+ configure do |config|
29
+ config.office_bin = "soffice"
30
+ config.connection_type = :socket
31
+ config.host = :localhost
32
+ config.port = 2083
33
+ end
34
+ end
@@ -1,7 +1,9 @@
1
+ Uno::PropertyValue = Rubyuno.uno_require "com.sun.star.beans.PropertyValue"
2
+
1
3
  class Hash
2
4
  def to_uno_properties
3
5
  self.inject([]) do |memo, (key, value)|
4
- property = ODF::PropertyValue.new
6
+ property = Uno::PropertyValue.new
5
7
  property.Name = key.to_s
6
8
  property.Value = value.to_s
7
9
  memo << property
@@ -1,5 +1,5 @@
1
1
  module ODF
2
2
  class Converter
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
data/lib/odf/converter.rb CHANGED
@@ -1,21 +1,21 @@
1
1
  require "rubyuno"
2
- require "odf/converter/version"
2
+ require "odf/config"
3
3
  require "odf/converter/families"
4
4
  require "odf/converter/filters/base_filter"
5
5
  require "odf/converter/filters/import"
6
6
  require "odf/converter/filters/export"
7
7
  require "odf/converter/hash"
8
+ require "odf/converter/version"
8
9
 
9
10
  module ODF
10
- PropertyValue = Rubyuno.uno_require "com.sun.star.beans.PropertyValue"
11
-
12
11
  class Converter
13
12
  class DocumentConversionError < Exception; end
14
13
 
15
14
  attr_reader :ctx, :smgr, :desktop, :document
16
15
 
17
16
  def initialize
18
- @ctx = Uno::Connector.bootstrap("soffice", "socket", "localhost", 8100)
17
+ config = ODF.config
18
+ @ctx = Uno::Connector.bootstrap(config.office_bin.to_s, config.connection_type.to_s, config.host.to_s, config.port)
19
19
  @smgr = @ctx.getServiceManager
20
20
  @desktop = @smgr.createInstanceWithContext("com.sun.star.frame.Desktop", @ctx)
21
21
  end
@@ -35,10 +35,14 @@ module ODF
35
35
  perform_conversion(infile, outfile) && outfile
36
36
  end
37
37
 
38
+ def inspect
39
+ "#<#{self.class.name} #{self.class.config.office_bin}@#{self.class.config.host}:#{self.class.config.port}>"
40
+ end
41
+
38
42
  def self.convert(*args)
39
43
  new.convert(*args)
40
44
  end
41
-
45
+
42
46
  private
43
47
  def detect_family(doc)
44
48
  return Families::WEB if doc.supportsService("com.sun.star.text.WebDocument")
data/lib/odf-converter.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  require "rubyuno"
2
+ require "odf/config"
2
3
  require "odf/converter/version"
3
4
  require "odf/converter"
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.version = ODF::Converter::VERSION
17
17
 
18
18
  gem.add_dependency "rubyuno"
19
- gem.add_development_dependency "pry"
20
- gem.add_development_dependency "pry-editline"
19
+ gem.add_dependency 'activesupport', ['>= 3.0.0']
20
+
21
21
  gem.add_development_dependency "rspec"
22
22
  end
@@ -10,7 +10,10 @@ describe ODF::Converter do
10
10
  let(:c) { ODF::Converter.new }
11
11
 
12
12
  describe do
13
- before { c.stub(:perform_conversion) { true } }
13
+ before do
14
+ Uno::Connector.stub_chain(:bootstrap, :getServiceManager, :createInstanceWithContext)
15
+ c.stub(:perform_conversion) { true }
16
+ end
14
17
 
15
18
  it "should raise an error if the to option is not given" do
16
19
  expect { c.convert("infile.txt") }.to raise_error ArgumentError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odf-converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyuno
16
- requirement: &20530940 !ruby/object:Gem::Requirement
16
+ requirement: &22699960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,32 +21,21 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *20530940
24
+ version_requirements: *22699960
25
25
  - !ruby/object:Gem::Dependency
26
- name: pry
27
- requirement: &20530480 !ruby/object:Gem::Requirement
26
+ name: activesupport
27
+ requirement: &22698340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
33
- type: :development
34
- prerelease: false
35
- version_requirements: *20530480
36
- - !ruby/object:Gem::Dependency
37
- name: pry-editline
38
- requirement: &20529660 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
32
+ version: 3.0.0
33
+ type: :runtime
45
34
  prerelease: false
46
- version_requirements: *20529660
35
+ version_requirements: *22698340
47
36
  - !ruby/object:Gem::Dependency
48
37
  name: rspec
49
- requirement: &20528780 !ruby/object:Gem::Requirement
38
+ requirement: &22696080 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
41
  - - ! '>='
@@ -54,7 +43,7 @@ dependencies:
54
43
  version: '0'
55
44
  type: :development
56
45
  prerelease: false
57
- version_requirements: *20528780
46
+ version_requirements: *22696080
58
47
  description: Ruby library for converting ODF files through OO.org
59
48
  email:
60
49
  - dvandersluis@selfmgmt.com
@@ -68,6 +57,7 @@ files:
68
57
  - README.md
69
58
  - Rakefile
70
59
  - lib/odf-converter.rb
60
+ - lib/odf/config.rb
71
61
  - lib/odf/converter.rb
72
62
  - lib/odf/converter/families.rb
73
63
  - lib/odf/converter/filters/base_filter.rb