class SirTrevorRails::BlockArray
Public Class Methods
from_json(blocks, parent = nil)
click to toggle source
# File lib/sir_trevor_rails/block_array.rb, line 4 def self.from_json(blocks, parent = nil) if blocks.is_a?(String) blocks = MultiJson.load(blocks, symbolize_keys: true) end if blocks.is_a?(Hash) blocks = blocks[:data] || blocks['data'] or raise IndexError, "No block data found" end new blocks.map { |obj| SirTrevorRails::Block.from_hash(obj.deep_symbolize_keys, parent) } end
Public Instance Methods
first_block_of_type(type)
click to toggle source
# File lib/sir_trevor_rails/block_array.rb, line 28 def first_block_of_type(type) klass = Block.block_class(type) detect { |b| b.is_a? klass } end
get_blocks_of_types(types)
click to toggle source
# File lib/sir_trevor_rails/block_array.rb, line 33 def get_blocks_of_types(types) types = [types] unless types.is_a? Array select { |b| types.include?(b.type) } end
has_block_of_type?(type)
click to toggle source
# File lib/sir_trevor_rails/block_array.rb, line 23 def has_block_of_type?(type) klass = Block.block_class(type) any? { |b| b.is_a? klass } end
to_s()
click to toggle source
# File lib/sir_trevor_rails/block_array.rb, line 19 def to_s {data: as_json}.to_json end