class Line::Bot::MessageBuilder::Base
Attributes
type[RW]
Public Class Methods
new(type) { || ... }
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 8 def initialize(type) @type = type yield verify_required end
required()
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 14 def self.required { 'type' => String } end
Public Instance Methods
to_h()
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 20 def to_h result = {} instance_values.each do |key, value| camelCase = key.split('_').map.with_index do |str, i| if i == 0 str.downcase else str.capitalize end end.join result[camelCase] = value unless value.nil? end result end
Private Instance Methods
instance_values()
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 37 def instance_values Hash[instance_variables.map { |name| [name[1..-1], instance_variable_get(name)] }] end
verify_instance_value_type(name, type)
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 45 def verify_instance_value_type(name, type) raise TypeError, "@#{name}: #{instance_values[name]}, expect to be #{type}" unless instance_values[name].is_a? type end
verify_required()
click to toggle source
# File lib/line/bot/message_builder/base.rb, line 41 def verify_required self.class.required.each { |key, value| verify_instance_value_type key, value } end