Class: Embulk::PluginManager

Inherits:
Object
  • Object
show all
Defined in:
lib/embulk/plugin.rb

Instance Method Summary collapse

Constructor Details

#initialize ⇒ PluginManager

Returns a new instance of PluginManager.



19
20
21
22
23
24
# File 'lib/embulk/plugin.rb', line 19

def initialize
  @registries = {}
  %w[input output parser formatter decoder encoder line_filter filter guess].each do |category|
    @registries[category.to_sym] = PluginRegistry.new(category, "embulk/#{category}/")
  end
end

Instance Method Details

#get_guess(type) ⇒ Object

TODO EncoderPlugin::RubyAdapter is not written by anyone yet def get_encoder(type)

TODO not implemented yet

lookup(:encoder, type) end



101
102
103
# File 'lib/embulk/plugin.rb', line 101

def get_guess(type)
  lookup(:guess, type)
end

#new_java_decoder(type) ⇒ Object



167
168
169
# File 'lib/embulk/plugin.rb', line 167

def new_java_decoder(type)
  lookup(:decoder, type).new_java
end

#new_java_encoder(type) ⇒ Object



171
172
173
# File 'lib/embulk/plugin.rb', line 171

def new_java_encoder(type)
  lookup(:encoder, type).new_java
end

#new_java_filter(type) ⇒ Object



155
156
157
# File 'lib/embulk/plugin.rb', line 155

def new_java_filter(type)
  lookup(:filter, type).new_java
end

#new_java_formatter(type) ⇒ Object



163
164
165
# File 'lib/embulk/plugin.rb', line 163

def new_java_formatter(type)
  lookup(:formatter, type).new_java
end

#new_java_guess(type) ⇒ Object



175
176
177
# File 'lib/embulk/plugin.rb', line 175

def new_java_guess(type)
  lookup(:guess, type).new_java
end

#new_java_input(type) ⇒ Object



147
148
149
# File 'lib/embulk/plugin.rb', line 147

def new_java_input(type)
  lookup(:input, type).new_java
end

#new_java_output(type) ⇒ Object



151
152
153
# File 'lib/embulk/plugin.rb', line 151

def new_java_output(type)
  lookup(:output, type).new_java
end

#new_java_parser(type) ⇒ Object



159
160
161
# File 'lib/embulk/plugin.rb', line 159

def new_java_parser(type)
  lookup(:parser, type).new_java
end

#register_filter(type, klass) ⇒ Object



35
36
37
# File 'lib/embulk/plugin.rb', line 35

def register_filter(type, klass)
  register_plugin(:filter, type, klass, FilterPlugin)
end

#register_formatter(type, klass) ⇒ Object



43
44
45
# File 'lib/embulk/plugin.rb', line 43

def register_formatter(type, klass)
  register_plugin(:formatter, type, klass, FormatterPlugin)
end

#register_guess(type, klass) ⇒ Object

TODO EncoderPlugin JRuby API is not written by anyone yet def register_encoder(type, klass) register_plugin(:encoder, type, klass, EncoderPlugin) end



57
58
59
60
# File 'lib/embulk/plugin.rb', line 57

def register_guess(type, klass)
  register_plugin(:guess, type, klass, GuessPlugin,
                 "Guess plugin #{klass} must extend GuessPlugin, LineGuessPlugin, or TextGuessPlugin class")
end

#register_input(type, klass) ⇒ Object



26
27
28
# File 'lib/embulk/plugin.rb', line 26

def register_input(type, klass)
  register_plugin(:input, type, klass, InputPlugin)
end

#register_java_decoder(type, klass) ⇒ Object



132
133
134
135
# File 'lib/embulk/plugin.rb', line 132

def register_java_decoder(type, klass)
  register_java_plugin(:decoder, type, klass,
                       "org.embulk.spi.DecoderPlugin" => DecoderPlugin)
end

#register_java_encoder(type, klass) ⇒ Object



137
138
139
140
# File 'lib/embulk/plugin.rb', line 137

def register_java_encoder(type, klass)
  register_java_plugin(:encoder, type, klass,
                       "org.embulk.spi.EncoderPlugin" => EncoderPlugin)
end

#register_java_filter(type, klass) ⇒ Object



117
118
119
120
# File 'lib/embulk/plugin.rb', line 117

def register_java_filter(type, klass)
  register_java_plugin(:filter, type, klass,
                       "org.embulk.spi.FilterPlugin" => FilterPlugin)
end

#register_java_formatter(type, klass) ⇒ Object



127
128
129
130
# File 'lib/embulk/plugin.rb', line 127

def register_java_formatter(type, klass)
  register_java_plugin(:formatter, type, klass,
                       "org.embulk.spi.FormatterPlugin" => FormatterPlugin)
end

#register_java_guess(type, klass) ⇒ Object



142
143
144
145
# File 'lib/embulk/plugin.rb', line 142

def register_java_guess(type, klass)
  register_java_plugin(:guess, type, klass,
                       "org.embulk.spi.GuessPlugin" => GuessPlugin)
end

#register_java_input(type, klass) ⇒ Object



105
106
107
108
109
# File 'lib/embulk/plugin.rb', line 105

def register_java_input(type, klass)
  register_java_plugin(:input, type, klass,
                       "org.embulk.spi.InputPlugin" => InputPlugin,
                       "org.embulk.spi.FileInputPlugin" => FileInputPlugin)
end

#register_java_output(type, klass) ⇒ Object



111
112
113
114
115
# File 'lib/embulk/plugin.rb', line 111

def register_java_output(type, klass)
  register_java_plugin(:output, type, klass,
                       "org.embulk.spi.OutputPlugin" => OutputPlugin,
                       "org.embulk.spi.FileOutputPlugin" => FileOutputPlugin)
end

#register_java_parser(type, klass) ⇒ Object



122
123
124
125
# File 'lib/embulk/plugin.rb', line 122

def register_java_parser(type, klass)
  register_java_plugin(:parser, type, klass,
                       "org.embulk.spi.ParserPlugin" => ParserPlugin)
end

#register_output(type, klass) ⇒ Object



30
31
32
33
# File 'lib/embulk/plugin.rb', line 30

def register_output(type, klass)
  register_plugin(:output, type, klass, OutputPlugin,
                  "Output plugin #{klass} must extend OutputPlugin")
end

#register_parser(type, klass) ⇒ Object



39
40
41
# File 'lib/embulk/plugin.rb', line 39

def register_parser(type, klass)
  register_plugin(:parser, type, klass, ParserPlugin)
end