Class: DataContract::ContractList
- Inherits:
-
Array
- Object
- Array
- DataContract::ContractList
- Defined in:
- lib/data_contract/contract_list.rb
Instance Attribute Summary collapse
-
#obj ⇒ Object
readonly
Returns the value of attribute obj.
Instance Method Summary collapse
- #[](mod) ⇒ Object
- #assignable(receiver) ⇒ Object
- #get(mod) ⇒ Object
-
#initialize(obj = nil) ⇒ ContractList
constructor
A new instance of ContractList.
- #scatter(receiver, contract_module = nil) ⇒ Object
Constructor Details
#initialize(obj = nil) ⇒ ContractList
Returns a new instance of ContractList.
5 6 7 |
# File 'lib/data_contract/contract_list.rb', line 5 def initialize(obj=nil) @obj = obj end |
Instance Attribute Details
#obj ⇒ Object (readonly)
Returns the value of attribute obj.
3 4 5 |
# File 'lib/data_contract/contract_list.rb', line 3 def obj @obj end |
Instance Method Details
#[](mod) ⇒ Object
15 16 17 |
# File 'lib/data_contract/contract_list.rb', line 15 def [](mod) get mod end |
#assignable(receiver) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/data_contract/contract_list.rb', line 19 def assignable(receiver) assignable_contracts = self.class.new obj each do |contract| if contract.assignable? receiver assignable_contracts << contract end end assignable_contracts end |
#get(mod) ⇒ Object
9 10 11 12 13 |
# File 'lib/data_contract/contract_list.rb', line 9 def get(mod) contract = find { |contract| contract.mod == mod } raise ContractError, "No contract for #{mod.name}" unless contract contract end |
#scatter(receiver, contract_module = nil) ⇒ Object
31 32 33 |
# File 'lib/data_contract/contract_list.rb', line 31 def scatter(receiver, contract_module=nil) Scatter.! self, receiver, contract_module end |