Module: DataContract::Implementation

Defined in:
lib/data_contract/implementation.rb

Instance Method Summary collapse

Instance Method Details

#gettersObject



15
16
17
# File 'lib/data_contract/implementation.rb', line 15

def getters
  contract_module.instance_methods(false).select { |m| m.to_s[-1, 1] != '=' }
end

#scatter(target) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/data_contract/implementation.rb', line 3

def scatter(target)
  setters.each do |setter|
    getter = setter[0...-1]
    val = send getter
    target.send setter, val
  end
end

#settersObject



11
12
13
# File 'lib/data_contract/implementation.rb', line 11

def setters
  contract_module.instance_methods(false).select { |m| m.to_s[-1, 1] == '=' }
end

#shared_contract?(other) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
# File 'lib/data_contract/implementation.rb', line 19

def shared_contract?(other)
  contract_module.instance_methods(false).each do |m|
    return false unless other.respond_to? m
  end
  return true
end