diff options
Diffstat (limited to 'src/arrow/ruby/red-plasma/lib')
-rw-r--r-- | src/arrow/ruby/red-plasma/lib/plasma.rb | 29 | ||||
-rw-r--r-- | src/arrow/ruby/red-plasma/lib/plasma/client.rb | 35 | ||||
-rw-r--r-- | src/arrow/ruby/red-plasma/lib/plasma/loader.rb | 35 | ||||
-rw-r--r-- | src/arrow/ruby/red-plasma/lib/plasma/version.rb | 26 |
4 files changed, 125 insertions, 0 deletions
diff --git a/src/arrow/ruby/red-plasma/lib/plasma.rb b/src/arrow/ruby/red-plasma/lib/plasma.rb new file mode 100644 index 000000000..c8b4aa872 --- /dev/null +++ b/src/arrow/ruby/red-plasma/lib/plasma.rb @@ -0,0 +1,29 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +require "arrow" + +require "plasma/version" + +require "plasma/loader" + +module Plasma + class Error < StandardError + end + + Loader.load +end diff --git a/src/arrow/ruby/red-plasma/lib/plasma/client.rb b/src/arrow/ruby/red-plasma/lib/plasma/client.rb new file mode 100644 index 000000000..d32ded6ff --- /dev/null +++ b/src/arrow/ruby/red-plasma/lib/plasma/client.rb @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +module Plasma + class Client + alias_method :initialize_raw, :initialize + private :initialize_raw + def initialize(socket_path, options=nil) + socket_path = socket_path.to_path if socket_path.respond_to?(:to_path) + if options + options_raw = options + options = ClientOptions.new + options_raw.each do |key, value| + setter = "#{key}=" + options.__send__(setter, value) if options.respond_to?(setter) + end + end + initialize_raw(socket_path, options) + end + end +end diff --git a/src/arrow/ruby/red-plasma/lib/plasma/loader.rb b/src/arrow/ruby/red-plasma/lib/plasma/loader.rb new file mode 100644 index 000000000..f9125a6f6 --- /dev/null +++ b/src/arrow/ruby/red-plasma/lib/plasma/loader.rb @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +module Plasma + class Loader < GObjectIntrospection::Loader + class << self + def load + super("Plasma", Plasma) + end + end + + private + def post_load(repository, namespace) + require_libraries + end + + def require_libraries + require "plasma/client" + end + end +end diff --git a/src/arrow/ruby/red-plasma/lib/plasma/version.rb b/src/arrow/ruby/red-plasma/lib/plasma/version.rb new file mode 100644 index 000000000..36ead51cb --- /dev/null +++ b/src/arrow/ruby/red-plasma/lib/plasma/version.rb @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +module Plasma + VERSION = "6.0.1" + + module Version + numbers, TAG = VERSION.split("-") + MAJOR, MINOR, MICRO = numbers.split(".").collect(&:to_i) + STRING = VERSION + end +end |