Module: CollectionClassMethods
- Defined in:
- lib/ProMotion/collection/collection_class_methods.rb
Instance Method Summary collapse
- #cell_classes(options = {}) ⇒ Object
- #collection_layout(klass, options = {}) ⇒ Object
- #get_cell_classes ⇒ Object
- #get_collection_layout ⇒ Object
- #map_layout_direction(symbol) ⇒ Object
Instance Method Details
#cell_classes(options = {}) ⇒ Object
31 32 33 |
# File 'lib/ProMotion/collection/collection_class_methods.rb', line 31 def cell_classes(={}) @cell_classes = end |
#collection_layout(klass, options = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/ProMotion/collection/collection_class_methods.rb', line 3 def collection_layout(klass, ={}) @layout = klass.new @layout.scrollDirection = map_layout_direction(.fetch(:direction, :vertical)) @layout.minimumLineSpacing = [:minimum_line_spacing] if .has_key?(:minimum_line_spacing) @layout.minimumInteritemSpacing = [:minimum_interitem_spacing] if .has_key?(:minimum_interitem_spacing) @layout.itemSize = [:item_size] if .has_key?(:item_size) @layout.estimatedItemSize = [:estimated_item_size] if .has_key?(:estimated_item_size) and @layout.respond_to?(:estimatedItemSize) @layout.sectionInset = [:section_inset] if .has_key?(:section_inset) @layout end |
#get_cell_classes ⇒ Object
35 36 37 |
# File 'lib/ProMotion/collection/collection_class_methods.rb', line 35 def get_cell_classes @cell_classes || nil end |
#get_collection_layout ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/ProMotion/collection/collection_class_methods.rb', line 15 def get_collection_layout @layout ||= begin layout = UICollectionViewFlowLayout.new layout.scrollDirection = UICollectionViewScrollDirectionHorizontal layout end end |
#map_layout_direction(symbol) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/ProMotion/collection/collection_class_methods.rb', line 24 def map_layout_direction(symbol) { horizontal: UICollectionViewScrollDirectionHorizontal, vertical: UICollectionViewScrollDirectionVertical }[symbol] || symbol || UICollectionViewScrollDirectionVertical end |