Module: Binenc::Java::SBLDSL

Includes:
TR::CondUtils
Included in:
SBLFactory
Defined in:
lib/binenc/factory/sbl_factory/sbl_dsl.rb

Overview

Simple Binary Layout Domain Specific Language (DSL)

Instance Method Summary collapse

Instance Method Details

#bin(*args) ⇒ Object

Raises:

  • (BinencEngineException)


11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 11

def bin(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :bin
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
end

#date(*args) ⇒ Object Also known as: time

Raises:

  • (BinencEngineException)


68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 68

def date(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :time
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
end

#int(*args) ⇒ Object

Raises:

  • (BinencEngineException)


25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 25

def int(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :int
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
end

#oid(*args) ⇒ Object

Raises:

  • (BinencEngineException)


39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 39

def oid(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :bin
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
 
end

#seq(*args) ⇒ Object

Raises:

  • (BinencEngineException)


83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 83

def seq(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :seq
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
end

#str(*args) ⇒ Object

Raises:

  • (BinencEngineException)


54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/binenc/factory/sbl_factory/sbl_dsl.rb', line 54

def str(*args)
  name = args.first
  val = args[1]

  raise BinencEngineException, "Name '#{name}' already defined" if keyRegister.keys.include?(name)

  # register name with field type
  keyRegister[name] = :str
  # create instance method dynamically with given name
  create_instance_method(name, val)
  # keep the name in sequence as in the layout
  structure << name
end