Class: Xap::Schema::XapBscBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/xap/schema/xap_bsc.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(is_input, index, hash) ⇒ XapBscBlock

is_input - Whether this is an input block or an output block index - If not nil, the block’s index (0-based) hash - The block’s hash of key-value pairs from @blocks – this will be modified to



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/xap/schema/xap_bsc.rb', line 16

def initialize is_input, index, hash
	@is_input = is_input
	@index = index
	@hash = hash

	@hash.clone.each do |k, v|
		case k.downcase
		when 'state'
			@hash.delete k
			set_state v
		when 'level'
			@hash.delete k
			set_level v
		when 'text'
			@hash.delete k
			self.text = v
		when 'displaytext'
			@hash.delete k
			self.display_text = v
		when 'id'
			@hash.delete k
			self.id = v.upcase
		end
	end
end

Instance Attribute Details

#display_textObject

Returns the value of attribute display_text.



10
11
12
# File 'lib/xap/schema/xap_bsc.rb', line 10

def display_text
  @display_text
end

#idObject

Returns the value of attribute id.



10
11
12
# File 'lib/xap/schema/xap_bsc.rb', line 10

def id
  @id
end

#levelObject

Returns the value of attribute level.



10
11
12
# File 'lib/xap/schema/xap_bsc.rb', line 10

def level
  @level
end

#stateObject

Returns the value of attribute state.



10
11
12
# File 'lib/xap/schema/xap_bsc.rb', line 10

def state
  @state
end

#textObject

Returns the value of attribute text.



10
11
12
# File 'lib/xap/schema/xap_bsc.rb', line 10

def text
  @text
end

Instance Method Details

#blocknameObject

Returns ‘input.state(.nn)’ for input messages, ‘output.state(.nn)’ for output messages



104
105
106
107
108
# File 'lib/xap/schema/xap_bsc.rb', line 104

def blockname
	s = @is_input ? 'input.state' : 'output.state'
	s << ".#{@index + 1}" if @index
	s
end

#inspectObject

Returns a human-readable string description of this block.



111
112
113
# File 'lib/xap/schema/xap_bsc.rb', line 111

def inspect
	"Name: #{blockname} ID: #{id} State: #{state} Level: #{level} Text: #{text} DisplayText: #{display_text}"
end