Module: Svnx::ObjectUtil

Extended by:
ClassMethods
Included in:
Base::Options
Defined in:
lib/svnx/util/objutil.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ClassMethods

attr_readers, xhas_fields

Class Method Details

.included(other) ⇒ Object



50
51
52
# File 'lib/svnx/util/objutil.rb', line 50

def self.included other
  other.extend ClassMethods
end

Instance Method Details

#assign(args, symbols = Array.new) ⇒ Object

shortcut for “@var = args”, for multiple variable names, which are symbols.



7
8
9
10
11
# File 'lib/svnx/util/objutil.rb', line 7

def assign args, symbols = Array.new
  symbols.each do |symbol|
    instance_variable_set "@" + symbol.to_s, args[symbol]
  end
end

#create_invalid_fields_message(fields) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/svnx/util/objutil.rb', line 19

def create_invalid_fields_message fields
  Array.new.tap do |a|
    a << "invalid"
    a << (fields.size == 1 ? "field" : "fields" )
    a << "for"
    a << self.class.to_s + ":"
    a.concat fields
  end.join(" ")
end

#validate(args, valid = Array.new) ⇒ Object

raises an exception if any element in args is not in valid.



14
15
16
17
# File 'lib/svnx/util/objutil.rb', line 14

def validate args, valid = Array.new
  invalid = args.keys.reject { |field| valid.include? field }
  invalid.empty? || raise(create_invalid_fields_message invalid)
end