Module: Beefcake::Message::Dsl
- Defined in:
- lib/beefcake.rb
Instance Method Summary collapse
- #field(rule, name, type, fn, opts) ⇒ Object
- #fields ⇒ Object
- #optional(name, type, fn, opts = {}) ⇒ Object
- #repeated(name, type, fn, opts = {}) ⇒ Object
- #required(name, type, fn, opts = {}) ⇒ Object
Instance Method Details
#field(rule, name, type, fn, opts) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/beefcake.rb', line 52 def field(rule, name, type, fn, opts) if fields.include?(fn) raise DuplicateFieldNumber.new(fn, name) end fields[fn] = Field.new(rule, name, type, fn, opts) attr_accessor name end |
#fields ⇒ Object
60 61 62 |
# File 'lib/beefcake.rb', line 60 def fields @fields ||= {} end |
#optional(name, type, fn, opts = {}) ⇒ Object
48 49 50 |
# File 'lib/beefcake.rb', line 48 def optional(name, type, fn, opts={}) field(:optional, name, type, fn, opts) end |
#repeated(name, type, fn, opts = {}) ⇒ Object
44 45 46 |
# File 'lib/beefcake.rb', line 44 def repeated(name, type, fn, opts={}) field(:repeated, name, type, fn, opts) end |
#required(name, type, fn, opts = {}) ⇒ Object
40 41 42 |
# File 'lib/beefcake.rb', line 40 def required(name, type, fn, opts={}) field(:required, name, type, fn, opts) end |