Module: Contracts::Attrs

Included in:
Contracts
Defined in:
lib/contracts/attrs.rb

Instance Method Summary collapse

Instance Method Details

#attr_accessor_with_contract(*names, contract) ⇒ Object


19
20
21
22
# File 'lib/contracts/attrs.rb', line 19

def attr_accessor_with_contract(*names, contract)
  attr_reader_with_contract(*names, contract)
  attr_writer_with_contract(*names, contract)
end

#attr_reader_with_contract(*names, contract) ⇒ Object


5
6
7
8
9
10
# File 'lib/contracts/attrs.rb', line 5

def attr_reader_with_contract(*names, contract)
  names.each do |name|
    Contract Contracts::None => contract
    attr_reader(name)
  end
end

#attr_writer_with_contract(*names, contract) ⇒ Object


12
13
14
15
16
17
# File 'lib/contracts/attrs.rb', line 12

def attr_writer_with_contract(*names, contract)
  names.each do |name|
    Contract contract => contract
    attr_writer(name)
  end
end