Sha256: afb44f2968afec55fa2500e708837ead05e706afc846af798d0c7d0009fd381d

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

# Copyright (C) 2016  Kouhei Sutou <kou@clear-code.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

require "groonga/command/parser"

module GroongaClientModel
  class SchemaLoader
    class << self
      def default_path
        "db/schema.grn"
      end
    end

    def initialize(schema)
      @schema = schema
    end

    def load
      Client.open do |client|
        parser = Groonga::Command::Parser.new
        parser.on_command do |command|
          client.execute(command)
        end
        @schema.each_line do |line|
          parser << line
        end
        parser.finish
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
groonga-client-model-6.0.1 lib/groonga_client_model/schema_loader.rb
groonga-client-model-6.0.0 lib/groonga_client_model/schema_loader.rb
groonga-client-model-1.0.2 lib/groonga_client_model/schema_loader.rb