ffi-aspell 0.0.1

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/ffi/aspell.rb ADDED
@@ -0,0 +1,55 @@
1
+ require 'ffi'
2
+
3
+ $:.unshift(File.expand_path('../', __FILE__))
4
+
5
+ require 'aspell/error'
6
+ require 'aspell/speller'
7
+
8
+ module FFI
9
+ ##
10
+ # FFI::Aspell is an FFI binding for the Aspell spell checking library.
11
+ #
12
+ # @since 13-04-2012
13
+ #
14
+ module Aspell
15
+ extend FFI::Library
16
+ ffi_lib 'aspell'
17
+
18
+ # Configuration functions.
19
+ attach_function 'config_new',
20
+ 'new_aspell_config',
21
+ [],
22
+ :pointer
23
+
24
+ attach_function 'config_retrieve',
25
+ 'aspell_config_retrieve',
26
+ [:pointer, :string],
27
+ :string
28
+
29
+ attach_function 'config_get_default',
30
+ 'aspell_config_get_default',
31
+ [:pointer, :string],
32
+ :string
33
+
34
+ attach_function 'config_replace',
35
+ 'aspell_config_replace',
36
+ [:pointer, :string, :string],
37
+ :bool
38
+
39
+ attach_function 'config_remove',
40
+ 'aspell_config_remove',
41
+ [:pointer, :string],
42
+ :bool
43
+
44
+ # Spell checking related functions.
45
+ attach_function 'speller_new',
46
+ 'new_aspell_speller',
47
+ [:pointer],
48
+ :pointer
49
+
50
+ attach_function 'speller_check',
51
+ 'aspell_speller_check',
52
+ [:pointer, :string, :int],
53
+ :bool
54
+ end # Aspell
55
+ end # FFI
@@ -0,0 +1,11 @@
1
+ module FFI
2
+ module Aspell
3
+ ##
4
+ # Error class used by methods such as {FFI::Aspell::Speller#get} and
5
+ # {FFI::Aspell::Speller#set}.
6
+ #
7
+ # @since 13-04-2012
8
+ #
9
+ class ConfigError < StandardError; end
10
+ end # Aspell
11
+ end # FFI
@@ -0,0 +1,61 @@
1
+ module FFI
2
+ module Aspell
3
+ ##
4
+ # The Speller class is used for spell checking individual words as well as
5
+ # generating a list of suggestions.
6
+ #
7
+ # @since 13-04-2012
8
+ #
9
+ class Speller
10
+ ##
11
+ # Creates a new instance of the class, sets the language as well as the
12
+ # options specified in the `options` hash.
13
+ #
14
+ # @since 13-04-2012
15
+ # @param [String] language The language to use.
16
+ # @param [Hash] options A hash containing extra configuration options,
17
+ # such as the "personal" option to set.
18
+ #
19
+ def initialize(language, options = {})
20
+
21
+ end
22
+
23
+ ##
24
+ # Checks if the given word is correct or not.
25
+ #
26
+ # @since 13-04-2012
27
+ # @param [String] word The word to check.
28
+ # @return [TrueClass|FalseClass]
29
+ #
30
+ def correct?(word)
31
+
32
+ end
33
+
34
+ ##
35
+ # Sets a configuration option.
36
+ #
37
+ # @since 13-04-2012
38
+ # @param [#to_s] key The configuration key to set.
39
+ # @param [#to_s] value The value of the configuration key.
40
+ # @raise [FFI::Aspell::ConfigError] Raised when the configuration value
41
+ # could not be set.
42
+ #
43
+ def set(key, value)
44
+
45
+ end
46
+
47
+ ##
48
+ # Retrieves the value of the specified configuration item.
49
+ #
50
+ # @since 13-04-2012
51
+ # @param [String] key The configuration key to retrieve.
52
+ # @return [String]
53
+ # @raise [FFI::Aspell::ConfigError] Raised when the configuration item
54
+ # does not exist.
55
+ #
56
+ def get(key)
57
+
58
+ end
59
+ end # Speller
60
+ end # Aspell
61
+ end # FFI
@@ -0,0 +1,5 @@
1
+ module FFI
2
+ module Aspell
3
+ VERSION = '0.0.1'
4
+ end # Aspell
5
+ end # FFI
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ffi-aspell
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Yorick Peterse
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: ffi
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.0.11
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.0.11
30
+ - !ruby/object:Gem::Dependency
31
+ name: yard
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.7.5
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.7.5
46
+ - !ruby/object:Gem::Dependency
47
+ name: redcarpet
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.1.1
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: bacon
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.1.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.0
78
+ description: FFI bindings for Aspell
79
+ email: yorickpeterse@gmail.com
80
+ executables: []
81
+ extensions: []
82
+ extra_rdoc_files: []
83
+ files:
84
+ - ./lib/ffi/aspell.rb
85
+ - ./lib/ffi/aspell/version.rb
86
+ - ./lib/ffi/aspell/error.rb
87
+ - ./lib/ffi/aspell/speller.rb
88
+ homepage: https://github.com/YorickPeterse/ffi-aspell
89
+ licenses: []
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubyforge_project:
108
+ rubygems_version: 1.8.19
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: FFI bindings for Aspell
112
+ test_files: []
113
+ has_rdoc: yard