Sha256: f44a657b718420f8db564f4fb3667466e8648988492b560c359d03daaae7ad7b
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
module Mongoid module Shell module Commands class Base attr_accessor :session class << self def command_for(session) new(session: session) end end def initialize(options = nil) options ||= {} options[:session] ||= Mongoid.default_session options.each do |sym, val| send "#{sym}=", val end raise Mongoid::Shell::Errors::MissingSessionError unless @session end def cmd self.class.name.downcase.split(':').last end def vargs(args = {}) args.map do |key, property| value = send(property) next unless value if value.is_a?(Boolean) || value.is_a?(TrueClass) key else value = value.to_s # TODO: quote other special characters? value = '"' + value + '"' if value.include? ' ' key[0] == '-' ? "#{key} #{value}" : value end end end def to_s [cmd, vargs].flatten.compact.join(" ") end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-shell-0.3.0 | lib/mongoid/shell/commands/base.rb |